@wix/cli 1.1.162 → 1.1.164
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/build/{ConnectWixVibeCommand-GZM2BJVW.js → ConnectWixVibeCommand-4XHLQYZ5.js} +20 -20
- package/build/{DevCommand-IHLJIGCS.js → DevCommand-ASNRXLTZ.js} +23 -24
- package/build/{DevCommand-IHLJIGCS.js.map → DevCommand-ASNRXLTZ.js.map} +1 -1
- package/build/{DevCommand-POGXYBHH.js → DevCommand-SJBSOK7T.js} +18 -18
- package/build/{DevCommand-MTZ46PZQ.js → DevCommand-THGMHHIF.js} +22 -23
- package/build/{DevCommand-MTZ46PZQ.js.map → DevCommand-THGMHHIF.js.map} +1 -1
- package/build/EnvPullCommand-GRDIMTLW.js +29 -0
- package/build/{EnvRemoveCommand-3QDI5QXP.js → EnvRemoveCommand-6GI7RH2R.js} +14 -14
- package/build/{EnvSetCommand-Y4JMQX5W.js → EnvSetCommand-Q7GEW4RY.js} +14 -14
- package/build/{GenerateCommand-EFRVZD4J.js → GenerateCommand-HVYR5MHK.js} +17 -18
- package/build/{GenerateCommand-EFRVZD4J.js.map → GenerateCommand-HVYR5MHK.js.map} +1 -1
- package/build/{InstallCommand-LJUPLKMR.js → InstallCommand-G5FXBH5Q.js} +20 -20
- package/build/{LoginCommand-2EOCKUKN.js → LoginCommand-ORVYJYOS.js} +21 -12
- package/build/LoginCommand-ORVYJYOS.js.map +1 -0
- package/build/{LogoutCommand-ZVIHWCRX.js → LogoutCommand-G47JBBFS.js} +9 -9
- package/build/{PreviewCommand-MGYVAWPC.js → PreviewCommand-DGMBSICC.js} +22 -22
- package/build/{PreviewCommand-O4CKUQVC.js → PreviewCommand-OBBFJGUQ.js} +22 -22
- package/build/PreviewCommand-YLPWZEMC.js +43 -0
- package/build/{PromoteCommand-MCKKRXGO.js → PromoteCommand-PLVURYER.js} +23 -24
- package/build/{PromoteCommand-MCKKRXGO.js.map → PromoteCommand-PLVURYER.js.map} +1 -1
- package/build/{PublishCommand-7UDY3YX5.js → PublishCommand-G5HWA5PZ.js} +22 -22
- package/build/{ReleaseCommand-OX2OUZ7W.js → ReleaseCommand-NNWGUEYK.js} +24 -25
- package/build/{ReleaseCommand-OX2OUZ7W.js.map → ReleaseCommand-NNWGUEYK.js.map} +1 -1
- package/build/TranslationPullCommand-FS3QN74M.js +29 -0
- package/build/TranslationPushCommand-NEOH52KG.js +30 -0
- package/build/{UninstallCommand-BAQJ6HNB.js → UninstallCommand-EFF46BDP.js} +20 -20
- package/build/{WhoamiCommand-FUJMEXWC.js → WhoamiCommand-DF33ENPJ.js} +4 -4
- package/build/chunk-2ANZIGHU.js +105 -0
- package/build/chunk-2ANZIGHU.js.map +1 -0
- package/build/{chunk-DPJYSQSN.js → chunk-2XEZHOLA.js} +5 -5
- package/build/{chunk-YA2DF5A6.js → chunk-3PEVLNRY.js} +2 -1
- package/build/{chunk-YA2DF5A6.js.map → chunk-3PEVLNRY.js.map} +1 -1
- package/build/{chunk-JEU6SJVE.js → chunk-5SEWR3PB.js} +5 -6
- package/build/chunk-5SEWR3PB.js.map +1 -0
- package/build/{chunk-EICIL6XT.js → chunk-5UJEY4Q7.js} +2 -2
- package/build/{chunk-WDXANXXO.js → chunk-66HL2PNX.js} +4 -2
- package/build/chunk-66HL2PNX.js.map +1 -0
- package/build/{chunk-GSO2OENC.js → chunk-66I4J42K.js} +7 -7
- package/build/{chunk-HRZWURZ7.js → chunk-6DZD7DRZ.js} +3 -3
- package/build/{chunk-JGRJQSRZ.js → chunk-6NF2HKQS.js} +2 -2
- package/build/{chunk-Y4PPMYXL.js → chunk-6USOQTB4.js} +2 -2
- package/build/{chunk-ZJ2JSHSQ.js → chunk-6XF3DDZW.js} +7 -7
- package/build/{chunk-JYJC52KV.js → chunk-7MVNTDAN.js} +8 -8
- package/build/{chunk-P7DWJGFN.js → chunk-BTHY3ZNU.js} +8 -8
- package/build/{chunk-XMXQ64GU.js → chunk-BYULDYFN.js} +5 -5
- package/build/{chunk-GXMSV4HT.js → chunk-C3LL76ZH.js} +4 -4
- package/build/{chunk-ZNBWZUQQ.js → chunk-C7POGZVN.js} +3 -3
- package/build/{chunk-REKK2OPM.js → chunk-CWUGUMMQ.js} +10 -10
- package/build/{chunk-LE3SM7RD.js → chunk-DKSRO7VG.js} +3 -3
- package/build/{chunk-KZQCUU7O.js → chunk-DNUQORQC.js} +4 -4
- package/build/{chunk-NTSKP6JZ.js → chunk-EFXBT7NB.js} +2 -2
- package/build/{chunk-LEKNX4UD.js → chunk-ELREEQRR.js} +6 -6
- package/build/{chunk-2XGTYRGY.js → chunk-F6VIKSMX.js} +3 -3
- package/build/{chunk-3EBCS7OL.js → chunk-G4TKXSB6.js} +4 -4
- package/build/{chunk-5EDINUD6.js → chunk-GJ27N3WF.js} +4 -4
- package/build/{chunk-E4VJBLJV.js → chunk-H2CDITJN.js} +4 -4
- package/build/{chunk-7PGFDSUE.js → chunk-JYNRLKFA.js} +2 -2
- package/build/{chunk-X5V2JOK7.js → chunk-KXGHA3TO.js} +4 -4
- package/build/{chunk-WMCHVSMU.js → chunk-LZKP5LN2.js} +36 -12
- package/build/chunk-LZKP5LN2.js.map +1 -0
- package/build/{chunk-OKJMVIRM.js → chunk-MAATDIDJ.js} +3 -3
- package/build/{chunk-RSL55MAQ.js → chunk-NVF2BV46.js} +17 -21
- package/build/chunk-NVF2BV46.js.map +1 -0
- package/build/{chunk-EH7XGC6N.js → chunk-OCYXX3Z5.js} +2 -2
- package/build/{chunk-EKIVV2LE.js → chunk-OG42BXOB.js} +6 -6
- package/build/chunk-OG42BXOB.js.map +1 -0
- package/build/{chunk-L44BZKAP.js → chunk-OM2JULO3.js} +9 -9
- package/build/{chunk-HMYE5P5S.js → chunk-ORKRBQNO.js} +7 -5
- package/build/{chunk-HMYE5P5S.js.map → chunk-ORKRBQNO.js.map} +1 -1
- package/build/{chunk-QIB67OE6.js → chunk-ORZLBFKW.js} +5 -5
- package/build/{chunk-4NCQ63AG.js → chunk-OT7REYUY.js} +4 -4
- package/build/{chunk-7WINPKBT.js → chunk-P6QBPX6M.js} +3 -3
- package/build/{chunk-N3M7MJJF.js → chunk-PNF6FZJ3.js} +3 -3
- package/build/{chunk-3YJXKQBT.js → chunk-PQ6JKRN6.js} +7 -7
- package/build/{chunk-O7YLCWI5.js → chunk-QLJR2J2W.js} +9 -9
- package/build/{chunk-FUCZMIJE.js → chunk-RBJW2W34.js} +2 -2
- package/build/{chunk-AAC7Q5IA.js → chunk-SUXCR67B.js} +7 -7
- package/build/{chunk-GJPBL3NK.js → chunk-SVZPDYZV.js} +3 -3
- package/build/{chunk-H5IYD2UO.js → chunk-TL4PSTZ7.js} +2 -2
- package/build/{chunk-ZYUKHN7N.js → chunk-TLECWCRL.js} +7 -7
- package/build/{chunk-JSGUJDS3.js → chunk-TVHQ5HIS.js} +550 -421
- package/build/chunk-TVHQ5HIS.js.map +1 -0
- package/build/{chunk-GPV26EWK.js → chunk-UWJIJB7T.js} +15 -15
- package/build/{chunk-G6P33ZGR.js → chunk-W7ECM3AU.js} +2 -2
- package/build/{chunk-CEMO64GF.js → chunk-WQOKSYYM.js} +2 -2
- package/build/{chunk-GFZU5OPF.js → chunk-WS7F7UM2.js} +8 -8
- package/build/{chunk-MQC2BZ7W.js → chunk-XNPJVGQN.js} +6 -6
- package/build/{chunk-SOOXGPJM.js → chunk-XUVPP4PG.js} +10 -10
- package/build/{chunk-C5PTSUGF.js → chunk-YAAQDCIO.js} +2 -2
- package/build/{chunk-SSQMNRLT.js → chunk-Z5HGNDCN.js} +7 -7
- package/build/{dev-ZDHKXB6F.js → dev-WRULFOWC.js} +25 -26
- package/build/{dev-ZDHKXB6F.js.map → dev-WRULFOWC.js.map} +1 -1
- package/build/{env-pull-QFBMIIRV.js → env-pull-JTSHQRDF.js} +17 -17
- package/build/index.js +52 -31
- package/build/index.js.map +1 -1
- package/build/{install-MPMCQDPG.js → install-3B5536Q6.js} +18 -18
- package/build/{preview-YKV5EWM4.js → preview-CHQVNH7H.js} +25 -26
- package/build/{preview-YKV5EWM4.js.map → preview-CHQVNH7H.js.map} +1 -1
- package/build/{publish-QOTPZCMC.js → publish-CNBOHWDW.js} +19 -19
- package/build/{render-command-OY2PNJAU.js → render-command-7L5DLT6D.js} +19 -19
- package/build/render-command-7L5DLT6D.js.map +1 -0
- package/build/{render-command-XHK2T2CY.js → render-command-ASCI3VTA.js} +14 -14
- package/build/render-command-UIF4VGNQ.js +31 -0
- package/build/{render-command-I756BW6A.js → render-command-UOJMGM4A.js} +17 -18
- package/build/render-command-UOJMGM4A.js.map +1 -0
- package/build/{render-command-B33ZAPE2.js → render-command-XYRBD357.js} +15 -15
- package/build/run-command-V7CNIYRU.js +22 -0
- package/build/{src-NZ5MTHG5.js → src-CQTHKU3D.js} +15 -15
- package/build/{src-RSS2KIVG.js → src-FWHVER5E.js} +18 -18
- package/build/{src-COWESTMT.js → src-GP7BHIGX.js} +7 -7
- package/build/{src-X4XCTWJQ.js → src-IXN4BZKI.js} +2 -2
- package/build/{src-NFPLXAQF.js → src-J4QVC3AN.js} +11 -9
- package/build/{src-PSLCPHEL.js → src-N3WPT255.js} +45 -60
- package/build/{src-PSLCPHEL.js.map → src-N3WPT255.js.map} +1 -1
- package/build/{src-7C4GHGYZ.js → src-NI55CHWW.js} +6 -6
- package/build/{src-42NHSBW5.js → src-PNY4FBX3.js} +4 -4
- package/build/{sync-types-TG7SH3UH.js → sync-types-T2R62G7D.js} +14 -14
- package/build/{translation-pull-SORARTJZ.js → translation-pull-IYMWFFVE.js} +17 -17
- package/build/{translation-push-ZAHQXD2A.js → translation-push-B5UHZA5C.js} +18 -19
- package/build/{translation-push-ZAHQXD2A.js.map → translation-push-B5UHZA5C.js.map} +1 -1
- package/build/{uninstall-432A7W5U.js → uninstall-3WIANACC.js} +18 -18
- package/package.json +4 -3
- package/build/EnvPullCommand-OXO3VW3F.js +0 -29
- package/build/LoginCommand-2EOCKUKN.js.map +0 -1
- package/build/PreviewCommand-T5AARIDY.js +0 -44
- package/build/TranslationPullCommand-OW5P7WQQ.js +0 -29
- package/build/TranslationPushCommand-4GYA7S5J.js +0 -31
- package/build/chunk-5KG46TLQ.js +0 -109
- package/build/chunk-5KG46TLQ.js.map +0 -1
- package/build/chunk-EKIVV2LE.js.map +0 -1
- package/build/chunk-JEU6SJVE.js.map +0 -1
- package/build/chunk-JSGUJDS3.js.map +0 -1
- package/build/chunk-RSL55MAQ.js.map +0 -1
- package/build/chunk-SC2W3WT3.js +0 -36
- package/build/chunk-SC2W3WT3.js.map +0 -1
- package/build/chunk-WDXANXXO.js.map +0 -1
- package/build/chunk-WMCHVSMU.js.map +0 -1
- package/build/render-command-AENKFQBD.js +0 -31
- package/build/render-command-I756BW6A.js.map +0 -1
- package/build/render-command-OY2PNJAU.js.map +0 -1
- package/build/run-command-GNQUXT4K.js +0 -22
- /package/build/{ConnectWixVibeCommand-GZM2BJVW.js.map → ConnectWixVibeCommand-4XHLQYZ5.js.map} +0 -0
- /package/build/{DevCommand-POGXYBHH.js.map → DevCommand-SJBSOK7T.js.map} +0 -0
- /package/build/{EnvPullCommand-OXO3VW3F.js.map → EnvPullCommand-GRDIMTLW.js.map} +0 -0
- /package/build/{EnvRemoveCommand-3QDI5QXP.js.map → EnvRemoveCommand-6GI7RH2R.js.map} +0 -0
- /package/build/{EnvSetCommand-Y4JMQX5W.js.map → EnvSetCommand-Q7GEW4RY.js.map} +0 -0
- /package/build/{InstallCommand-LJUPLKMR.js.map → InstallCommand-G5FXBH5Q.js.map} +0 -0
- /package/build/{LogoutCommand-ZVIHWCRX.js.map → LogoutCommand-G47JBBFS.js.map} +0 -0
- /package/build/{PreviewCommand-MGYVAWPC.js.map → PreviewCommand-DGMBSICC.js.map} +0 -0
- /package/build/{PreviewCommand-O4CKUQVC.js.map → PreviewCommand-OBBFJGUQ.js.map} +0 -0
- /package/build/{PreviewCommand-T5AARIDY.js.map → PreviewCommand-YLPWZEMC.js.map} +0 -0
- /package/build/{PublishCommand-7UDY3YX5.js.map → PublishCommand-G5HWA5PZ.js.map} +0 -0
- /package/build/{TranslationPullCommand-OW5P7WQQ.js.map → TranslationPullCommand-FS3QN74M.js.map} +0 -0
- /package/build/{TranslationPushCommand-4GYA7S5J.js.map → TranslationPushCommand-NEOH52KG.js.map} +0 -0
- /package/build/{UninstallCommand-BAQJ6HNB.js.map → UninstallCommand-EFF46BDP.js.map} +0 -0
- /package/build/{WhoamiCommand-FUJMEXWC.js.map → WhoamiCommand-DF33ENPJ.js.map} +0 -0
- /package/build/{chunk-DPJYSQSN.js.map → chunk-2XEZHOLA.js.map} +0 -0
- /package/build/{chunk-EICIL6XT.js.map → chunk-5UJEY4Q7.js.map} +0 -0
- /package/build/{chunk-GSO2OENC.js.map → chunk-66I4J42K.js.map} +0 -0
- /package/build/{chunk-HRZWURZ7.js.map → chunk-6DZD7DRZ.js.map} +0 -0
- /package/build/{chunk-JGRJQSRZ.js.map → chunk-6NF2HKQS.js.map} +0 -0
- /package/build/{chunk-Y4PPMYXL.js.map → chunk-6USOQTB4.js.map} +0 -0
- /package/build/{chunk-ZJ2JSHSQ.js.map → chunk-6XF3DDZW.js.map} +0 -0
- /package/build/{chunk-JYJC52KV.js.map → chunk-7MVNTDAN.js.map} +0 -0
- /package/build/{chunk-P7DWJGFN.js.map → chunk-BTHY3ZNU.js.map} +0 -0
- /package/build/{chunk-XMXQ64GU.js.map → chunk-BYULDYFN.js.map} +0 -0
- /package/build/{chunk-GXMSV4HT.js.map → chunk-C3LL76ZH.js.map} +0 -0
- /package/build/{chunk-ZNBWZUQQ.js.map → chunk-C7POGZVN.js.map} +0 -0
- /package/build/{chunk-REKK2OPM.js.map → chunk-CWUGUMMQ.js.map} +0 -0
- /package/build/{chunk-LE3SM7RD.js.map → chunk-DKSRO7VG.js.map} +0 -0
- /package/build/{chunk-KZQCUU7O.js.map → chunk-DNUQORQC.js.map} +0 -0
- /package/build/{chunk-NTSKP6JZ.js.map → chunk-EFXBT7NB.js.map} +0 -0
- /package/build/{chunk-LEKNX4UD.js.map → chunk-ELREEQRR.js.map} +0 -0
- /package/build/{chunk-2XGTYRGY.js.map → chunk-F6VIKSMX.js.map} +0 -0
- /package/build/{chunk-3EBCS7OL.js.map → chunk-G4TKXSB6.js.map} +0 -0
- /package/build/{chunk-5EDINUD6.js.map → chunk-GJ27N3WF.js.map} +0 -0
- /package/build/{chunk-E4VJBLJV.js.map → chunk-H2CDITJN.js.map} +0 -0
- /package/build/{chunk-7PGFDSUE.js.map → chunk-JYNRLKFA.js.map} +0 -0
- /package/build/{chunk-X5V2JOK7.js.map → chunk-KXGHA3TO.js.map} +0 -0
- /package/build/{chunk-OKJMVIRM.js.map → chunk-MAATDIDJ.js.map} +0 -0
- /package/build/{chunk-EH7XGC6N.js.map → chunk-OCYXX3Z5.js.map} +0 -0
- /package/build/{chunk-L44BZKAP.js.map → chunk-OM2JULO3.js.map} +0 -0
- /package/build/{chunk-QIB67OE6.js.map → chunk-ORZLBFKW.js.map} +0 -0
- /package/build/{chunk-4NCQ63AG.js.map → chunk-OT7REYUY.js.map} +0 -0
- /package/build/{chunk-7WINPKBT.js.map → chunk-P6QBPX6M.js.map} +0 -0
- /package/build/{chunk-N3M7MJJF.js.map → chunk-PNF6FZJ3.js.map} +0 -0
- /package/build/{chunk-3YJXKQBT.js.map → chunk-PQ6JKRN6.js.map} +0 -0
- /package/build/{chunk-O7YLCWI5.js.map → chunk-QLJR2J2W.js.map} +0 -0
- /package/build/{chunk-FUCZMIJE.js.map → chunk-RBJW2W34.js.map} +0 -0
- /package/build/{chunk-AAC7Q5IA.js.map → chunk-SUXCR67B.js.map} +0 -0
- /package/build/{chunk-GJPBL3NK.js.map → chunk-SVZPDYZV.js.map} +0 -0
- /package/build/{chunk-H5IYD2UO.js.map → chunk-TL4PSTZ7.js.map} +0 -0
- /package/build/{chunk-ZYUKHN7N.js.map → chunk-TLECWCRL.js.map} +0 -0
- /package/build/{chunk-GPV26EWK.js.map → chunk-UWJIJB7T.js.map} +0 -0
- /package/build/{chunk-G6P33ZGR.js.map → chunk-W7ECM3AU.js.map} +0 -0
- /package/build/{chunk-CEMO64GF.js.map → chunk-WQOKSYYM.js.map} +0 -0
- /package/build/{chunk-GFZU5OPF.js.map → chunk-WS7F7UM2.js.map} +0 -0
- /package/build/{chunk-MQC2BZ7W.js.map → chunk-XNPJVGQN.js.map} +0 -0
- /package/build/{chunk-SOOXGPJM.js.map → chunk-XUVPP4PG.js.map} +0 -0
- /package/build/{chunk-C5PTSUGF.js.map → chunk-YAAQDCIO.js.map} +0 -0
- /package/build/{chunk-SSQMNRLT.js.map → chunk-Z5HGNDCN.js.map} +0 -0
- /package/build/{env-pull-QFBMIIRV.js.map → env-pull-JTSHQRDF.js.map} +0 -0
- /package/build/{install-MPMCQDPG.js.map → install-3B5536Q6.js.map} +0 -0
- /package/build/{publish-QOTPZCMC.js.map → publish-CNBOHWDW.js.map} +0 -0
- /package/build/{render-command-XHK2T2CY.js.map → render-command-ASCI3VTA.js.map} +0 -0
- /package/build/{render-command-AENKFQBD.js.map → render-command-UIF4VGNQ.js.map} +0 -0
- /package/build/{render-command-B33ZAPE2.js.map → render-command-XYRBD357.js.map} +0 -0
- /package/build/{run-command-GNQUXT4K.js.map → run-command-V7CNIYRU.js.map} +0 -0
- /package/build/{src-NZ5MTHG5.js.map → src-CQTHKU3D.js.map} +0 -0
- /package/build/{src-RSS2KIVG.js.map → src-FWHVER5E.js.map} +0 -0
- /package/build/{src-COWESTMT.js.map → src-GP7BHIGX.js.map} +0 -0
- /package/build/{src-42NHSBW5.js.map → src-IXN4BZKI.js.map} +0 -0
- /package/build/{src-7C4GHGYZ.js.map → src-J4QVC3AN.js.map} +0 -0
- /package/build/{src-NFPLXAQF.js.map → src-NI55CHWW.js.map} +0 -0
- /package/build/{src-X4XCTWJQ.js.map → src-PNY4FBX3.js.map} +0 -0
- /package/build/{sync-types-TG7SH3UH.js.map → sync-types-T2R62G7D.js.map} +0 -0
- /package/build/{translation-pull-SORARTJZ.js.map → translation-pull-IYMWFFVE.js.map} +0 -0
- /package/build/{uninstall-432A7W5U.js.map → uninstall-3WIANACC.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/xml2js/lib/defaults.js","../../../node_modules/xmlbuilder/lib/Utility.js","../../../node_modules/xmlbuilder/lib/XMLDOMImplementation.js","../../../node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js","../../../node_modules/xmlbuilder/lib/XMLDOMStringList.js","../../../node_modules/xmlbuilder/lib/XMLDOMConfiguration.js","../../../node_modules/xmlbuilder/lib/NodeType.js","../../../node_modules/xmlbuilder/lib/XMLAttribute.js","../../../node_modules/xmlbuilder/lib/XMLNamedNodeMap.js","../../../node_modules/xmlbuilder/lib/XMLElement.js","../../../node_modules/xmlbuilder/lib/XMLCharacterData.js","../../../node_modules/xmlbuilder/lib/XMLCData.js","../../../node_modules/xmlbuilder/lib/XMLComment.js","../../../node_modules/xmlbuilder/lib/XMLDeclaration.js","../../../node_modules/xmlbuilder/lib/XMLDTDAttList.js","../../../node_modules/xmlbuilder/lib/XMLDTDEntity.js","../../../node_modules/xmlbuilder/lib/XMLDTDElement.js","../../../node_modules/xmlbuilder/lib/XMLDTDNotation.js","../../../node_modules/xmlbuilder/lib/XMLDocType.js","../../../node_modules/xmlbuilder/lib/XMLRaw.js","../../../node_modules/xmlbuilder/lib/XMLText.js","../../../node_modules/xmlbuilder/lib/XMLProcessingInstruction.js","../../../node_modules/xmlbuilder/lib/XMLDummy.js","../../../node_modules/xmlbuilder/lib/XMLNodeList.js","../../../node_modules/xmlbuilder/lib/DocumentPosition.js","../../../node_modules/xmlbuilder/lib/XMLNode.js","../../../node_modules/xmlbuilder/lib/XMLStringifier.js","../../../node_modules/xmlbuilder/lib/WriterState.js","../../../node_modules/xmlbuilder/lib/XMLWriterBase.js","../../../node_modules/xmlbuilder/lib/XMLStringWriter.js","../../../node_modules/xmlbuilder/lib/XMLDocument.js","../../../node_modules/xmlbuilder/lib/XMLDocumentCB.js","../../../node_modules/xmlbuilder/lib/XMLStreamWriter.js","../../../node_modules/xmlbuilder/lib/index.js","../../../node_modules/xml2js/lib/builder.js","../../../node_modules/sax/lib/sax.js","../../../node_modules/xml2js/lib/bom.js","../../../node_modules/xml2js/lib/processors.js","../../../node_modules/xml2js/lib/parser.js","../../../node_modules/xml2js/lib/xml2js.js","../../cli-site/src/components/DevCommand/DevCommand.tsx","../../cli-site/src/components/DevCommand/DevCommandScreen.tsx","../../cli-site/src/components/DevCommand/DevEnvironment.tsx","../../cli-site/src/intellisense-adapter.ts","../../../node_modules/@wix/anyide-intellisense-adapter/dist/index.js","../../../node_modules/@wix/anyide-intellisense-adapter/dist/intellisenseAdapter.js","../../../node_modules/@wix/anyide-document-utils/dist/index.js","../../../node_modules/@wix/anyide-document-utils/dist/getNicknamesToComponentTypesMap.js","../../../node_modules/@wix/anyide-document-utils/dist/constants.js","../../../node_modules/@wix/anyide-intellisense-adapter/dist/types.js","../../cli-site/src/components/DevCommand/useVelo.ts","../../cli-site/src/components/DevCommand/useFsWatcher.ts","../../cli-site/src/components/DevCommand/useDevEditorUrl.ts","../../cli-site/src/components/DevCommand/useWebSocketServer.ts"],"sourcesContent":["// Generated by CoffeeScript 1.12.7\n(function() {\n exports.defaults = {\n \"0.1\": {\n explicitCharkey: false,\n trim: true,\n normalize: true,\n normalizeTags: false,\n attrkey: \"@\",\n charkey: \"#\",\n explicitArray: false,\n ignoreAttrs: false,\n mergeAttrs: false,\n explicitRoot: false,\n validator: null,\n xmlns: false,\n explicitChildren: false,\n childkey: '@@',\n charsAsChildren: false,\n includeWhiteChars: false,\n async: false,\n strict: true,\n attrNameProcessors: null,\n attrValueProcessors: null,\n tagNameProcessors: null,\n valueProcessors: null,\n emptyTag: ''\n },\n \"0.2\": {\n explicitCharkey: false,\n trim: false,\n normalize: false,\n normalizeTags: false,\n attrkey: \"$\",\n charkey: \"_\",\n explicitArray: true,\n ignoreAttrs: false,\n mergeAttrs: false,\n explicitRoot: true,\n validator: null,\n xmlns: false,\n explicitChildren: false,\n preserveChildrenOrder: false,\n childkey: '$$',\n charsAsChildren: false,\n includeWhiteChars: false,\n async: false,\n strict: true,\n attrNameProcessors: null,\n attrValueProcessors: null,\n tagNameProcessors: null,\n valueProcessors: null,\n rootName: 'root',\n xmldec: {\n 'version': '1.0',\n 'encoding': 'UTF-8',\n 'standalone': true\n },\n doctype: null,\n renderOpts: {\n 'pretty': true,\n 'indent': ' ',\n 'newline': '\\n'\n },\n headless: false,\n chunkSize: 10000,\n emptyTag: '',\n cdata: false\n }\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var assign, getValue, isArray, isEmpty, isFunction, isObject, isPlainObject,\n slice = [].slice,\n hasProp = {}.hasOwnProperty;\n\n assign = function() {\n var i, key, len, source, sources, target;\n target = arguments[0], sources = 2 <= arguments.length ? slice.call(arguments, 1) : [];\n if (isFunction(Object.assign)) {\n Object.assign.apply(null, arguments);\n } else {\n for (i = 0, len = sources.length; i < len; i++) {\n source = sources[i];\n if (source != null) {\n for (key in source) {\n if (!hasProp.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n }\n }\n return target;\n };\n\n isFunction = function(val) {\n return !!val && Object.prototype.toString.call(val) === '[object Function]';\n };\n\n isObject = function(val) {\n var ref;\n return !!val && ((ref = typeof val) === 'function' || ref === 'object');\n };\n\n isArray = function(val) {\n if (isFunction(Array.isArray)) {\n return Array.isArray(val);\n } else {\n return Object.prototype.toString.call(val) === '[object Array]';\n }\n };\n\n isEmpty = function(val) {\n var key;\n if (isArray(val)) {\n return !val.length;\n } else {\n for (key in val) {\n if (!hasProp.call(val, key)) continue;\n return false;\n }\n return true;\n }\n };\n\n isPlainObject = function(val) {\n var ctor, proto;\n return isObject(val) && (proto = Object.getPrototypeOf(val)) && (ctor = proto.constructor) && (typeof ctor === 'function') && (ctor instanceof ctor) && (Function.prototype.toString.call(ctor) === Function.prototype.toString.call(Object));\n };\n\n getValue = function(obj) {\n if (isFunction(obj.valueOf)) {\n return obj.valueOf();\n } else {\n return obj;\n }\n };\n\n module.exports.assign = assign;\n\n module.exports.isFunction = isFunction;\n\n module.exports.isObject = isObject;\n\n module.exports.isArray = isArray;\n\n module.exports.isEmpty = isEmpty;\n\n module.exports.isPlainObject = isPlainObject;\n\n module.exports.getValue = getValue;\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLDOMImplementation;\n\n module.exports = XMLDOMImplementation = (function() {\n function XMLDOMImplementation() {}\n\n XMLDOMImplementation.prototype.hasFeature = function(feature, version) {\n return true;\n };\n\n XMLDOMImplementation.prototype.createDocumentType = function(qualifiedName, publicId, systemId) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLDOMImplementation.prototype.createDocument = function(namespaceURI, qualifiedName, doctype) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLDOMImplementation.prototype.createHTMLDocument = function(title) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLDOMImplementation.prototype.getFeature = function(feature, version) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n return XMLDOMImplementation;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLDOMErrorHandler;\n\n module.exports = XMLDOMErrorHandler = (function() {\n function XMLDOMErrorHandler() {}\n\n XMLDOMErrorHandler.prototype.handleError = function(error) {\n throw new Error(error);\n };\n\n return XMLDOMErrorHandler;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLDOMStringList;\n\n module.exports = XMLDOMStringList = (function() {\n function XMLDOMStringList(arr) {\n this.arr = arr || [];\n }\n\n Object.defineProperty(XMLDOMStringList.prototype, 'length', {\n get: function() {\n return this.arr.length;\n }\n });\n\n XMLDOMStringList.prototype.item = function(index) {\n return this.arr[index] || null;\n };\n\n XMLDOMStringList.prototype.contains = function(str) {\n return this.arr.indexOf(str) !== -1;\n };\n\n return XMLDOMStringList;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLDOMConfiguration, XMLDOMErrorHandler, XMLDOMStringList;\n\n XMLDOMErrorHandler = require('./XMLDOMErrorHandler');\n\n XMLDOMStringList = require('./XMLDOMStringList');\n\n module.exports = XMLDOMConfiguration = (function() {\n function XMLDOMConfiguration() {\n var clonedSelf;\n this.defaultParams = {\n \"canonical-form\": false,\n \"cdata-sections\": false,\n \"comments\": false,\n \"datatype-normalization\": false,\n \"element-content-whitespace\": true,\n \"entities\": true,\n \"error-handler\": new XMLDOMErrorHandler(),\n \"infoset\": true,\n \"validate-if-schema\": false,\n \"namespaces\": true,\n \"namespace-declarations\": true,\n \"normalize-characters\": false,\n \"schema-location\": '',\n \"schema-type\": '',\n \"split-cdata-sections\": true,\n \"validate\": false,\n \"well-formed\": true\n };\n this.params = clonedSelf = Object.create(this.defaultParams);\n }\n\n Object.defineProperty(XMLDOMConfiguration.prototype, 'parameterNames', {\n get: function() {\n return new XMLDOMStringList(Object.keys(this.defaultParams));\n }\n });\n\n XMLDOMConfiguration.prototype.getParameter = function(name) {\n if (this.params.hasOwnProperty(name)) {\n return this.params[name];\n } else {\n return null;\n }\n };\n\n XMLDOMConfiguration.prototype.canSetParameter = function(name, value) {\n return true;\n };\n\n XMLDOMConfiguration.prototype.setParameter = function(name, value) {\n if (value != null) {\n return this.params[name] = value;\n } else {\n return delete this.params[name];\n }\n };\n\n return XMLDOMConfiguration;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n module.exports = {\n Element: 1,\n Attribute: 2,\n Text: 3,\n CData: 4,\n EntityReference: 5,\n EntityDeclaration: 6,\n ProcessingInstruction: 7,\n Comment: 8,\n Document: 9,\n DocType: 10,\n DocumentFragment: 11,\n NotationDeclaration: 12,\n Declaration: 201,\n Raw: 202,\n AttributeDeclaration: 203,\n ElementDeclaration: 204,\n Dummy: 205\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLAttribute, XMLNode;\n\n NodeType = require('./NodeType');\n\n XMLNode = require('./XMLNode');\n\n module.exports = XMLAttribute = (function() {\n function XMLAttribute(parent, name, value) {\n this.parent = parent;\n if (this.parent) {\n this.options = this.parent.options;\n this.stringify = this.parent.stringify;\n }\n if (name == null) {\n throw new Error(\"Missing attribute name. \" + this.debugInfo(name));\n }\n this.name = this.stringify.name(name);\n this.value = this.stringify.attValue(value);\n this.type = NodeType.Attribute;\n this.isId = false;\n this.schemaTypeInfo = null;\n }\n\n Object.defineProperty(XMLAttribute.prototype, 'nodeType', {\n get: function() {\n return this.type;\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'ownerElement', {\n get: function() {\n return this.parent;\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'textContent', {\n get: function() {\n return this.value;\n },\n set: function(value) {\n return this.value = value || '';\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'namespaceURI', {\n get: function() {\n return '';\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'prefix', {\n get: function() {\n return '';\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'localName', {\n get: function() {\n return this.name;\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'specified', {\n get: function() {\n return true;\n }\n });\n\n XMLAttribute.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLAttribute.prototype.toString = function(options) {\n return this.options.writer.attribute(this, this.options.writer.filterOptions(options));\n };\n\n XMLAttribute.prototype.debugInfo = function(name) {\n name = name || this.name;\n if (name == null) {\n return \"parent: <\" + this.parent.name + \">\";\n } else {\n return \"attribute: {\" + name + \"}, parent: <\" + this.parent.name + \">\";\n }\n };\n\n XMLAttribute.prototype.isEqualNode = function(node) {\n if (node.namespaceURI !== this.namespaceURI) {\n return false;\n }\n if (node.prefix !== this.prefix) {\n return false;\n }\n if (node.localName !== this.localName) {\n return false;\n }\n if (node.value !== this.value) {\n return false;\n }\n return true;\n };\n\n return XMLAttribute;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLNamedNodeMap;\n\n module.exports = XMLNamedNodeMap = (function() {\n function XMLNamedNodeMap(nodes) {\n this.nodes = nodes;\n }\n\n Object.defineProperty(XMLNamedNodeMap.prototype, 'length', {\n get: function() {\n return Object.keys(this.nodes).length || 0;\n }\n });\n\n XMLNamedNodeMap.prototype.clone = function() {\n return this.nodes = null;\n };\n\n XMLNamedNodeMap.prototype.getNamedItem = function(name) {\n return this.nodes[name];\n };\n\n XMLNamedNodeMap.prototype.setNamedItem = function(node) {\n var oldNode;\n oldNode = this.nodes[node.nodeName];\n this.nodes[node.nodeName] = node;\n return oldNode || null;\n };\n\n XMLNamedNodeMap.prototype.removeNamedItem = function(name) {\n var oldNode;\n oldNode = this.nodes[name];\n delete this.nodes[name];\n return oldNode || null;\n };\n\n XMLNamedNodeMap.prototype.item = function(index) {\n return this.nodes[Object.keys(this.nodes)[index]] || null;\n };\n\n XMLNamedNodeMap.prototype.getNamedItemNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLNamedNodeMap.prototype.setNamedItemNS = function(node) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLNamedNodeMap.prototype.removeNamedItemNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n return XMLNamedNodeMap;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLAttribute, XMLElement, XMLNamedNodeMap, XMLNode, getValue, isFunction, isObject, ref,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n ref = require('./Utility'), isObject = ref.isObject, isFunction = ref.isFunction, getValue = ref.getValue;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n XMLAttribute = require('./XMLAttribute');\n\n XMLNamedNodeMap = require('./XMLNamedNodeMap');\n\n module.exports = XMLElement = (function(superClass) {\n extend(XMLElement, superClass);\n\n function XMLElement(parent, name, attributes) {\n var child, j, len, ref1;\n XMLElement.__super__.constructor.call(this, parent);\n if (name == null) {\n throw new Error(\"Missing element name. \" + this.debugInfo());\n }\n this.name = this.stringify.name(name);\n this.type = NodeType.Element;\n this.attribs = {};\n this.schemaTypeInfo = null;\n if (attributes != null) {\n this.attribute(attributes);\n }\n if (parent.type === NodeType.Document) {\n this.isRoot = true;\n this.documentObject = parent;\n parent.rootObject = this;\n if (parent.children) {\n ref1 = parent.children;\n for (j = 0, len = ref1.length; j < len; j++) {\n child = ref1[j];\n if (child.type === NodeType.DocType) {\n child.name = this.name;\n break;\n }\n }\n }\n }\n }\n\n Object.defineProperty(XMLElement.prototype, 'tagName', {\n get: function() {\n return this.name;\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'namespaceURI', {\n get: function() {\n return '';\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'prefix', {\n get: function() {\n return '';\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'localName', {\n get: function() {\n return this.name;\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'id', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'className', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'classList', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'attributes', {\n get: function() {\n if (!this.attributeMap || !this.attributeMap.nodes) {\n this.attributeMap = new XMLNamedNodeMap(this.attribs);\n }\n return this.attributeMap;\n }\n });\n\n XMLElement.prototype.clone = function() {\n var att, attName, clonedSelf, ref1;\n clonedSelf = Object.create(this);\n if (clonedSelf.isRoot) {\n clonedSelf.documentObject = null;\n }\n clonedSelf.attribs = {};\n ref1 = this.attribs;\n for (attName in ref1) {\n if (!hasProp.call(ref1, attName)) continue;\n att = ref1[attName];\n clonedSelf.attribs[attName] = att.clone();\n }\n clonedSelf.children = [];\n this.children.forEach(function(child) {\n var clonedChild;\n clonedChild = child.clone();\n clonedChild.parent = clonedSelf;\n return clonedSelf.children.push(clonedChild);\n });\n return clonedSelf;\n };\n\n XMLElement.prototype.attribute = function(name, value) {\n var attName, attValue;\n if (name != null) {\n name = getValue(name);\n }\n if (isObject(name)) {\n for (attName in name) {\n if (!hasProp.call(name, attName)) continue;\n attValue = name[attName];\n this.attribute(attName, attValue);\n }\n } else {\n if (isFunction(value)) {\n value = value.apply();\n }\n if (this.options.keepNullAttributes && (value == null)) {\n this.attribs[name] = new XMLAttribute(this, name, \"\");\n } else if (value != null) {\n this.attribs[name] = new XMLAttribute(this, name, value);\n }\n }\n return this;\n };\n\n XMLElement.prototype.removeAttribute = function(name) {\n var attName, j, len;\n if (name == null) {\n throw new Error(\"Missing attribute name. \" + this.debugInfo());\n }\n name = getValue(name);\n if (Array.isArray(name)) {\n for (j = 0, len = name.length; j < len; j++) {\n attName = name[j];\n delete this.attribs[attName];\n }\n } else {\n delete this.attribs[name];\n }\n return this;\n };\n\n XMLElement.prototype.toString = function(options) {\n return this.options.writer.element(this, this.options.writer.filterOptions(options));\n };\n\n XMLElement.prototype.att = function(name, value) {\n return this.attribute(name, value);\n };\n\n XMLElement.prototype.a = function(name, value) {\n return this.attribute(name, value);\n };\n\n XMLElement.prototype.getAttribute = function(name) {\n if (this.attribs.hasOwnProperty(name)) {\n return this.attribs[name].value;\n } else {\n return null;\n }\n };\n\n XMLElement.prototype.setAttribute = function(name, value) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getAttributeNode = function(name) {\n if (this.attribs.hasOwnProperty(name)) {\n return this.attribs[name];\n } else {\n return null;\n }\n };\n\n XMLElement.prototype.setAttributeNode = function(newAttr) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.removeAttributeNode = function(oldAttr) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByTagName = function(name) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getAttributeNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.setAttributeNS = function(namespaceURI, qualifiedName, value) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.removeAttributeNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getAttributeNodeNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.setAttributeNodeNS = function(newAttr) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByTagNameNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.hasAttribute = function(name) {\n return this.attribs.hasOwnProperty(name);\n };\n\n XMLElement.prototype.hasAttributeNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.setIdAttribute = function(name, isId) {\n if (this.attribs.hasOwnProperty(name)) {\n return this.attribs[name].isId;\n } else {\n return isId;\n }\n };\n\n XMLElement.prototype.setIdAttributeNS = function(namespaceURI, localName, isId) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.setIdAttributeNode = function(idAttr, isId) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByTagName = function(tagname) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByTagNameNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByClassName = function(classNames) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.isEqualNode = function(node) {\n var i, j, ref1;\n if (!XMLElement.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) {\n return false;\n }\n if (node.namespaceURI !== this.namespaceURI) {\n return false;\n }\n if (node.prefix !== this.prefix) {\n return false;\n }\n if (node.localName !== this.localName) {\n return false;\n }\n if (node.attribs.length !== this.attribs.length) {\n return false;\n }\n for (i = j = 0, ref1 = this.attribs.length - 1; 0 <= ref1 ? j <= ref1 : j >= ref1; i = 0 <= ref1 ? ++j : --j) {\n if (!this.attribs[i].isEqualNode(node.attribs[i])) {\n return false;\n }\n }\n return true;\n };\n\n return XMLElement;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLCharacterData, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n module.exports = XMLCharacterData = (function(superClass) {\n extend(XMLCharacterData, superClass);\n\n function XMLCharacterData(parent) {\n XMLCharacterData.__super__.constructor.call(this, parent);\n this.value = '';\n }\n\n Object.defineProperty(XMLCharacterData.prototype, 'data', {\n get: function() {\n return this.value;\n },\n set: function(value) {\n return this.value = value || '';\n }\n });\n\n Object.defineProperty(XMLCharacterData.prototype, 'length', {\n get: function() {\n return this.value.length;\n }\n });\n\n Object.defineProperty(XMLCharacterData.prototype, 'textContent', {\n get: function() {\n return this.value;\n },\n set: function(value) {\n return this.value = value || '';\n }\n });\n\n XMLCharacterData.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLCharacterData.prototype.substringData = function(offset, count) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLCharacterData.prototype.appendData = function(arg) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLCharacterData.prototype.insertData = function(offset, arg) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLCharacterData.prototype.deleteData = function(offset, count) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLCharacterData.prototype.replaceData = function(offset, count, arg) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLCharacterData.prototype.isEqualNode = function(node) {\n if (!XMLCharacterData.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) {\n return false;\n }\n if (node.data !== this.data) {\n return false;\n }\n return true;\n };\n\n return XMLCharacterData;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLCData, XMLCharacterData,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLCharacterData = require('./XMLCharacterData');\n\n module.exports = XMLCData = (function(superClass) {\n extend(XMLCData, superClass);\n\n function XMLCData(parent, text) {\n XMLCData.__super__.constructor.call(this, parent);\n if (text == null) {\n throw new Error(\"Missing CDATA text. \" + this.debugInfo());\n }\n this.name = \"#cdata-section\";\n this.type = NodeType.CData;\n this.value = this.stringify.cdata(text);\n }\n\n XMLCData.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLCData.prototype.toString = function(options) {\n return this.options.writer.cdata(this, this.options.writer.filterOptions(options));\n };\n\n return XMLCData;\n\n })(XMLCharacterData);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLCharacterData, XMLComment,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLCharacterData = require('./XMLCharacterData');\n\n module.exports = XMLComment = (function(superClass) {\n extend(XMLComment, superClass);\n\n function XMLComment(parent, text) {\n XMLComment.__super__.constructor.call(this, parent);\n if (text == null) {\n throw new Error(\"Missing comment text. \" + this.debugInfo());\n }\n this.name = \"#comment\";\n this.type = NodeType.Comment;\n this.value = this.stringify.comment(text);\n }\n\n XMLComment.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLComment.prototype.toString = function(options) {\n return this.options.writer.comment(this, this.options.writer.filterOptions(options));\n };\n\n return XMLComment;\n\n })(XMLCharacterData);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDeclaration, XMLNode, isObject,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n isObject = require('./Utility').isObject;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDeclaration = (function(superClass) {\n extend(XMLDeclaration, superClass);\n\n function XMLDeclaration(parent, version, encoding, standalone) {\n var ref;\n XMLDeclaration.__super__.constructor.call(this, parent);\n if (isObject(version)) {\n ref = version, version = ref.version, encoding = ref.encoding, standalone = ref.standalone;\n }\n if (!version) {\n version = '1.0';\n }\n this.type = NodeType.Declaration;\n this.version = this.stringify.xmlVersion(version);\n if (encoding != null) {\n this.encoding = this.stringify.xmlEncoding(encoding);\n }\n if (standalone != null) {\n this.standalone = this.stringify.xmlStandalone(standalone);\n }\n }\n\n XMLDeclaration.prototype.toString = function(options) {\n return this.options.writer.declaration(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDeclaration;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDAttList, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDTDAttList = (function(superClass) {\n extend(XMLDTDAttList, superClass);\n\n function XMLDTDAttList(parent, elementName, attributeName, attributeType, defaultValueType, defaultValue) {\n XMLDTDAttList.__super__.constructor.call(this, parent);\n if (elementName == null) {\n throw new Error(\"Missing DTD element name. \" + this.debugInfo());\n }\n if (attributeName == null) {\n throw new Error(\"Missing DTD attribute name. \" + this.debugInfo(elementName));\n }\n if (!attributeType) {\n throw new Error(\"Missing DTD attribute type. \" + this.debugInfo(elementName));\n }\n if (!defaultValueType) {\n throw new Error(\"Missing DTD attribute default. \" + this.debugInfo(elementName));\n }\n if (defaultValueType.indexOf('#') !== 0) {\n defaultValueType = '#' + defaultValueType;\n }\n if (!defaultValueType.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/)) {\n throw new Error(\"Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT. \" + this.debugInfo(elementName));\n }\n if (defaultValue && !defaultValueType.match(/^(#FIXED|#DEFAULT)$/)) {\n throw new Error(\"Default value only applies to #FIXED or #DEFAULT. \" + this.debugInfo(elementName));\n }\n this.elementName = this.stringify.name(elementName);\n this.type = NodeType.AttributeDeclaration;\n this.attributeName = this.stringify.name(attributeName);\n this.attributeType = this.stringify.dtdAttType(attributeType);\n if (defaultValue) {\n this.defaultValue = this.stringify.dtdAttDefault(defaultValue);\n }\n this.defaultValueType = defaultValueType;\n }\n\n XMLDTDAttList.prototype.toString = function(options) {\n return this.options.writer.dtdAttList(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDTDAttList;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDEntity, XMLNode, isObject,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n isObject = require('./Utility').isObject;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDTDEntity = (function(superClass) {\n extend(XMLDTDEntity, superClass);\n\n function XMLDTDEntity(parent, pe, name, value) {\n XMLDTDEntity.__super__.constructor.call(this, parent);\n if (name == null) {\n throw new Error(\"Missing DTD entity name. \" + this.debugInfo(name));\n }\n if (value == null) {\n throw new Error(\"Missing DTD entity value. \" + this.debugInfo(name));\n }\n this.pe = !!pe;\n this.name = this.stringify.name(name);\n this.type = NodeType.EntityDeclaration;\n if (!isObject(value)) {\n this.value = this.stringify.dtdEntityValue(value);\n this.internal = true;\n } else {\n if (!value.pubID && !value.sysID) {\n throw new Error(\"Public and/or system identifiers are required for an external entity. \" + this.debugInfo(name));\n }\n if (value.pubID && !value.sysID) {\n throw new Error(\"System identifier is required for a public external entity. \" + this.debugInfo(name));\n }\n this.internal = false;\n if (value.pubID != null) {\n this.pubID = this.stringify.dtdPubID(value.pubID);\n }\n if (value.sysID != null) {\n this.sysID = this.stringify.dtdSysID(value.sysID);\n }\n if (value.nData != null) {\n this.nData = this.stringify.dtdNData(value.nData);\n }\n if (this.pe && this.nData) {\n throw new Error(\"Notation declaration is not allowed in a parameter entity. \" + this.debugInfo(name));\n }\n }\n }\n\n Object.defineProperty(XMLDTDEntity.prototype, 'publicId', {\n get: function() {\n return this.pubID;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'systemId', {\n get: function() {\n return this.sysID;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'notationName', {\n get: function() {\n return this.nData || null;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'inputEncoding', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'xmlEncoding', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'xmlVersion', {\n get: function() {\n return null;\n }\n });\n\n XMLDTDEntity.prototype.toString = function(options) {\n return this.options.writer.dtdEntity(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDTDEntity;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDElement, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDTDElement = (function(superClass) {\n extend(XMLDTDElement, superClass);\n\n function XMLDTDElement(parent, name, value) {\n XMLDTDElement.__super__.constructor.call(this, parent);\n if (name == null) {\n throw new Error(\"Missing DTD element name. \" + this.debugInfo());\n }\n if (!value) {\n value = '(#PCDATA)';\n }\n if (Array.isArray(value)) {\n value = '(' + value.join(',') + ')';\n }\n this.name = this.stringify.name(name);\n this.type = NodeType.ElementDeclaration;\n this.value = this.stringify.dtdElementValue(value);\n }\n\n XMLDTDElement.prototype.toString = function(options) {\n return this.options.writer.dtdElement(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDTDElement;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDNotation, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDTDNotation = (function(superClass) {\n extend(XMLDTDNotation, superClass);\n\n function XMLDTDNotation(parent, name, value) {\n XMLDTDNotation.__super__.constructor.call(this, parent);\n if (name == null) {\n throw new Error(\"Missing DTD notation name. \" + this.debugInfo(name));\n }\n if (!value.pubID && !value.sysID) {\n throw new Error(\"Public or system identifiers are required for an external entity. \" + this.debugInfo(name));\n }\n this.name = this.stringify.name(name);\n this.type = NodeType.NotationDeclaration;\n if (value.pubID != null) {\n this.pubID = this.stringify.dtdPubID(value.pubID);\n }\n if (value.sysID != null) {\n this.sysID = this.stringify.dtdSysID(value.sysID);\n }\n }\n\n Object.defineProperty(XMLDTDNotation.prototype, 'publicId', {\n get: function() {\n return this.pubID;\n }\n });\n\n Object.defineProperty(XMLDTDNotation.prototype, 'systemId', {\n get: function() {\n return this.sysID;\n }\n });\n\n XMLDTDNotation.prototype.toString = function(options) {\n return this.options.writer.dtdNotation(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDTDNotation;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDocType, XMLNamedNodeMap, XMLNode, isObject,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n isObject = require('./Utility').isObject;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n XMLDTDAttList = require('./XMLDTDAttList');\n\n XMLDTDEntity = require('./XMLDTDEntity');\n\n XMLDTDElement = require('./XMLDTDElement');\n\n XMLDTDNotation = require('./XMLDTDNotation');\n\n XMLNamedNodeMap = require('./XMLNamedNodeMap');\n\n module.exports = XMLDocType = (function(superClass) {\n extend(XMLDocType, superClass);\n\n function XMLDocType(parent, pubID, sysID) {\n var child, i, len, ref, ref1, ref2;\n XMLDocType.__super__.constructor.call(this, parent);\n this.type = NodeType.DocType;\n if (parent.children) {\n ref = parent.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n if (child.type === NodeType.Element) {\n this.name = child.name;\n break;\n }\n }\n }\n this.documentObject = parent;\n if (isObject(pubID)) {\n ref1 = pubID, pubID = ref1.pubID, sysID = ref1.sysID;\n }\n if (sysID == null) {\n ref2 = [pubID, sysID], sysID = ref2[0], pubID = ref2[1];\n }\n if (pubID != null) {\n this.pubID = this.stringify.dtdPubID(pubID);\n }\n if (sysID != null) {\n this.sysID = this.stringify.dtdSysID(sysID);\n }\n }\n\n Object.defineProperty(XMLDocType.prototype, 'entities', {\n get: function() {\n var child, i, len, nodes, ref;\n nodes = {};\n ref = this.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n if ((child.type === NodeType.EntityDeclaration) && !child.pe) {\n nodes[child.name] = child;\n }\n }\n return new XMLNamedNodeMap(nodes);\n }\n });\n\n Object.defineProperty(XMLDocType.prototype, 'notations', {\n get: function() {\n var child, i, len, nodes, ref;\n nodes = {};\n ref = this.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n if (child.type === NodeType.NotationDeclaration) {\n nodes[child.name] = child;\n }\n }\n return new XMLNamedNodeMap(nodes);\n }\n });\n\n Object.defineProperty(XMLDocType.prototype, 'publicId', {\n get: function() {\n return this.pubID;\n }\n });\n\n Object.defineProperty(XMLDocType.prototype, 'systemId', {\n get: function() {\n return this.sysID;\n }\n });\n\n Object.defineProperty(XMLDocType.prototype, 'internalSubset', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n XMLDocType.prototype.element = function(name, value) {\n var child;\n child = new XMLDTDElement(this, name, value);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.attList = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {\n var child;\n child = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.entity = function(name, value) {\n var child;\n child = new XMLDTDEntity(this, false, name, value);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.pEntity = function(name, value) {\n var child;\n child = new XMLDTDEntity(this, true, name, value);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.notation = function(name, value) {\n var child;\n child = new XMLDTDNotation(this, name, value);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.toString = function(options) {\n return this.options.writer.docType(this, this.options.writer.filterOptions(options));\n };\n\n XMLDocType.prototype.ele = function(name, value) {\n return this.element(name, value);\n };\n\n XMLDocType.prototype.att = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {\n return this.attList(elementName, attributeName, attributeType, defaultValueType, defaultValue);\n };\n\n XMLDocType.prototype.ent = function(name, value) {\n return this.entity(name, value);\n };\n\n XMLDocType.prototype.pent = function(name, value) {\n return this.pEntity(name, value);\n };\n\n XMLDocType.prototype.not = function(name, value) {\n return this.notation(name, value);\n };\n\n XMLDocType.prototype.up = function() {\n return this.root() || this.documentObject;\n };\n\n XMLDocType.prototype.isEqualNode = function(node) {\n if (!XMLDocType.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) {\n return false;\n }\n if (node.name !== this.name) {\n return false;\n }\n if (node.publicId !== this.publicId) {\n return false;\n }\n if (node.systemId !== this.systemId) {\n return false;\n }\n return true;\n };\n\n return XMLDocType;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLNode, XMLRaw,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLNode = require('./XMLNode');\n\n module.exports = XMLRaw = (function(superClass) {\n extend(XMLRaw, superClass);\n\n function XMLRaw(parent, text) {\n XMLRaw.__super__.constructor.call(this, parent);\n if (text == null) {\n throw new Error(\"Missing raw text. \" + this.debugInfo());\n }\n this.type = NodeType.Raw;\n this.value = this.stringify.raw(text);\n }\n\n XMLRaw.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLRaw.prototype.toString = function(options) {\n return this.options.writer.raw(this, this.options.writer.filterOptions(options));\n };\n\n return XMLRaw;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLCharacterData, XMLText,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLCharacterData = require('./XMLCharacterData');\n\n module.exports = XMLText = (function(superClass) {\n extend(XMLText, superClass);\n\n function XMLText(parent, text) {\n XMLText.__super__.constructor.call(this, parent);\n if (text == null) {\n throw new Error(\"Missing element text. \" + this.debugInfo());\n }\n this.name = \"#text\";\n this.type = NodeType.Text;\n this.value = this.stringify.text(text);\n }\n\n Object.defineProperty(XMLText.prototype, 'isElementContentWhitespace', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n Object.defineProperty(XMLText.prototype, 'wholeText', {\n get: function() {\n var next, prev, str;\n str = '';\n prev = this.previousSibling;\n while (prev) {\n str = prev.data + str;\n prev = prev.previousSibling;\n }\n str += this.data;\n next = this.nextSibling;\n while (next) {\n str = str + next.data;\n next = next.nextSibling;\n }\n return str;\n }\n });\n\n XMLText.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLText.prototype.toString = function(options) {\n return this.options.writer.text(this, this.options.writer.filterOptions(options));\n };\n\n XMLText.prototype.splitText = function(offset) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLText.prototype.replaceWholeText = function(content) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n return XMLText;\n\n })(XMLCharacterData);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLCharacterData, XMLProcessingInstruction,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLCharacterData = require('./XMLCharacterData');\n\n module.exports = XMLProcessingInstruction = (function(superClass) {\n extend(XMLProcessingInstruction, superClass);\n\n function XMLProcessingInstruction(parent, target, value) {\n XMLProcessingInstruction.__super__.constructor.call(this, parent);\n if (target == null) {\n throw new Error(\"Missing instruction target. \" + this.debugInfo());\n }\n this.type = NodeType.ProcessingInstruction;\n this.target = this.stringify.insTarget(target);\n this.name = this.target;\n if (value) {\n this.value = this.stringify.insValue(value);\n }\n }\n\n XMLProcessingInstruction.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLProcessingInstruction.prototype.toString = function(options) {\n return this.options.writer.processingInstruction(this, this.options.writer.filterOptions(options));\n };\n\n XMLProcessingInstruction.prototype.isEqualNode = function(node) {\n if (!XMLProcessingInstruction.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) {\n return false;\n }\n if (node.target !== this.target) {\n return false;\n }\n return true;\n };\n\n return XMLProcessingInstruction;\n\n })(XMLCharacterData);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDummy, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDummy = (function(superClass) {\n extend(XMLDummy, superClass);\n\n function XMLDummy(parent) {\n XMLDummy.__super__.constructor.call(this, parent);\n this.type = NodeType.Dummy;\n }\n\n XMLDummy.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLDummy.prototype.toString = function(options) {\n return '';\n };\n\n return XMLDummy;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLNodeList;\n\n module.exports = XMLNodeList = (function() {\n function XMLNodeList(nodes) {\n this.nodes = nodes;\n }\n\n Object.defineProperty(XMLNodeList.prototype, 'length', {\n get: function() {\n return this.nodes.length || 0;\n }\n });\n\n XMLNodeList.prototype.clone = function() {\n return this.nodes = null;\n };\n\n XMLNodeList.prototype.item = function(index) {\n return this.nodes[index] || null;\n };\n\n return XMLNodeList;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n module.exports = {\n Disconnected: 1,\n Preceding: 2,\n Following: 4,\n Contains: 8,\n ContainedBy: 16,\n ImplementationSpecific: 32\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var DocumentPosition, NodeType, XMLCData, XMLComment, XMLDeclaration, XMLDocType, XMLDummy, XMLElement, XMLNamedNodeMap, XMLNode, XMLNodeList, XMLProcessingInstruction, XMLRaw, XMLText, getValue, isEmpty, isFunction, isObject, ref1,\n hasProp = {}.hasOwnProperty;\n\n ref1 = require('./Utility'), isObject = ref1.isObject, isFunction = ref1.isFunction, isEmpty = ref1.isEmpty, getValue = ref1.getValue;\n\n XMLElement = null;\n\n XMLCData = null;\n\n XMLComment = null;\n\n XMLDeclaration = null;\n\n XMLDocType = null;\n\n XMLRaw = null;\n\n XMLText = null;\n\n XMLProcessingInstruction = null;\n\n XMLDummy = null;\n\n NodeType = null;\n\n XMLNodeList = null;\n\n XMLNamedNodeMap = null;\n\n DocumentPosition = null;\n\n module.exports = XMLNode = (function() {\n function XMLNode(parent1) {\n this.parent = parent1;\n if (this.parent) {\n this.options = this.parent.options;\n this.stringify = this.parent.stringify;\n }\n this.value = null;\n this.children = [];\n this.baseURI = null;\n if (!XMLElement) {\n XMLElement = require('./XMLElement');\n XMLCData = require('./XMLCData');\n XMLComment = require('./XMLComment');\n XMLDeclaration = require('./XMLDeclaration');\n XMLDocType = require('./XMLDocType');\n XMLRaw = require('./XMLRaw');\n XMLText = require('./XMLText');\n XMLProcessingInstruction = require('./XMLProcessingInstruction');\n XMLDummy = require('./XMLDummy');\n NodeType = require('./NodeType');\n XMLNodeList = require('./XMLNodeList');\n XMLNamedNodeMap = require('./XMLNamedNodeMap');\n DocumentPosition = require('./DocumentPosition');\n }\n }\n\n Object.defineProperty(XMLNode.prototype, 'nodeName', {\n get: function() {\n return this.name;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'nodeType', {\n get: function() {\n return this.type;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'nodeValue', {\n get: function() {\n return this.value;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'parentNode', {\n get: function() {\n return this.parent;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'childNodes', {\n get: function() {\n if (!this.childNodeList || !this.childNodeList.nodes) {\n this.childNodeList = new XMLNodeList(this.children);\n }\n return this.childNodeList;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'firstChild', {\n get: function() {\n return this.children[0] || null;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'lastChild', {\n get: function() {\n return this.children[this.children.length - 1] || null;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'previousSibling', {\n get: function() {\n var i;\n i = this.parent.children.indexOf(this);\n return this.parent.children[i - 1] || null;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'nextSibling', {\n get: function() {\n var i;\n i = this.parent.children.indexOf(this);\n return this.parent.children[i + 1] || null;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'ownerDocument', {\n get: function() {\n return this.document() || null;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'textContent', {\n get: function() {\n var child, j, len, ref2, str;\n if (this.nodeType === NodeType.Element || this.nodeType === NodeType.DocumentFragment) {\n str = '';\n ref2 = this.children;\n for (j = 0, len = ref2.length; j < len; j++) {\n child = ref2[j];\n if (child.textContent) {\n str += child.textContent;\n }\n }\n return str;\n } else {\n return null;\n }\n },\n set: function(value) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n XMLNode.prototype.setParent = function(parent) {\n var child, j, len, ref2, results;\n this.parent = parent;\n if (parent) {\n this.options = parent.options;\n this.stringify = parent.stringify;\n }\n ref2 = this.children;\n results = [];\n for (j = 0, len = ref2.length; j < len; j++) {\n child = ref2[j];\n results.push(child.setParent(this));\n }\n return results;\n };\n\n XMLNode.prototype.element = function(name, attributes, text) {\n var childNode, item, j, k, key, lastChild, len, len1, ref2, ref3, val;\n lastChild = null;\n if (attributes === null && (text == null)) {\n ref2 = [{}, null], attributes = ref2[0], text = ref2[1];\n }\n if (attributes == null) {\n attributes = {};\n }\n attributes = getValue(attributes);\n if (!isObject(attributes)) {\n ref3 = [attributes, text], text = ref3[0], attributes = ref3[1];\n }\n if (name != null) {\n name = getValue(name);\n }\n if (Array.isArray(name)) {\n for (j = 0, len = name.length; j < len; j++) {\n item = name[j];\n lastChild = this.element(item);\n }\n } else if (isFunction(name)) {\n lastChild = this.element(name.apply());\n } else if (isObject(name)) {\n for (key in name) {\n if (!hasProp.call(name, key)) continue;\n val = name[key];\n if (isFunction(val)) {\n val = val.apply();\n }\n if (!this.options.ignoreDecorators && this.stringify.convertAttKey && key.indexOf(this.stringify.convertAttKey) === 0) {\n lastChild = this.attribute(key.substr(this.stringify.convertAttKey.length), val);\n } else if (!this.options.separateArrayItems && Array.isArray(val) && isEmpty(val)) {\n lastChild = this.dummy();\n } else if (isObject(val) && isEmpty(val)) {\n lastChild = this.element(key);\n } else if (!this.options.keepNullNodes && (val == null)) {\n lastChild = this.dummy();\n } else if (!this.options.separateArrayItems && Array.isArray(val)) {\n for (k = 0, len1 = val.length; k < len1; k++) {\n item = val[k];\n childNode = {};\n childNode[key] = item;\n lastChild = this.element(childNode);\n }\n } else if (isObject(val)) {\n if (!this.options.ignoreDecorators && this.stringify.convertTextKey && key.indexOf(this.stringify.convertTextKey) === 0) {\n lastChild = this.element(val);\n } else {\n lastChild = this.element(key);\n lastChild.element(val);\n }\n } else {\n lastChild = this.element(key, val);\n }\n }\n } else if (!this.options.keepNullNodes && text === null) {\n lastChild = this.dummy();\n } else {\n if (!this.options.ignoreDecorators && this.stringify.convertTextKey && name.indexOf(this.stringify.convertTextKey) === 0) {\n lastChild = this.text(text);\n } else if (!this.options.ignoreDecorators && this.stringify.convertCDataKey && name.indexOf(this.stringify.convertCDataKey) === 0) {\n lastChild = this.cdata(text);\n } else if (!this.options.ignoreDecorators && this.stringify.convertCommentKey && name.indexOf(this.stringify.convertCommentKey) === 0) {\n lastChild = this.comment(text);\n } else if (!this.options.ignoreDecorators && this.stringify.convertRawKey && name.indexOf(this.stringify.convertRawKey) === 0) {\n lastChild = this.raw(text);\n } else if (!this.options.ignoreDecorators && this.stringify.convertPIKey && name.indexOf(this.stringify.convertPIKey) === 0) {\n lastChild = this.instruction(name.substr(this.stringify.convertPIKey.length), text);\n } else {\n lastChild = this.node(name, attributes, text);\n }\n }\n if (lastChild == null) {\n throw new Error(\"Could not create any elements with: \" + name + \". \" + this.debugInfo());\n }\n return lastChild;\n };\n\n XMLNode.prototype.insertBefore = function(name, attributes, text) {\n var child, i, newChild, refChild, removed;\n if (name != null ? name.type : void 0) {\n newChild = name;\n refChild = attributes;\n newChild.setParent(this);\n if (refChild) {\n i = children.indexOf(refChild);\n removed = children.splice(i);\n children.push(newChild);\n Array.prototype.push.apply(children, removed);\n } else {\n children.push(newChild);\n }\n return newChild;\n } else {\n if (this.isRoot) {\n throw new Error(\"Cannot insert elements at root level. \" + this.debugInfo(name));\n }\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i);\n child = this.parent.element(name, attributes, text);\n Array.prototype.push.apply(this.parent.children, removed);\n return child;\n }\n };\n\n XMLNode.prototype.insertAfter = function(name, attributes, text) {\n var child, i, removed;\n if (this.isRoot) {\n throw new Error(\"Cannot insert elements at root level. \" + this.debugInfo(name));\n }\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i + 1);\n child = this.parent.element(name, attributes, text);\n Array.prototype.push.apply(this.parent.children, removed);\n return child;\n };\n\n XMLNode.prototype.remove = function() {\n var i, ref2;\n if (this.isRoot) {\n throw new Error(\"Cannot remove the root element. \" + this.debugInfo());\n }\n i = this.parent.children.indexOf(this);\n [].splice.apply(this.parent.children, [i, i - i + 1].concat(ref2 = [])), ref2;\n return this.parent;\n };\n\n XMLNode.prototype.node = function(name, attributes, text) {\n var child, ref2;\n if (name != null) {\n name = getValue(name);\n }\n attributes || (attributes = {});\n attributes = getValue(attributes);\n if (!isObject(attributes)) {\n ref2 = [attributes, text], text = ref2[0], attributes = ref2[1];\n }\n child = new XMLElement(this, name, attributes);\n if (text != null) {\n child.text(text);\n }\n this.children.push(child);\n return child;\n };\n\n XMLNode.prototype.text = function(value) {\n var child;\n if (isObject(value)) {\n this.element(value);\n }\n child = new XMLText(this, value);\n this.children.push(child);\n return this;\n };\n\n XMLNode.prototype.cdata = function(value) {\n var child;\n child = new XMLCData(this, value);\n this.children.push(child);\n return this;\n };\n\n XMLNode.prototype.comment = function(value) {\n var child;\n child = new XMLComment(this, value);\n this.children.push(child);\n return this;\n };\n\n XMLNode.prototype.commentBefore = function(value) {\n var child, i, removed;\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i);\n child = this.parent.comment(value);\n Array.prototype.push.apply(this.parent.children, removed);\n return this;\n };\n\n XMLNode.prototype.commentAfter = function(value) {\n var child, i, removed;\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i + 1);\n child = this.parent.comment(value);\n Array.prototype.push.apply(this.parent.children, removed);\n return this;\n };\n\n XMLNode.prototype.raw = function(value) {\n var child;\n child = new XMLRaw(this, value);\n this.children.push(child);\n return this;\n };\n\n XMLNode.prototype.dummy = function() {\n var child;\n child = new XMLDummy(this);\n return child;\n };\n\n XMLNode.prototype.instruction = function(target, value) {\n var insTarget, insValue, instruction, j, len;\n if (target != null) {\n target = getValue(target);\n }\n if (value != null) {\n value = getValue(value);\n }\n if (Array.isArray(target)) {\n for (j = 0, len = target.length; j < len; j++) {\n insTarget = target[j];\n this.instruction(insTarget);\n }\n } else if (isObject(target)) {\n for (insTarget in target) {\n if (!hasProp.call(target, insTarget)) continue;\n insValue = target[insTarget];\n this.instruction(insTarget, insValue);\n }\n } else {\n if (isFunction(value)) {\n value = value.apply();\n }\n instruction = new XMLProcessingInstruction(this, target, value);\n this.children.push(instruction);\n }\n return this;\n };\n\n XMLNode.prototype.instructionBefore = function(target, value) {\n var child, i, removed;\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i);\n child = this.parent.instruction(target, value);\n Array.prototype.push.apply(this.parent.children, removed);\n return this;\n };\n\n XMLNode.prototype.instructionAfter = function(target, value) {\n var child, i, removed;\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i + 1);\n child = this.parent.instruction(target, value);\n Array.prototype.push.apply(this.parent.children, removed);\n return this;\n };\n\n XMLNode.prototype.declaration = function(version, encoding, standalone) {\n var doc, xmldec;\n doc = this.document();\n xmldec = new XMLDeclaration(doc, version, encoding, standalone);\n if (doc.children.length === 0) {\n doc.children.unshift(xmldec);\n } else if (doc.children[0].type === NodeType.Declaration) {\n doc.children[0] = xmldec;\n } else {\n doc.children.unshift(xmldec);\n }\n return doc.root() || doc;\n };\n\n XMLNode.prototype.dtd = function(pubID, sysID) {\n var child, doc, doctype, i, j, k, len, len1, ref2, ref3;\n doc = this.document();\n doctype = new XMLDocType(doc, pubID, sysID);\n ref2 = doc.children;\n for (i = j = 0, len = ref2.length; j < len; i = ++j) {\n child = ref2[i];\n if (child.type === NodeType.DocType) {\n doc.children[i] = doctype;\n return doctype;\n }\n }\n ref3 = doc.children;\n for (i = k = 0, len1 = ref3.length; k < len1; i = ++k) {\n child = ref3[i];\n if (child.isRoot) {\n doc.children.splice(i, 0, doctype);\n return doctype;\n }\n }\n doc.children.push(doctype);\n return doctype;\n };\n\n XMLNode.prototype.up = function() {\n if (this.isRoot) {\n throw new Error(\"The root node has no parent. Use doc() if you need to get the document object.\");\n }\n return this.parent;\n };\n\n XMLNode.prototype.root = function() {\n var node;\n node = this;\n while (node) {\n if (node.type === NodeType.Document) {\n return node.rootObject;\n } else if (node.isRoot) {\n return node;\n } else {\n node = node.parent;\n }\n }\n };\n\n XMLNode.prototype.document = function() {\n var node;\n node = this;\n while (node) {\n if (node.type === NodeType.Document) {\n return node;\n } else {\n node = node.parent;\n }\n }\n };\n\n XMLNode.prototype.end = function(options) {\n return this.document().end(options);\n };\n\n XMLNode.prototype.prev = function() {\n var i;\n i = this.parent.children.indexOf(this);\n if (i < 1) {\n throw new Error(\"Already at the first node. \" + this.debugInfo());\n }\n return this.parent.children[i - 1];\n };\n\n XMLNode.prototype.next = function() {\n var i;\n i = this.parent.children.indexOf(this);\n if (i === -1 || i === this.parent.children.length - 1) {\n throw new Error(\"Already at the last node. \" + this.debugInfo());\n }\n return this.parent.children[i + 1];\n };\n\n XMLNode.prototype.importDocument = function(doc) {\n var clonedRoot;\n clonedRoot = doc.root().clone();\n clonedRoot.parent = this;\n clonedRoot.isRoot = false;\n this.children.push(clonedRoot);\n return this;\n };\n\n XMLNode.prototype.debugInfo = function(name) {\n var ref2, ref3;\n name = name || this.name;\n if ((name == null) && !((ref2 = this.parent) != null ? ref2.name : void 0)) {\n return \"\";\n } else if (name == null) {\n return \"parent: <\" + this.parent.name + \">\";\n } else if (!((ref3 = this.parent) != null ? ref3.name : void 0)) {\n return \"node: <\" + name + \">\";\n } else {\n return \"node: <\" + name + \">, parent: <\" + this.parent.name + \">\";\n }\n };\n\n XMLNode.prototype.ele = function(name, attributes, text) {\n return this.element(name, attributes, text);\n };\n\n XMLNode.prototype.nod = function(name, attributes, text) {\n return this.node(name, attributes, text);\n };\n\n XMLNode.prototype.txt = function(value) {\n return this.text(value);\n };\n\n XMLNode.prototype.dat = function(value) {\n return this.cdata(value);\n };\n\n XMLNode.prototype.com = function(value) {\n return this.comment(value);\n };\n\n XMLNode.prototype.ins = function(target, value) {\n return this.instruction(target, value);\n };\n\n XMLNode.prototype.doc = function() {\n return this.document();\n };\n\n XMLNode.prototype.dec = function(version, encoding, standalone) {\n return this.declaration(version, encoding, standalone);\n };\n\n XMLNode.prototype.e = function(name, attributes, text) {\n return this.element(name, attributes, text);\n };\n\n XMLNode.prototype.n = function(name, attributes, text) {\n return this.node(name, attributes, text);\n };\n\n XMLNode.prototype.t = function(value) {\n return this.text(value);\n };\n\n XMLNode.prototype.d = function(value) {\n return this.cdata(value);\n };\n\n XMLNode.prototype.c = function(value) {\n return this.comment(value);\n };\n\n XMLNode.prototype.r = function(value) {\n return this.raw(value);\n };\n\n XMLNode.prototype.i = function(target, value) {\n return this.instruction(target, value);\n };\n\n XMLNode.prototype.u = function() {\n return this.up();\n };\n\n XMLNode.prototype.importXMLBuilder = function(doc) {\n return this.importDocument(doc);\n };\n\n XMLNode.prototype.replaceChild = function(newChild, oldChild) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.removeChild = function(oldChild) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.appendChild = function(newChild) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.hasChildNodes = function() {\n return this.children.length !== 0;\n };\n\n XMLNode.prototype.cloneNode = function(deep) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.normalize = function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.isSupported = function(feature, version) {\n return true;\n };\n\n XMLNode.prototype.hasAttributes = function() {\n return this.attribs.length !== 0;\n };\n\n XMLNode.prototype.compareDocumentPosition = function(other) {\n var ref, res;\n ref = this;\n if (ref === other) {\n return 0;\n } else if (this.document() !== other.document()) {\n res = DocumentPosition.Disconnected | DocumentPosition.ImplementationSpecific;\n if (Math.random() < 0.5) {\n res |= DocumentPosition.Preceding;\n } else {\n res |= DocumentPosition.Following;\n }\n return res;\n } else if (ref.isAncestor(other)) {\n return DocumentPosition.Contains | DocumentPosition.Preceding;\n } else if (ref.isDescendant(other)) {\n return DocumentPosition.Contains | DocumentPosition.Following;\n } else if (ref.isPreceding(other)) {\n return DocumentPosition.Preceding;\n } else {\n return DocumentPosition.Following;\n }\n };\n\n XMLNode.prototype.isSameNode = function(other) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.lookupPrefix = function(namespaceURI) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.isDefaultNamespace = function(namespaceURI) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.lookupNamespaceURI = function(prefix) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.isEqualNode = function(node) {\n var i, j, ref2;\n if (node.nodeType !== this.nodeType) {\n return false;\n }\n if (node.children.length !== this.children.length) {\n return false;\n }\n for (i = j = 0, ref2 = this.children.length - 1; 0 <= ref2 ? j <= ref2 : j >= ref2; i = 0 <= ref2 ? ++j : --j) {\n if (!this.children[i].isEqualNode(node.children[i])) {\n return false;\n }\n }\n return true;\n };\n\n XMLNode.prototype.getFeature = function(feature, version) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.setUserData = function(key, data, handler) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.getUserData = function(key) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.contains = function(other) {\n if (!other) {\n return false;\n }\n return other === this || this.isDescendant(other);\n };\n\n XMLNode.prototype.isDescendant = function(node) {\n var child, isDescendantChild, j, len, ref2;\n ref2 = this.children;\n for (j = 0, len = ref2.length; j < len; j++) {\n child = ref2[j];\n if (node === child) {\n return true;\n }\n isDescendantChild = child.isDescendant(node);\n if (isDescendantChild) {\n return true;\n }\n }\n return false;\n };\n\n XMLNode.prototype.isAncestor = function(node) {\n return node.isDescendant(this);\n };\n\n XMLNode.prototype.isPreceding = function(node) {\n var nodePos, thisPos;\n nodePos = this.treePosition(node);\n thisPos = this.treePosition(this);\n if (nodePos === -1 || thisPos === -1) {\n return false;\n } else {\n return nodePos < thisPos;\n }\n };\n\n XMLNode.prototype.isFollowing = function(node) {\n var nodePos, thisPos;\n nodePos = this.treePosition(node);\n thisPos = this.treePosition(this);\n if (nodePos === -1 || thisPos === -1) {\n return false;\n } else {\n return nodePos > thisPos;\n }\n };\n\n XMLNode.prototype.treePosition = function(node) {\n var found, pos;\n pos = 0;\n found = false;\n this.foreachTreeNode(this.document(), function(childNode) {\n pos++;\n if (!found && childNode === node) {\n return found = true;\n }\n });\n if (found) {\n return pos;\n } else {\n return -1;\n }\n };\n\n XMLNode.prototype.foreachTreeNode = function(node, func) {\n var child, j, len, ref2, res;\n node || (node = this.document());\n ref2 = node.children;\n for (j = 0, len = ref2.length; j < len; j++) {\n child = ref2[j];\n if (res = func(child)) {\n return res;\n } else {\n res = this.foreachTreeNode(child, func);\n if (res) {\n return res;\n }\n }\n }\n };\n\n return XMLNode;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLStringifier,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n hasProp = {}.hasOwnProperty;\n\n module.exports = XMLStringifier = (function() {\n function XMLStringifier(options) {\n this.assertLegalName = bind(this.assertLegalName, this);\n this.assertLegalChar = bind(this.assertLegalChar, this);\n var key, ref, value;\n options || (options = {});\n this.options = options;\n if (!this.options.version) {\n this.options.version = '1.0';\n }\n ref = options.stringify || {};\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n value = ref[key];\n this[key] = value;\n }\n }\n\n XMLStringifier.prototype.name = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalName('' + val || '');\n };\n\n XMLStringifier.prototype.text = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar(this.textEscape('' + val || ''));\n };\n\n XMLStringifier.prototype.cdata = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n val = val.replace(']]>', ']]]]><![CDATA[>');\n return this.assertLegalChar(val);\n };\n\n XMLStringifier.prototype.comment = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n if (val.match(/--/)) {\n throw new Error(\"Comment text cannot contain double-hypen: \" + val);\n }\n return this.assertLegalChar(val);\n };\n\n XMLStringifier.prototype.raw = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return '' + val || '';\n };\n\n XMLStringifier.prototype.attValue = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar(this.attEscape(val = '' + val || ''));\n };\n\n XMLStringifier.prototype.insTarget = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.insValue = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n if (val.match(/\\?>/)) {\n throw new Error(\"Invalid processing instruction value: \" + val);\n }\n return this.assertLegalChar(val);\n };\n\n XMLStringifier.prototype.xmlVersion = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n if (!val.match(/1\\.[0-9]+/)) {\n throw new Error(\"Invalid version number: \" + val);\n }\n return val;\n };\n\n XMLStringifier.prototype.xmlEncoding = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n if (!val.match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/)) {\n throw new Error(\"Invalid encoding: \" + val);\n }\n return this.assertLegalChar(val);\n };\n\n XMLStringifier.prototype.xmlStandalone = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n if (val) {\n return \"yes\";\n } else {\n return \"no\";\n }\n };\n\n XMLStringifier.prototype.dtdPubID = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdSysID = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdElementValue = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdAttType = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdAttDefault = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdEntityValue = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdNData = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.convertAttKey = '@';\n\n XMLStringifier.prototype.convertPIKey = '?';\n\n XMLStringifier.prototype.convertTextKey = '#text';\n\n XMLStringifier.prototype.convertCDataKey = '#cdata';\n\n XMLStringifier.prototype.convertCommentKey = '#comment';\n\n XMLStringifier.prototype.convertRawKey = '#raw';\n\n XMLStringifier.prototype.assertLegalChar = function(str) {\n var regex, res;\n if (this.options.noValidation) {\n return str;\n }\n regex = '';\n if (this.options.version === '1.0') {\n regex = /[\\0-\\x08\\x0B\\f\\x0E-\\x1F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n if (res = str.match(regex)) {\n throw new Error(\"Invalid character in string: \" + str + \" at index \" + res.index);\n }\n } else if (this.options.version === '1.1') {\n regex = /[\\0\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n if (res = str.match(regex)) {\n throw new Error(\"Invalid character in string: \" + str + \" at index \" + res.index);\n }\n }\n return str;\n };\n\n XMLStringifier.prototype.assertLegalName = function(str) {\n var regex;\n if (this.options.noValidation) {\n return str;\n }\n this.assertLegalChar(str);\n 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])*$/;\n if (!str.match(regex)) {\n throw new Error(\"Invalid character in name\");\n }\n return str;\n };\n\n XMLStringifier.prototype.textEscape = function(str) {\n var ampregex;\n if (this.options.noValidation) {\n return str;\n }\n ampregex = this.options.noDoubleEncoding ? /(?!&\\S+;)&/g : /&/g;\n return str.replace(ampregex, '&').replace(/</g, '<').replace(/>/g, '>').replace(/\\r/g, '
');\n };\n\n XMLStringifier.prototype.attEscape = function(str) {\n var ampregex;\n if (this.options.noValidation) {\n return str;\n }\n ampregex = this.options.noDoubleEncoding ? /(?!&\\S+;)&/g : /&/g;\n return str.replace(ampregex, '&').replace(/</g, '<').replace(/\"/g, '"').replace(/\\t/g, '	').replace(/\\n/g, '
').replace(/\\r/g, '
');\n };\n\n return XMLStringifier;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n module.exports = {\n None: 0,\n OpenTag: 1,\n InsideTag: 2,\n CloseTag: 3\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, WriterState, XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDeclaration, XMLDocType, XMLDummy, XMLElement, XMLProcessingInstruction, XMLRaw, XMLText, XMLWriterBase, assign,\n hasProp = {}.hasOwnProperty;\n\n assign = require('./Utility').assign;\n\n NodeType = require('./NodeType');\n\n XMLDeclaration = require('./XMLDeclaration');\n\n XMLDocType = require('./XMLDocType');\n\n XMLCData = require('./XMLCData');\n\n XMLComment = require('./XMLComment');\n\n XMLElement = require('./XMLElement');\n\n XMLRaw = require('./XMLRaw');\n\n XMLText = require('./XMLText');\n\n XMLProcessingInstruction = require('./XMLProcessingInstruction');\n\n XMLDummy = require('./XMLDummy');\n\n XMLDTDAttList = require('./XMLDTDAttList');\n\n XMLDTDElement = require('./XMLDTDElement');\n\n XMLDTDEntity = require('./XMLDTDEntity');\n\n XMLDTDNotation = require('./XMLDTDNotation');\n\n WriterState = require('./WriterState');\n\n module.exports = XMLWriterBase = (function() {\n function XMLWriterBase(options) {\n var key, ref, value;\n options || (options = {});\n this.options = options;\n ref = options.writer || {};\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n value = ref[key];\n this[\"_\" + key] = this[key];\n this[key] = value;\n }\n }\n\n XMLWriterBase.prototype.filterOptions = function(options) {\n var filteredOptions, ref, ref1, ref2, ref3, ref4, ref5, ref6;\n options || (options = {});\n options = assign({}, this.options, options);\n filteredOptions = {\n writer: this\n };\n filteredOptions.pretty = options.pretty || false;\n filteredOptions.allowEmpty = options.allowEmpty || false;\n filteredOptions.indent = (ref = options.indent) != null ? ref : ' ';\n filteredOptions.newline = (ref1 = options.newline) != null ? ref1 : '\\n';\n filteredOptions.offset = (ref2 = options.offset) != null ? ref2 : 0;\n filteredOptions.dontPrettyTextNodes = (ref3 = (ref4 = options.dontPrettyTextNodes) != null ? ref4 : options.dontprettytextnodes) != null ? ref3 : 0;\n filteredOptions.spaceBeforeSlash = (ref5 = (ref6 = options.spaceBeforeSlash) != null ? ref6 : options.spacebeforeslash) != null ? ref5 : '';\n if (filteredOptions.spaceBeforeSlash === true) {\n filteredOptions.spaceBeforeSlash = ' ';\n }\n filteredOptions.suppressPrettyCount = 0;\n filteredOptions.user = {};\n filteredOptions.state = WriterState.None;\n return filteredOptions;\n };\n\n XMLWriterBase.prototype.indent = function(node, options, level) {\n var indentLevel;\n if (!options.pretty || options.suppressPrettyCount) {\n return '';\n } else if (options.pretty) {\n indentLevel = (level || 0) + options.offset + 1;\n if (indentLevel > 0) {\n return new Array(indentLevel).join(options.indent);\n }\n }\n return '';\n };\n\n XMLWriterBase.prototype.endline = function(node, options, level) {\n if (!options.pretty || options.suppressPrettyCount) {\n return '';\n } else {\n return options.newline;\n }\n };\n\n XMLWriterBase.prototype.attribute = function(att, options, level) {\n var r;\n this.openAttribute(att, options, level);\n r = ' ' + att.name + '=\"' + att.value + '\"';\n this.closeAttribute(att, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.cdata = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<![CDATA[';\n options.state = WriterState.InsideTag;\n r += node.value;\n options.state = WriterState.CloseTag;\n r += ']]>' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.comment = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<!-- ';\n options.state = WriterState.InsideTag;\n r += node.value;\n options.state = WriterState.CloseTag;\n r += ' -->' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.declaration = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<?xml';\n options.state = WriterState.InsideTag;\n r += ' version=\"' + node.version + '\"';\n if (node.encoding != null) {\n r += ' encoding=\"' + node.encoding + '\"';\n }\n if (node.standalone != null) {\n r += ' standalone=\"' + node.standalone + '\"';\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '?>';\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.docType = function(node, options, level) {\n var child, i, len, r, ref;\n level || (level = 0);\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level);\n r += '<!DOCTYPE ' + node.root().name;\n if (node.pubID && node.sysID) {\n r += ' PUBLIC \"' + node.pubID + '\" \"' + node.sysID + '\"';\n } else if (node.sysID) {\n r += ' SYSTEM \"' + node.sysID + '\"';\n }\n if (node.children.length > 0) {\n r += ' [';\n r += this.endline(node, options, level);\n options.state = WriterState.InsideTag;\n ref = node.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n r += this.writeChildNode(child, options, level + 1);\n }\n options.state = WriterState.CloseTag;\n r += ']';\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '>';\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.element = function(node, options, level) {\n var att, child, childNodeCount, firstChildNode, i, j, len, len1, name, prettySuppressed, r, ref, ref1, ref2;\n level || (level = 0);\n prettySuppressed = false;\n r = '';\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r += this.indent(node, options, level) + '<' + node.name;\n ref = node.attribs;\n for (name in ref) {\n if (!hasProp.call(ref, name)) continue;\n att = ref[name];\n r += this.attribute(att, options, level);\n }\n childNodeCount = node.children.length;\n firstChildNode = childNodeCount === 0 ? null : node.children[0];\n if (childNodeCount === 0 || node.children.every(function(e) {\n return (e.type === NodeType.Text || e.type === NodeType.Raw) && e.value === '';\n })) {\n if (options.allowEmpty) {\n r += '>';\n options.state = WriterState.CloseTag;\n r += '</' + node.name + '>' + this.endline(node, options, level);\n } else {\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '/>' + this.endline(node, options, level);\n }\n } else if (options.pretty && childNodeCount === 1 && (firstChildNode.type === NodeType.Text || firstChildNode.type === NodeType.Raw) && (firstChildNode.value != null)) {\n r += '>';\n options.state = WriterState.InsideTag;\n options.suppressPrettyCount++;\n prettySuppressed = true;\n r += this.writeChildNode(firstChildNode, options, level + 1);\n options.suppressPrettyCount--;\n prettySuppressed = false;\n options.state = WriterState.CloseTag;\n r += '</' + node.name + '>' + this.endline(node, options, level);\n } else {\n if (options.dontPrettyTextNodes) {\n ref1 = node.children;\n for (i = 0, len = ref1.length; i < len; i++) {\n child = ref1[i];\n if ((child.type === NodeType.Text || child.type === NodeType.Raw) && (child.value != null)) {\n options.suppressPrettyCount++;\n prettySuppressed = true;\n break;\n }\n }\n }\n r += '>' + this.endline(node, options, level);\n options.state = WriterState.InsideTag;\n ref2 = node.children;\n for (j = 0, len1 = ref2.length; j < len1; j++) {\n child = ref2[j];\n r += this.writeChildNode(child, options, level + 1);\n }\n options.state = WriterState.CloseTag;\n r += this.indent(node, options, level) + '</' + node.name + '>';\n if (prettySuppressed) {\n options.suppressPrettyCount--;\n }\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n }\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.writeChildNode = function(node, options, level) {\n switch (node.type) {\n case NodeType.CData:\n return this.cdata(node, options, level);\n case NodeType.Comment:\n return this.comment(node, options, level);\n case NodeType.Element:\n return this.element(node, options, level);\n case NodeType.Raw:\n return this.raw(node, options, level);\n case NodeType.Text:\n return this.text(node, options, level);\n case NodeType.ProcessingInstruction:\n return this.processingInstruction(node, options, level);\n case NodeType.Dummy:\n return '';\n case NodeType.Declaration:\n return this.declaration(node, options, level);\n case NodeType.DocType:\n return this.docType(node, options, level);\n case NodeType.AttributeDeclaration:\n return this.dtdAttList(node, options, level);\n case NodeType.ElementDeclaration:\n return this.dtdElement(node, options, level);\n case NodeType.EntityDeclaration:\n return this.dtdEntity(node, options, level);\n case NodeType.NotationDeclaration:\n return this.dtdNotation(node, options, level);\n default:\n throw new Error(\"Unknown XML node type: \" + node.constructor.name);\n }\n };\n\n XMLWriterBase.prototype.processingInstruction = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<?';\n options.state = WriterState.InsideTag;\n r += node.target;\n if (node.value) {\n r += ' ' + node.value;\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '?>';\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.raw = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level);\n options.state = WriterState.InsideTag;\n r += node.value;\n options.state = WriterState.CloseTag;\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.text = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level);\n options.state = WriterState.InsideTag;\n r += node.value;\n options.state = WriterState.CloseTag;\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.dtdAttList = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<!ATTLIST';\n options.state = WriterState.InsideTag;\n r += ' ' + node.elementName + ' ' + node.attributeName + ' ' + node.attributeType;\n if (node.defaultValueType !== '#DEFAULT') {\n r += ' ' + node.defaultValueType;\n }\n if (node.defaultValue) {\n r += ' \"' + node.defaultValue + '\"';\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '>' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.dtdElement = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<!ELEMENT';\n options.state = WriterState.InsideTag;\n r += ' ' + node.name + ' ' + node.value;\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '>' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.dtdEntity = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<!ENTITY';\n options.state = WriterState.InsideTag;\n if (node.pe) {\n r += ' %';\n }\n r += ' ' + node.name;\n if (node.value) {\n r += ' \"' + node.value + '\"';\n } else {\n if (node.pubID && node.sysID) {\n r += ' PUBLIC \"' + node.pubID + '\" \"' + node.sysID + '\"';\n } else if (node.sysID) {\n r += ' SYSTEM \"' + node.sysID + '\"';\n }\n if (node.nData) {\n r += ' NDATA ' + node.nData;\n }\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '>' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.dtdNotation = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<!NOTATION';\n options.state = WriterState.InsideTag;\n r += ' ' + node.name;\n if (node.pubID && node.sysID) {\n r += ' PUBLIC \"' + node.pubID + '\" \"' + node.sysID + '\"';\n } else if (node.pubID) {\n r += ' PUBLIC \"' + node.pubID + '\"';\n } else if (node.sysID) {\n r += ' SYSTEM \"' + node.sysID + '\"';\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '>' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.openNode = function(node, options, level) {};\n\n XMLWriterBase.prototype.closeNode = function(node, options, level) {};\n\n XMLWriterBase.prototype.openAttribute = function(att, options, level) {};\n\n XMLWriterBase.prototype.closeAttribute = function(att, options, level) {};\n\n return XMLWriterBase;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLStringWriter, XMLWriterBase,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLWriterBase = require('./XMLWriterBase');\n\n module.exports = XMLStringWriter = (function(superClass) {\n extend(XMLStringWriter, superClass);\n\n function XMLStringWriter(options) {\n XMLStringWriter.__super__.constructor.call(this, options);\n }\n\n XMLStringWriter.prototype.document = function(doc, options) {\n var child, i, len, r, ref;\n options = this.filterOptions(options);\n r = '';\n ref = doc.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n r += this.writeChildNode(child, options, 0);\n }\n if (options.pretty && r.slice(-options.newline.length) === options.newline) {\n r = r.slice(0, -options.newline.length);\n }\n return r;\n };\n\n return XMLStringWriter;\n\n })(XMLWriterBase);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDOMConfiguration, XMLDOMImplementation, XMLDocument, XMLNode, XMLStringWriter, XMLStringifier, isPlainObject,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n isPlainObject = require('./Utility').isPlainObject;\n\n XMLDOMImplementation = require('./XMLDOMImplementation');\n\n XMLDOMConfiguration = require('./XMLDOMConfiguration');\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n XMLStringifier = require('./XMLStringifier');\n\n XMLStringWriter = require('./XMLStringWriter');\n\n module.exports = XMLDocument = (function(superClass) {\n extend(XMLDocument, superClass);\n\n function XMLDocument(options) {\n XMLDocument.__super__.constructor.call(this, null);\n this.name = \"#document\";\n this.type = NodeType.Document;\n this.documentURI = null;\n this.domConfig = new XMLDOMConfiguration();\n options || (options = {});\n if (!options.writer) {\n options.writer = new XMLStringWriter();\n }\n this.options = options;\n this.stringify = new XMLStringifier(options);\n }\n\n Object.defineProperty(XMLDocument.prototype, 'implementation', {\n value: new XMLDOMImplementation()\n });\n\n Object.defineProperty(XMLDocument.prototype, 'doctype', {\n get: function() {\n var child, i, len, ref;\n ref = this.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n if (child.type === NodeType.DocType) {\n return child;\n }\n }\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'documentElement', {\n get: function() {\n return this.rootObject || null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'inputEncoding', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'strictErrorChecking', {\n get: function() {\n return false;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'xmlEncoding', {\n get: function() {\n if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) {\n return this.children[0].encoding;\n } else {\n return null;\n }\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'xmlStandalone', {\n get: function() {\n if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) {\n return this.children[0].standalone === 'yes';\n } else {\n return false;\n }\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'xmlVersion', {\n get: function() {\n if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) {\n return this.children[0].version;\n } else {\n return \"1.0\";\n }\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'URL', {\n get: function() {\n return this.documentURI;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'origin', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'compatMode', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'characterSet', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'contentType', {\n get: function() {\n return null;\n }\n });\n\n XMLDocument.prototype.end = function(writer) {\n var writerOptions;\n writerOptions = {};\n if (!writer) {\n writer = this.options.writer;\n } else if (isPlainObject(writer)) {\n writerOptions = writer;\n writer = this.options.writer;\n }\n return writer.document(this, writer.filterOptions(writerOptions));\n };\n\n XMLDocument.prototype.toString = function(options) {\n return this.options.writer.document(this, this.options.writer.filterOptions(options));\n };\n\n XMLDocument.prototype.createElement = function(tagName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createDocumentFragment = function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createTextNode = function(data) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createComment = function(data) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createCDATASection = function(data) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createProcessingInstruction = function(target, data) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createAttribute = function(name) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createEntityReference = function(name) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.getElementsByTagName = function(tagname) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.importNode = function(importedNode, deep) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createElementNS = function(namespaceURI, qualifiedName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createAttributeNS = function(namespaceURI, qualifiedName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.getElementsByTagNameNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.getElementById = function(elementId) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.adoptNode = function(source) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.normalizeDocument = function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.renameNode = function(node, namespaceURI, qualifiedName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.getElementsByClassName = function(classNames) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createEvent = function(eventInterface) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createRange = function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createNodeIterator = function(root, whatToShow, filter) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createTreeWalker = function(root, whatToShow, filter) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n return XMLDocument;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, WriterState, XMLAttribute, XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDeclaration, XMLDocType, XMLDocument, XMLDocumentCB, XMLElement, XMLProcessingInstruction, XMLRaw, XMLStringWriter, XMLStringifier, XMLText, getValue, isFunction, isObject, isPlainObject, ref,\n hasProp = {}.hasOwnProperty;\n\n ref = require('./Utility'), isObject = ref.isObject, isFunction = ref.isFunction, isPlainObject = ref.isPlainObject, getValue = ref.getValue;\n\n NodeType = require('./NodeType');\n\n XMLDocument = require('./XMLDocument');\n\n XMLElement = require('./XMLElement');\n\n XMLCData = require('./XMLCData');\n\n XMLComment = require('./XMLComment');\n\n XMLRaw = require('./XMLRaw');\n\n XMLText = require('./XMLText');\n\n XMLProcessingInstruction = require('./XMLProcessingInstruction');\n\n XMLDeclaration = require('./XMLDeclaration');\n\n XMLDocType = require('./XMLDocType');\n\n XMLDTDAttList = require('./XMLDTDAttList');\n\n XMLDTDEntity = require('./XMLDTDEntity');\n\n XMLDTDElement = require('./XMLDTDElement');\n\n XMLDTDNotation = require('./XMLDTDNotation');\n\n XMLAttribute = require('./XMLAttribute');\n\n XMLStringifier = require('./XMLStringifier');\n\n XMLStringWriter = require('./XMLStringWriter');\n\n WriterState = require('./WriterState');\n\n module.exports = XMLDocumentCB = (function() {\n function XMLDocumentCB(options, onData, onEnd) {\n var writerOptions;\n this.name = \"?xml\";\n this.type = NodeType.Document;\n options || (options = {});\n writerOptions = {};\n if (!options.writer) {\n options.writer = new XMLStringWriter();\n } else if (isPlainObject(options.writer)) {\n writerOptions = options.writer;\n options.writer = new XMLStringWriter();\n }\n this.options = options;\n this.writer = options.writer;\n this.writerOptions = this.writer.filterOptions(writerOptions);\n this.stringify = new XMLStringifier(options);\n this.onDataCallback = onData || function() {};\n this.onEndCallback = onEnd || function() {};\n this.currentNode = null;\n this.currentLevel = -1;\n this.openTags = {};\n this.documentStarted = false;\n this.documentCompleted = false;\n this.root = null;\n }\n\n XMLDocumentCB.prototype.createChildNode = function(node) {\n var att, attName, attributes, child, i, len, ref1, ref2;\n switch (node.type) {\n case NodeType.CData:\n this.cdata(node.value);\n break;\n case NodeType.Comment:\n this.comment(node.value);\n break;\n case NodeType.Element:\n attributes = {};\n ref1 = node.attribs;\n for (attName in ref1) {\n if (!hasProp.call(ref1, attName)) continue;\n att = ref1[attName];\n attributes[attName] = att.value;\n }\n this.node(node.name, attributes);\n break;\n case NodeType.Dummy:\n this.dummy();\n break;\n case NodeType.Raw:\n this.raw(node.value);\n break;\n case NodeType.Text:\n this.text(node.value);\n break;\n case NodeType.ProcessingInstruction:\n this.instruction(node.target, node.value);\n break;\n default:\n throw new Error(\"This XML node type is not supported in a JS object: \" + node.constructor.name);\n }\n ref2 = node.children;\n for (i = 0, len = ref2.length; i < len; i++) {\n child = ref2[i];\n this.createChildNode(child);\n if (child.type === NodeType.Element) {\n this.up();\n }\n }\n return this;\n };\n\n XMLDocumentCB.prototype.dummy = function() {\n return this;\n };\n\n XMLDocumentCB.prototype.node = function(name, attributes, text) {\n var ref1;\n if (name == null) {\n throw new Error(\"Missing node name.\");\n }\n if (this.root && this.currentLevel === -1) {\n throw new Error(\"Document can only have one root node. \" + this.debugInfo(name));\n }\n this.openCurrent();\n name = getValue(name);\n if (attributes == null) {\n attributes = {};\n }\n attributes = getValue(attributes);\n if (!isObject(attributes)) {\n ref1 = [attributes, text], text = ref1[0], attributes = ref1[1];\n }\n this.currentNode = new XMLElement(this, name, attributes);\n this.currentNode.children = false;\n this.currentLevel++;\n this.openTags[this.currentLevel] = this.currentNode;\n if (text != null) {\n this.text(text);\n }\n return this;\n };\n\n XMLDocumentCB.prototype.element = function(name, attributes, text) {\n var child, i, len, oldValidationFlag, ref1, root;\n if (this.currentNode && this.currentNode.type === NodeType.DocType) {\n this.dtdElement.apply(this, arguments);\n } else {\n if (Array.isArray(name) || isObject(name) || isFunction(name)) {\n oldValidationFlag = this.options.noValidation;\n this.options.noValidation = true;\n root = new XMLDocument(this.options).element('TEMP_ROOT');\n root.element(name);\n this.options.noValidation = oldValidationFlag;\n ref1 = root.children;\n for (i = 0, len = ref1.length; i < len; i++) {\n child = ref1[i];\n this.createChildNode(child);\n if (child.type === NodeType.Element) {\n this.up();\n }\n }\n } else {\n this.node(name, attributes, text);\n }\n }\n return this;\n };\n\n XMLDocumentCB.prototype.attribute = function(name, value) {\n var attName, attValue;\n if (!this.currentNode || this.currentNode.children) {\n throw new Error(\"att() can only be used immediately after an ele() call in callback mode. \" + this.debugInfo(name));\n }\n if (name != null) {\n name = getValue(name);\n }\n if (isObject(name)) {\n for (attName in name) {\n if (!hasProp.call(name, attName)) continue;\n attValue = name[attName];\n this.attribute(attName, attValue);\n }\n } else {\n if (isFunction(value)) {\n value = value.apply();\n }\n if (this.options.keepNullAttributes && (value == null)) {\n this.currentNode.attribs[name] = new XMLAttribute(this, name, \"\");\n } else if (value != null) {\n this.currentNode.attribs[name] = new XMLAttribute(this, name, value);\n }\n }\n return this;\n };\n\n XMLDocumentCB.prototype.text = function(value) {\n var node;\n this.openCurrent();\n node = new XMLText(this, value);\n this.onData(this.writer.text(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.cdata = function(value) {\n var node;\n this.openCurrent();\n node = new XMLCData(this, value);\n this.onData(this.writer.cdata(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.comment = function(value) {\n var node;\n this.openCurrent();\n node = new XMLComment(this, value);\n this.onData(this.writer.comment(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.raw = function(value) {\n var node;\n this.openCurrent();\n node = new XMLRaw(this, value);\n this.onData(this.writer.raw(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.instruction = function(target, value) {\n var i, insTarget, insValue, len, node;\n this.openCurrent();\n if (target != null) {\n target = getValue(target);\n }\n if (value != null) {\n value = getValue(value);\n }\n if (Array.isArray(target)) {\n for (i = 0, len = target.length; i < len; i++) {\n insTarget = target[i];\n this.instruction(insTarget);\n }\n } else if (isObject(target)) {\n for (insTarget in target) {\n if (!hasProp.call(target, insTarget)) continue;\n insValue = target[insTarget];\n this.instruction(insTarget, insValue);\n }\n } else {\n if (isFunction(value)) {\n value = value.apply();\n }\n node = new XMLProcessingInstruction(this, target, value);\n this.onData(this.writer.processingInstruction(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n }\n return this;\n };\n\n XMLDocumentCB.prototype.declaration = function(version, encoding, standalone) {\n var node;\n this.openCurrent();\n if (this.documentStarted) {\n throw new Error(\"declaration() must be the first node.\");\n }\n node = new XMLDeclaration(this, version, encoding, standalone);\n this.onData(this.writer.declaration(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.doctype = function(root, pubID, sysID) {\n this.openCurrent();\n if (root == null) {\n throw new Error(\"Missing root node name.\");\n }\n if (this.root) {\n throw new Error(\"dtd() must come before the root node.\");\n }\n this.currentNode = new XMLDocType(this, pubID, sysID);\n this.currentNode.rootNodeName = root;\n this.currentNode.children = false;\n this.currentLevel++;\n this.openTags[this.currentLevel] = this.currentNode;\n return this;\n };\n\n XMLDocumentCB.prototype.dtdElement = function(name, value) {\n var node;\n this.openCurrent();\n node = new XMLDTDElement(this, name, value);\n this.onData(this.writer.dtdElement(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.attList = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {\n var node;\n this.openCurrent();\n node = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue);\n this.onData(this.writer.dtdAttList(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.entity = function(name, value) {\n var node;\n this.openCurrent();\n node = new XMLDTDEntity(this, false, name, value);\n this.onData(this.writer.dtdEntity(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.pEntity = function(name, value) {\n var node;\n this.openCurrent();\n node = new XMLDTDEntity(this, true, name, value);\n this.onData(this.writer.dtdEntity(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.notation = function(name, value) {\n var node;\n this.openCurrent();\n node = new XMLDTDNotation(this, name, value);\n this.onData(this.writer.dtdNotation(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.up = function() {\n if (this.currentLevel < 0) {\n throw new Error(\"The document node has no parent.\");\n }\n if (this.currentNode) {\n if (this.currentNode.children) {\n this.closeNode(this.currentNode);\n } else {\n this.openNode(this.currentNode);\n }\n this.currentNode = null;\n } else {\n this.closeNode(this.openTags[this.currentLevel]);\n }\n delete this.openTags[this.currentLevel];\n this.currentLevel--;\n return this;\n };\n\n XMLDocumentCB.prototype.end = function() {\n while (this.currentLevel >= 0) {\n this.up();\n }\n return this.onEnd();\n };\n\n XMLDocumentCB.prototype.openCurrent = function() {\n if (this.currentNode) {\n this.currentNode.children = true;\n return this.openNode(this.currentNode);\n }\n };\n\n XMLDocumentCB.prototype.openNode = function(node) {\n var att, chunk, name, ref1;\n if (!node.isOpen) {\n if (!this.root && this.currentLevel === 0 && node.type === NodeType.Element) {\n this.root = node;\n }\n chunk = '';\n if (node.type === NodeType.Element) {\n this.writerOptions.state = WriterState.OpenTag;\n chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + '<' + node.name;\n ref1 = node.attribs;\n for (name in ref1) {\n if (!hasProp.call(ref1, name)) continue;\n att = ref1[name];\n chunk += this.writer.attribute(att, this.writerOptions, this.currentLevel);\n }\n chunk += (node.children ? '>' : '/>') + this.writer.endline(node, this.writerOptions, this.currentLevel);\n this.writerOptions.state = WriterState.InsideTag;\n } else {\n this.writerOptions.state = WriterState.OpenTag;\n chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + '<!DOCTYPE ' + node.rootNodeName;\n if (node.pubID && node.sysID) {\n chunk += ' PUBLIC \"' + node.pubID + '\" \"' + node.sysID + '\"';\n } else if (node.sysID) {\n chunk += ' SYSTEM \"' + node.sysID + '\"';\n }\n if (node.children) {\n chunk += ' [';\n this.writerOptions.state = WriterState.InsideTag;\n } else {\n this.writerOptions.state = WriterState.CloseTag;\n chunk += '>';\n }\n chunk += this.writer.endline(node, this.writerOptions, this.currentLevel);\n }\n this.onData(chunk, this.currentLevel);\n return node.isOpen = true;\n }\n };\n\n XMLDocumentCB.prototype.closeNode = function(node) {\n var chunk;\n if (!node.isClosed) {\n chunk = '';\n this.writerOptions.state = WriterState.CloseTag;\n if (node.type === NodeType.Element) {\n chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + '</' + node.name + '>' + this.writer.endline(node, this.writerOptions, this.currentLevel);\n } else {\n chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + ']>' + this.writer.endline(node, this.writerOptions, this.currentLevel);\n }\n this.writerOptions.state = WriterState.None;\n this.onData(chunk, this.currentLevel);\n return node.isClosed = true;\n }\n };\n\n XMLDocumentCB.prototype.onData = function(chunk, level) {\n this.documentStarted = true;\n return this.onDataCallback(chunk, level + 1);\n };\n\n XMLDocumentCB.prototype.onEnd = function() {\n this.documentCompleted = true;\n return this.onEndCallback();\n };\n\n XMLDocumentCB.prototype.debugInfo = function(name) {\n if (name == null) {\n return \"\";\n } else {\n return \"node: <\" + name + \">\";\n }\n };\n\n XMLDocumentCB.prototype.ele = function() {\n return this.element.apply(this, arguments);\n };\n\n XMLDocumentCB.prototype.nod = function(name, attributes, text) {\n return this.node(name, attributes, text);\n };\n\n XMLDocumentCB.prototype.txt = function(value) {\n return this.text(value);\n };\n\n XMLDocumentCB.prototype.dat = function(value) {\n return this.cdata(value);\n };\n\n XMLDocumentCB.prototype.com = function(value) {\n return this.comment(value);\n };\n\n XMLDocumentCB.prototype.ins = function(target, value) {\n return this.instruction(target, value);\n };\n\n XMLDocumentCB.prototype.dec = function(version, encoding, standalone) {\n return this.declaration(version, encoding, standalone);\n };\n\n XMLDocumentCB.prototype.dtd = function(root, pubID, sysID) {\n return this.doctype(root, pubID, sysID);\n };\n\n XMLDocumentCB.prototype.e = function(name, attributes, text) {\n return this.element(name, attributes, text);\n };\n\n XMLDocumentCB.prototype.n = function(name, attributes, text) {\n return this.node(name, attributes, text);\n };\n\n XMLDocumentCB.prototype.t = function(value) {\n return this.text(value);\n };\n\n XMLDocumentCB.prototype.d = function(value) {\n return this.cdata(value);\n };\n\n XMLDocumentCB.prototype.c = function(value) {\n return this.comment(value);\n };\n\n XMLDocumentCB.prototype.r = function(value) {\n return this.raw(value);\n };\n\n XMLDocumentCB.prototype.i = function(target, value) {\n return this.instruction(target, value);\n };\n\n XMLDocumentCB.prototype.att = function() {\n if (this.currentNode && this.currentNode.type === NodeType.DocType) {\n return this.attList.apply(this, arguments);\n } else {\n return this.attribute.apply(this, arguments);\n }\n };\n\n XMLDocumentCB.prototype.a = function() {\n if (this.currentNode && this.currentNode.type === NodeType.DocType) {\n return this.attList.apply(this, arguments);\n } else {\n return this.attribute.apply(this, arguments);\n }\n };\n\n XMLDocumentCB.prototype.ent = function(name, value) {\n return this.entity(name, value);\n };\n\n XMLDocumentCB.prototype.pent = function(name, value) {\n return this.pEntity(name, value);\n };\n\n XMLDocumentCB.prototype.not = function(name, value) {\n return this.notation(name, value);\n };\n\n return XMLDocumentCB;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, WriterState, XMLStreamWriter, XMLWriterBase,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLWriterBase = require('./XMLWriterBase');\n\n WriterState = require('./WriterState');\n\n module.exports = XMLStreamWriter = (function(superClass) {\n extend(XMLStreamWriter, superClass);\n\n function XMLStreamWriter(stream, options) {\n this.stream = stream;\n XMLStreamWriter.__super__.constructor.call(this, options);\n }\n\n XMLStreamWriter.prototype.endline = function(node, options, level) {\n if (node.isLastRootNode && options.state === WriterState.CloseTag) {\n return '';\n } else {\n return XMLStreamWriter.__super__.endline.call(this, node, options, level);\n }\n };\n\n XMLStreamWriter.prototype.document = function(doc, options) {\n var child, i, j, k, len, len1, ref, ref1, results;\n ref = doc.children;\n for (i = j = 0, len = ref.length; j < len; i = ++j) {\n child = ref[i];\n child.isLastRootNode = i === doc.children.length - 1;\n }\n options = this.filterOptions(options);\n ref1 = doc.children;\n results = [];\n for (k = 0, len1 = ref1.length; k < len1; k++) {\n child = ref1[k];\n results.push(this.writeChildNode(child, options, 0));\n }\n return results;\n };\n\n XMLStreamWriter.prototype.attribute = function(att, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.attribute.call(this, att, options, level));\n };\n\n XMLStreamWriter.prototype.cdata = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.cdata.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.comment = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.comment.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.declaration = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.declaration.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.docType = function(node, options, level) {\n var child, j, len, ref;\n level || (level = 0);\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n this.stream.write(this.indent(node, options, level));\n this.stream.write('<!DOCTYPE ' + node.root().name);\n if (node.pubID && node.sysID) {\n this.stream.write(' PUBLIC \"' + node.pubID + '\" \"' + node.sysID + '\"');\n } else if (node.sysID) {\n this.stream.write(' SYSTEM \"' + node.sysID + '\"');\n }\n if (node.children.length > 0) {\n this.stream.write(' [');\n this.stream.write(this.endline(node, options, level));\n options.state = WriterState.InsideTag;\n ref = node.children;\n for (j = 0, len = ref.length; j < len; j++) {\n child = ref[j];\n this.writeChildNode(child, options, level + 1);\n }\n options.state = WriterState.CloseTag;\n this.stream.write(']');\n }\n options.state = WriterState.CloseTag;\n this.stream.write(options.spaceBeforeSlash + '>');\n this.stream.write(this.endline(node, options, level));\n options.state = WriterState.None;\n return this.closeNode(node, options, level);\n };\n\n XMLStreamWriter.prototype.element = function(node, options, level) {\n var att, child, childNodeCount, firstChildNode, j, len, name, prettySuppressed, ref, ref1;\n level || (level = 0);\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n this.stream.write(this.indent(node, options, level) + '<' + node.name);\n ref = node.attribs;\n for (name in ref) {\n if (!hasProp.call(ref, name)) continue;\n att = ref[name];\n this.attribute(att, options, level);\n }\n childNodeCount = node.children.length;\n firstChildNode = childNodeCount === 0 ? null : node.children[0];\n if (childNodeCount === 0 || node.children.every(function(e) {\n return (e.type === NodeType.Text || e.type === NodeType.Raw) && e.value === '';\n })) {\n if (options.allowEmpty) {\n this.stream.write('>');\n options.state = WriterState.CloseTag;\n this.stream.write('</' + node.name + '>');\n } else {\n options.state = WriterState.CloseTag;\n this.stream.write(options.spaceBeforeSlash + '/>');\n }\n } else if (options.pretty && childNodeCount === 1 && (firstChildNode.type === NodeType.Text || firstChildNode.type === NodeType.Raw) && (firstChildNode.value != null)) {\n this.stream.write('>');\n options.state = WriterState.InsideTag;\n options.suppressPrettyCount++;\n prettySuppressed = true;\n this.writeChildNode(firstChildNode, options, level + 1);\n options.suppressPrettyCount--;\n prettySuppressed = false;\n options.state = WriterState.CloseTag;\n this.stream.write('</' + node.name + '>');\n } else {\n this.stream.write('>' + this.endline(node, options, level));\n options.state = WriterState.InsideTag;\n ref1 = node.children;\n for (j = 0, len = ref1.length; j < len; j++) {\n child = ref1[j];\n this.writeChildNode(child, options, level + 1);\n }\n options.state = WriterState.CloseTag;\n this.stream.write(this.indent(node, options, level) + '</' + node.name + '>');\n }\n this.stream.write(this.endline(node, options, level));\n options.state = WriterState.None;\n return this.closeNode(node, options, level);\n };\n\n XMLStreamWriter.prototype.processingInstruction = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.processingInstruction.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.raw = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.raw.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.text = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.text.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.dtdAttList = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.dtdAttList.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.dtdElement = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.dtdElement.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.dtdEntity = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.dtdEntity.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.dtdNotation = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.dtdNotation.call(this, node, options, level));\n };\n\n return XMLStreamWriter;\n\n })(XMLWriterBase);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, WriterState, XMLDOMImplementation, XMLDocument, XMLDocumentCB, XMLStreamWriter, XMLStringWriter, assign, isFunction, ref;\n\n ref = require('./Utility'), assign = ref.assign, isFunction = ref.isFunction;\n\n XMLDOMImplementation = require('./XMLDOMImplementation');\n\n XMLDocument = require('./XMLDocument');\n\n XMLDocumentCB = require('./XMLDocumentCB');\n\n XMLStringWriter = require('./XMLStringWriter');\n\n XMLStreamWriter = require('./XMLStreamWriter');\n\n NodeType = require('./NodeType');\n\n WriterState = require('./WriterState');\n\n module.exports.create = function(name, xmldec, doctype, options) {\n var doc, root;\n if (name == null) {\n throw new Error(\"Root element needs a name.\");\n }\n options = assign({}, xmldec, doctype, options);\n doc = new XMLDocument(options);\n root = doc.element(name);\n if (!options.headless) {\n doc.declaration(options);\n if ((options.pubID != null) || (options.sysID != null)) {\n doc.dtd(options);\n }\n }\n return root;\n };\n\n module.exports.begin = function(options, onData, onEnd) {\n var ref1;\n if (isFunction(options)) {\n ref1 = [options, onData], onData = ref1[0], onEnd = ref1[1];\n options = {};\n }\n if (onData) {\n return new XMLDocumentCB(options, onData, onEnd);\n } else {\n return new XMLDocument(options);\n }\n };\n\n module.exports.stringWriter = function(options) {\n return new XMLStringWriter(options);\n };\n\n module.exports.streamWriter = function(stream, options) {\n return new XMLStreamWriter(stream, options);\n };\n\n module.exports.implementation = new XMLDOMImplementation();\n\n module.exports.nodeType = NodeType;\n\n module.exports.writerState = WriterState;\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n \"use strict\";\n var builder, defaults, escapeCDATA, requiresCDATA, wrapCDATA,\n hasProp = {}.hasOwnProperty;\n\n builder = require('xmlbuilder');\n\n defaults = require('./defaults').defaults;\n\n requiresCDATA = function(entry) {\n return typeof entry === \"string\" && (entry.indexOf('&') >= 0 || entry.indexOf('>') >= 0 || entry.indexOf('<') >= 0);\n };\n\n wrapCDATA = function(entry) {\n return \"<![CDATA[\" + (escapeCDATA(entry)) + \"]]>\";\n };\n\n escapeCDATA = function(entry) {\n return entry.replace(']]>', ']]]]><![CDATA[>');\n };\n\n exports.Builder = (function() {\n function Builder(opts) {\n var key, ref, value;\n this.options = {};\n ref = defaults[\"0.2\"];\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n value = ref[key];\n this.options[key] = value;\n }\n for (key in opts) {\n if (!hasProp.call(opts, key)) continue;\n value = opts[key];\n this.options[key] = value;\n }\n }\n\n Builder.prototype.buildObject = function(rootObj) {\n var attrkey, charkey, render, rootElement, rootName;\n attrkey = this.options.attrkey;\n charkey = this.options.charkey;\n if ((Object.keys(rootObj).length === 1) && (this.options.rootName === defaults['0.2'].rootName)) {\n rootName = Object.keys(rootObj)[0];\n rootObj = rootObj[rootName];\n } else {\n rootName = this.options.rootName;\n }\n render = (function(_this) {\n return function(element, obj) {\n var attr, child, entry, index, key, value;\n if (typeof obj !== 'object') {\n if (_this.options.cdata && requiresCDATA(obj)) {\n element.raw(wrapCDATA(obj));\n } else {\n element.txt(obj);\n }\n } else if (Array.isArray(obj)) {\n for (index in obj) {\n if (!hasProp.call(obj, index)) continue;\n child = obj[index];\n for (key in child) {\n entry = child[key];\n element = render(element.ele(key), entry).up();\n }\n }\n } else {\n for (key in obj) {\n if (!hasProp.call(obj, key)) continue;\n child = obj[key];\n if (key === attrkey) {\n if (typeof child === \"object\") {\n for (attr in child) {\n value = child[attr];\n element = element.att(attr, value);\n }\n }\n } else if (key === charkey) {\n if (_this.options.cdata && requiresCDATA(child)) {\n element = element.raw(wrapCDATA(child));\n } else {\n element = element.txt(child);\n }\n } else if (Array.isArray(child)) {\n for (index in child) {\n if (!hasProp.call(child, index)) continue;\n entry = child[index];\n if (typeof entry === 'string') {\n if (_this.options.cdata && requiresCDATA(entry)) {\n element = element.ele(key).raw(wrapCDATA(entry)).up();\n } else {\n element = element.ele(key, entry).up();\n }\n } else {\n element = render(element.ele(key), entry).up();\n }\n }\n } else if (typeof child === \"object\") {\n element = render(element.ele(key), child).up();\n } else {\n if (typeof child === 'string' && _this.options.cdata && requiresCDATA(child)) {\n element = element.ele(key).raw(wrapCDATA(child)).up();\n } else {\n if (child == null) {\n child = '';\n }\n element = element.ele(key, child.toString()).up();\n }\n }\n }\n }\n return element;\n };\n })(this);\n rootElement = builder.create(rootName, this.options.xmldec, this.options.doctype, {\n headless: this.options.headless,\n allowSurrogateChars: this.options.allowSurrogateChars\n });\n return render(rootElement, rootObj).end(this.options.renderOpts);\n };\n\n return Builder;\n\n })();\n\n}).call(this);\n",";(function (sax) { // wrapper for non-node envs\n sax.parser = function (strict, opt) { return new SAXParser(strict, opt) }\n sax.SAXParser = SAXParser\n sax.SAXStream = SAXStream\n sax.createStream = createStream\n\n // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.\n // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),\n // since that's the earliest that a buffer overrun could occur. This way, checks are\n // as rare as required, but as often as necessary to ensure never crossing this bound.\n // Furthermore, buffers are only tested at most once per write(), so passing a very\n // large string into write() might have undesirable effects, but this is manageable by\n // the caller, so it is assumed to be safe. Thus, a call to write() may, in the extreme\n // edge case, result in creating at most one complete copy of the string passed in.\n // Set to Infinity to have unlimited buffers.\n sax.MAX_BUFFER_LENGTH = 64 * 1024\n\n var buffers = [\n 'comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype',\n 'procInstName', 'procInstBody', 'entity', 'attribName',\n 'attribValue', 'cdata', 'script'\n ]\n\n sax.EVENTS = [\n 'text',\n 'processinginstruction',\n 'sgmldeclaration',\n 'doctype',\n 'comment',\n 'opentagstart',\n 'attribute',\n 'opentag',\n 'closetag',\n 'opencdata',\n 'cdata',\n 'closecdata',\n 'error',\n 'end',\n 'ready',\n 'script',\n 'opennamespace',\n 'closenamespace'\n ]\n\n function SAXParser (strict, opt) {\n if (!(this instanceof SAXParser)) {\n return new SAXParser(strict, opt)\n }\n\n var parser = this\n clearBuffers(parser)\n parser.q = parser.c = ''\n parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH\n parser.opt = opt || {}\n parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags\n parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'\n parser.tags = []\n parser.closed = parser.closedRoot = parser.sawRoot = false\n parser.tag = parser.error = null\n parser.strict = !!strict\n parser.noscript = !!(strict || parser.opt.noscript)\n parser.state = S.BEGIN\n parser.strictEntities = parser.opt.strictEntities\n parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES)\n parser.attribList = []\n\n // namespaces form a prototype chain.\n // it always points at the current tag,\n // which protos to its parent tag.\n if (parser.opt.xmlns) {\n parser.ns = Object.create(rootNS)\n }\n\n // disallow unquoted attribute values if not otherwise configured\n // and strict mode is true\n if (parser.opt.unquotedAttributeValues === undefined) {\n parser.opt.unquotedAttributeValues = !strict;\n }\n\n // mostly just for error reporting\n parser.trackPosition = parser.opt.position !== false\n if (parser.trackPosition) {\n parser.position = parser.line = parser.column = 0\n }\n emit(parser, 'onready')\n }\n\n if (!Object.create) {\n Object.create = function (o) {\n function F () {}\n F.prototype = o\n var newf = new F()\n return newf\n }\n }\n\n if (!Object.keys) {\n Object.keys = function (o) {\n var a = []\n for (var i in o) if (o.hasOwnProperty(i)) a.push(i)\n return a\n }\n }\n\n function checkBufferLength (parser) {\n var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)\n var maxActual = 0\n for (var i = 0, l = buffers.length; i < l; i++) {\n var len = parser[buffers[i]].length\n if (len > maxAllowed) {\n // Text/cdata nodes can get big, and since they're buffered,\n // we can get here under normal conditions.\n // Avoid issues by emitting the text node now,\n // so at least it won't get any bigger.\n switch (buffers[i]) {\n case 'textNode':\n closeText(parser)\n break\n\n case 'cdata':\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n break\n\n case 'script':\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n break\n\n default:\n error(parser, 'Max buffer length exceeded: ' + buffers[i])\n }\n }\n maxActual = Math.max(maxActual, len)\n }\n // schedule the next check for the earliest possible buffer overrun.\n var m = sax.MAX_BUFFER_LENGTH - maxActual\n parser.bufferCheckPosition = m + parser.position\n }\n\n function clearBuffers (parser) {\n for (var i = 0, l = buffers.length; i < l; i++) {\n parser[buffers[i]] = ''\n }\n }\n\n function flushBuffers (parser) {\n closeText(parser)\n if (parser.cdata !== '') {\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n }\n if (parser.script !== '') {\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n }\n\n SAXParser.prototype = {\n end: function () { end(this) },\n write: write,\n resume: function () { this.error = null; return this },\n close: function () { return this.write(null) },\n flush: function () { flushBuffers(this) }\n }\n\n var Stream\n try {\n Stream = require('stream').Stream\n } catch (ex) {\n Stream = function () {}\n }\n if (!Stream) Stream = function () {}\n\n var streamWraps = sax.EVENTS.filter(function (ev) {\n return ev !== 'error' && ev !== 'end'\n })\n\n function createStream (strict, opt) {\n return new SAXStream(strict, opt)\n }\n\n function SAXStream (strict, opt) {\n if (!(this instanceof SAXStream)) {\n return new SAXStream(strict, opt)\n }\n\n Stream.apply(this)\n\n this._parser = new SAXParser(strict, opt)\n this.writable = true\n this.readable = true\n\n var me = this\n\n this._parser.onend = function () {\n me.emit('end')\n }\n\n this._parser.onerror = function (er) {\n me.emit('error', er)\n\n // if didn't throw, then means error was handled.\n // go ahead and clear error, so we can write again.\n me._parser.error = null\n }\n\n this._decoder = null\n\n streamWraps.forEach(function (ev) {\n Object.defineProperty(me, 'on' + ev, {\n get: function () {\n return me._parser['on' + ev]\n },\n set: function (h) {\n if (!h) {\n me.removeAllListeners(ev)\n me._parser['on' + ev] = h\n return h\n }\n me.on(ev, h)\n },\n enumerable: true,\n configurable: false\n })\n })\n }\n\n SAXStream.prototype = Object.create(Stream.prototype, {\n constructor: {\n value: SAXStream\n }\n })\n\n SAXStream.prototype.write = function (data) {\n if (typeof Buffer === 'function' &&\n typeof Buffer.isBuffer === 'function' &&\n Buffer.isBuffer(data)) {\n if (!this._decoder) {\n var SD = require('string_decoder').StringDecoder\n this._decoder = new SD('utf8')\n }\n data = this._decoder.write(data)\n }\n\n this._parser.write(data.toString())\n this.emit('data', data)\n return true\n }\n\n SAXStream.prototype.end = function (chunk) {\n if (chunk && chunk.length) {\n this.write(chunk)\n }\n this._parser.end()\n return true\n }\n\n SAXStream.prototype.on = function (ev, handler) {\n var me = this\n if (!me._parser['on' + ev] && streamWraps.indexOf(ev) !== -1) {\n me._parser['on' + ev] = function () {\n var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments)\n args.splice(0, 0, ev)\n me.emit.apply(me, args)\n }\n }\n\n return Stream.prototype.on.call(me, ev, handler)\n }\n\n // this really needs to be replaced with character classes.\n // XML allows all manner of ridiculous numbers and digits.\n var CDATA = '[CDATA['\n var DOCTYPE = 'DOCTYPE'\n var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'\n var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'\n var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE }\n\n // http://www.w3.org/TR/REC-xml/#NT-NameStartChar\n // This implementation works on strings, a single character at a time\n // as such, it cannot ever support astral-plane characters (10000-EFFFF)\n // without a significant breaking change to either this parser, or the\n // JavaScript language. Implementation of an emoji-capable xml parser\n // is left as an exercise for the reader.\n var 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]/\n\n var 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-]/\n\n var 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]/\n var 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-]/\n\n function isWhitespace (c) {\n return c === ' ' || c === '\\n' || c === '\\r' || c === '\\t'\n }\n\n function isQuote (c) {\n return c === '\"' || c === '\\''\n }\n\n function isAttribEnd (c) {\n return c === '>' || isWhitespace(c)\n }\n\n function isMatch (regex, c) {\n return regex.test(c)\n }\n\n function notMatch (regex, c) {\n return !isMatch(regex, c)\n }\n\n var S = 0\n sax.STATE = {\n BEGIN: S++, // leading byte order mark or whitespace\n BEGIN_WHITESPACE: S++, // leading whitespace\n TEXT: S++, // general stuff\n TEXT_ENTITY: S++, // & and such.\n OPEN_WAKA: S++, // <\n SGML_DECL: S++, // <!BLARG\n SGML_DECL_QUOTED: S++, // <!BLARG foo \"bar\n DOCTYPE: S++, // <!DOCTYPE\n DOCTYPE_QUOTED: S++, // <!DOCTYPE \"//blah\n DOCTYPE_DTD: S++, // <!DOCTYPE \"//blah\" [ ...\n DOCTYPE_DTD_QUOTED: S++, // <!DOCTYPE \"//blah\" [ \"foo\n COMMENT_STARTING: S++, // <!-\n COMMENT: S++, // <!--\n COMMENT_ENDING: S++, // <!-- blah -\n COMMENT_ENDED: S++, // <!-- blah --\n CDATA: S++, // <![CDATA[ something\n CDATA_ENDING: S++, // ]\n CDATA_ENDING_2: S++, // ]]\n PROC_INST: S++, // <?hi\n PROC_INST_BODY: S++, // <?hi there\n PROC_INST_ENDING: S++, // <?hi \"there\" ?\n OPEN_TAG: S++, // <strong\n OPEN_TAG_SLASH: S++, // <strong /\n ATTRIB: S++, // <a\n ATTRIB_NAME: S++, // <a foo\n ATTRIB_NAME_SAW_WHITE: S++, // <a foo _\n ATTRIB_VALUE: S++, // <a foo=\n ATTRIB_VALUE_QUOTED: S++, // <a foo=\"bar\n ATTRIB_VALUE_CLOSED: S++, // <a foo=\"bar\"\n ATTRIB_VALUE_UNQUOTED: S++, // <a foo=bar\n ATTRIB_VALUE_ENTITY_Q: S++, // <foo bar=\""\"\n ATTRIB_VALUE_ENTITY_U: S++, // <foo bar="\n CLOSE_TAG: S++, // </a\n CLOSE_TAG_SAW_WHITE: S++, // </a >\n SCRIPT: S++, // <script> ...\n SCRIPT_ENDING: S++ // <script> ... <\n }\n\n sax.XML_ENTITIES = {\n 'amp': '&',\n 'gt': '>',\n 'lt': '<',\n 'quot': '\"',\n 'apos': \"'\"\n }\n\n sax.ENTITIES = {\n 'amp': '&',\n 'gt': '>',\n 'lt': '<',\n 'quot': '\"',\n 'apos': \"'\",\n 'AElig': 198,\n 'Aacute': 193,\n 'Acirc': 194,\n 'Agrave': 192,\n 'Aring': 197,\n 'Atilde': 195,\n 'Auml': 196,\n 'Ccedil': 199,\n 'ETH': 208,\n 'Eacute': 201,\n 'Ecirc': 202,\n 'Egrave': 200,\n 'Euml': 203,\n 'Iacute': 205,\n 'Icirc': 206,\n 'Igrave': 204,\n 'Iuml': 207,\n 'Ntilde': 209,\n 'Oacute': 211,\n 'Ocirc': 212,\n 'Ograve': 210,\n 'Oslash': 216,\n 'Otilde': 213,\n 'Ouml': 214,\n 'THORN': 222,\n 'Uacute': 218,\n 'Ucirc': 219,\n 'Ugrave': 217,\n 'Uuml': 220,\n 'Yacute': 221,\n 'aacute': 225,\n 'acirc': 226,\n 'aelig': 230,\n 'agrave': 224,\n 'aring': 229,\n 'atilde': 227,\n 'auml': 228,\n 'ccedil': 231,\n 'eacute': 233,\n 'ecirc': 234,\n 'egrave': 232,\n 'eth': 240,\n 'euml': 235,\n 'iacute': 237,\n 'icirc': 238,\n 'igrave': 236,\n 'iuml': 239,\n 'ntilde': 241,\n 'oacute': 243,\n 'ocirc': 244,\n 'ograve': 242,\n 'oslash': 248,\n 'otilde': 245,\n 'ouml': 246,\n 'szlig': 223,\n 'thorn': 254,\n 'uacute': 250,\n 'ucirc': 251,\n 'ugrave': 249,\n 'uuml': 252,\n 'yacute': 253,\n 'yuml': 255,\n 'copy': 169,\n 'reg': 174,\n 'nbsp': 160,\n 'iexcl': 161,\n 'cent': 162,\n 'pound': 163,\n 'curren': 164,\n 'yen': 165,\n 'brvbar': 166,\n 'sect': 167,\n 'uml': 168,\n 'ordf': 170,\n 'laquo': 171,\n 'not': 172,\n 'shy': 173,\n 'macr': 175,\n 'deg': 176,\n 'plusmn': 177,\n 'sup1': 185,\n 'sup2': 178,\n 'sup3': 179,\n 'acute': 180,\n 'micro': 181,\n 'para': 182,\n 'middot': 183,\n 'cedil': 184,\n 'ordm': 186,\n 'raquo': 187,\n 'frac14': 188,\n 'frac12': 189,\n 'frac34': 190,\n 'iquest': 191,\n 'times': 215,\n 'divide': 247,\n 'OElig': 338,\n 'oelig': 339,\n 'Scaron': 352,\n 'scaron': 353,\n 'Yuml': 376,\n 'fnof': 402,\n 'circ': 710,\n 'tilde': 732,\n 'Alpha': 913,\n 'Beta': 914,\n 'Gamma': 915,\n 'Delta': 916,\n 'Epsilon': 917,\n 'Zeta': 918,\n 'Eta': 919,\n 'Theta': 920,\n 'Iota': 921,\n 'Kappa': 922,\n 'Lambda': 923,\n 'Mu': 924,\n 'Nu': 925,\n 'Xi': 926,\n 'Omicron': 927,\n 'Pi': 928,\n 'Rho': 929,\n 'Sigma': 931,\n 'Tau': 932,\n 'Upsilon': 933,\n 'Phi': 934,\n 'Chi': 935,\n 'Psi': 936,\n 'Omega': 937,\n 'alpha': 945,\n 'beta': 946,\n 'gamma': 947,\n 'delta': 948,\n 'epsilon': 949,\n 'zeta': 950,\n 'eta': 951,\n 'theta': 952,\n 'iota': 953,\n 'kappa': 954,\n 'lambda': 955,\n 'mu': 956,\n 'nu': 957,\n 'xi': 958,\n 'omicron': 959,\n 'pi': 960,\n 'rho': 961,\n 'sigmaf': 962,\n 'sigma': 963,\n 'tau': 964,\n 'upsilon': 965,\n 'phi': 966,\n 'chi': 967,\n 'psi': 968,\n 'omega': 969,\n 'thetasym': 977,\n 'upsih': 978,\n 'piv': 982,\n 'ensp': 8194,\n 'emsp': 8195,\n 'thinsp': 8201,\n 'zwnj': 8204,\n 'zwj': 8205,\n 'lrm': 8206,\n 'rlm': 8207,\n 'ndash': 8211,\n 'mdash': 8212,\n 'lsquo': 8216,\n 'rsquo': 8217,\n 'sbquo': 8218,\n 'ldquo': 8220,\n 'rdquo': 8221,\n 'bdquo': 8222,\n 'dagger': 8224,\n 'Dagger': 8225,\n 'bull': 8226,\n 'hellip': 8230,\n 'permil': 8240,\n 'prime': 8242,\n 'Prime': 8243,\n 'lsaquo': 8249,\n 'rsaquo': 8250,\n 'oline': 8254,\n 'frasl': 8260,\n 'euro': 8364,\n 'image': 8465,\n 'weierp': 8472,\n 'real': 8476,\n 'trade': 8482,\n 'alefsym': 8501,\n 'larr': 8592,\n 'uarr': 8593,\n 'rarr': 8594,\n 'darr': 8595,\n 'harr': 8596,\n 'crarr': 8629,\n 'lArr': 8656,\n 'uArr': 8657,\n 'rArr': 8658,\n 'dArr': 8659,\n 'hArr': 8660,\n 'forall': 8704,\n 'part': 8706,\n 'exist': 8707,\n 'empty': 8709,\n 'nabla': 8711,\n 'isin': 8712,\n 'notin': 8713,\n 'ni': 8715,\n 'prod': 8719,\n 'sum': 8721,\n 'minus': 8722,\n 'lowast': 8727,\n 'radic': 8730,\n 'prop': 8733,\n 'infin': 8734,\n 'ang': 8736,\n 'and': 8743,\n 'or': 8744,\n 'cap': 8745,\n 'cup': 8746,\n 'int': 8747,\n 'there4': 8756,\n 'sim': 8764,\n 'cong': 8773,\n 'asymp': 8776,\n 'ne': 8800,\n 'equiv': 8801,\n 'le': 8804,\n 'ge': 8805,\n 'sub': 8834,\n 'sup': 8835,\n 'nsub': 8836,\n 'sube': 8838,\n 'supe': 8839,\n 'oplus': 8853,\n 'otimes': 8855,\n 'perp': 8869,\n 'sdot': 8901,\n 'lceil': 8968,\n 'rceil': 8969,\n 'lfloor': 8970,\n 'rfloor': 8971,\n 'lang': 9001,\n 'rang': 9002,\n 'loz': 9674,\n 'spades': 9824,\n 'clubs': 9827,\n 'hearts': 9829,\n 'diams': 9830\n }\n\n Object.keys(sax.ENTITIES).forEach(function (key) {\n var e = sax.ENTITIES[key]\n var s = typeof e === 'number' ? String.fromCharCode(e) : e\n sax.ENTITIES[key] = s\n })\n\n for (var s in sax.STATE) {\n sax.STATE[sax.STATE[s]] = s\n }\n\n // shorthand\n S = sax.STATE\n\n function emit (parser, event, data) {\n parser[event] && parser[event](data)\n }\n\n function emitNode (parser, nodeType, data) {\n if (parser.textNode) closeText(parser)\n emit(parser, nodeType, data)\n }\n\n function closeText (parser) {\n parser.textNode = textopts(parser.opt, parser.textNode)\n if (parser.textNode) emit(parser, 'ontext', parser.textNode)\n parser.textNode = ''\n }\n\n function textopts (opt, text) {\n if (opt.trim) text = text.trim()\n if (opt.normalize) text = text.replace(/\\s+/g, ' ')\n return text\n }\n\n function error (parser, er) {\n closeText(parser)\n if (parser.trackPosition) {\n er += '\\nLine: ' + parser.line +\n '\\nColumn: ' + parser.column +\n '\\nChar: ' + parser.c\n }\n er = new Error(er)\n parser.error = er\n emit(parser, 'onerror', er)\n return parser\n }\n\n function end (parser) {\n if (parser.sawRoot && !parser.closedRoot) strictFail(parser, 'Unclosed root tag')\n if ((parser.state !== S.BEGIN) &&\n (parser.state !== S.BEGIN_WHITESPACE) &&\n (parser.state !== S.TEXT)) {\n error(parser, 'Unexpected end')\n }\n closeText(parser)\n parser.c = ''\n parser.closed = true\n emit(parser, 'onend')\n SAXParser.call(parser, parser.strict, parser.opt)\n return parser\n }\n\n function strictFail (parser, message) {\n if (typeof parser !== 'object' || !(parser instanceof SAXParser)) {\n throw new Error('bad call to strictFail')\n }\n if (parser.strict) {\n error(parser, message)\n }\n }\n\n function newTag (parser) {\n if (!parser.strict) parser.tagName = parser.tagName[parser.looseCase]()\n var parent = parser.tags[parser.tags.length - 1] || parser\n var tag = parser.tag = { name: parser.tagName, attributes: {} }\n\n // will be overridden if tag contails an xmlns=\"foo\" or xmlns:foo=\"bar\"\n if (parser.opt.xmlns) {\n tag.ns = parent.ns\n }\n parser.attribList.length = 0\n emitNode(parser, 'onopentagstart', tag)\n }\n\n function qname (name, attribute) {\n var i = name.indexOf(':')\n var qualName = i < 0 ? [ '', name ] : name.split(':')\n var prefix = qualName[0]\n var local = qualName[1]\n\n // <x \"xmlns\"=\"http://foo\">\n if (attribute && name === 'xmlns') {\n prefix = 'xmlns'\n local = ''\n }\n\n return { prefix: prefix, local: local }\n }\n\n function attrib (parser) {\n if (!parser.strict) {\n parser.attribName = parser.attribName[parser.looseCase]()\n }\n\n if (parser.attribList.indexOf(parser.attribName) !== -1 ||\n parser.tag.attributes.hasOwnProperty(parser.attribName)) {\n parser.attribName = parser.attribValue = ''\n return\n }\n\n if (parser.opt.xmlns) {\n var qn = qname(parser.attribName, true)\n var prefix = qn.prefix\n var local = qn.local\n\n if (prefix === 'xmlns') {\n // namespace binding attribute. push the binding into scope\n if (local === 'xml' && parser.attribValue !== XML_NAMESPACE) {\n strictFail(parser,\n 'xml: prefix must be bound to ' + XML_NAMESPACE + '\\n' +\n 'Actual: ' + parser.attribValue)\n } else if (local === 'xmlns' && parser.attribValue !== XMLNS_NAMESPACE) {\n strictFail(parser,\n 'xmlns: prefix must be bound to ' + XMLNS_NAMESPACE + '\\n' +\n 'Actual: ' + parser.attribValue)\n } else {\n var tag = parser.tag\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (tag.ns === parent.ns) {\n tag.ns = Object.create(parent.ns)\n }\n tag.ns[local] = parser.attribValue\n }\n }\n\n // defer onattribute events until all attributes have been seen\n // so any new bindings can take effect. preserve attribute order\n // so deferred events can be emitted in document order\n parser.attribList.push([parser.attribName, parser.attribValue])\n } else {\n // in non-xmlns mode, we can emit the event right away\n parser.tag.attributes[parser.attribName] = parser.attribValue\n emitNode(parser, 'onattribute', {\n name: parser.attribName,\n value: parser.attribValue\n })\n }\n\n parser.attribName = parser.attribValue = ''\n }\n\n function openTag (parser, selfClosing) {\n if (parser.opt.xmlns) {\n // emit namespace binding events\n var tag = parser.tag\n\n // add namespace info to tag\n var qn = qname(parser.tagName)\n tag.prefix = qn.prefix\n tag.local = qn.local\n tag.uri = tag.ns[qn.prefix] || ''\n\n if (tag.prefix && !tag.uri) {\n strictFail(parser, 'Unbound namespace prefix: ' +\n JSON.stringify(parser.tagName))\n tag.uri = qn.prefix\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (tag.ns && parent.ns !== tag.ns) {\n Object.keys(tag.ns).forEach(function (p) {\n emitNode(parser, 'onopennamespace', {\n prefix: p,\n uri: tag.ns[p]\n })\n })\n }\n\n // handle deferred onattribute events\n // Note: do not apply default ns to attributes:\n // http://www.w3.org/TR/REC-xml-names/#defaulting\n for (var i = 0, l = parser.attribList.length; i < l; i++) {\n var nv = parser.attribList[i]\n var name = nv[0]\n var value = nv[1]\n var qualName = qname(name, true)\n var prefix = qualName.prefix\n var local = qualName.local\n var uri = prefix === '' ? '' : (tag.ns[prefix] || '')\n var a = {\n name: name,\n value: value,\n prefix: prefix,\n local: local,\n uri: uri\n }\n\n // if there's any attributes with an undefined namespace,\n // then fail on them now.\n if (prefix && prefix !== 'xmlns' && !uri) {\n strictFail(parser, 'Unbound namespace prefix: ' +\n JSON.stringify(prefix))\n a.uri = prefix\n }\n parser.tag.attributes[name] = a\n emitNode(parser, 'onattribute', a)\n }\n parser.attribList.length = 0\n }\n\n parser.tag.isSelfClosing = !!selfClosing\n\n // process the tag\n parser.sawRoot = true\n parser.tags.push(parser.tag)\n emitNode(parser, 'onopentag', parser.tag)\n if (!selfClosing) {\n // special case for <script> in non-strict mode.\n if (!parser.noscript && parser.tagName.toLowerCase() === 'script') {\n parser.state = S.SCRIPT\n } else {\n parser.state = S.TEXT\n }\n parser.tag = null\n parser.tagName = ''\n }\n parser.attribName = parser.attribValue = ''\n parser.attribList.length = 0\n }\n\n function closeTag (parser) {\n if (!parser.tagName) {\n strictFail(parser, 'Weird empty close tag.')\n parser.textNode += '</>'\n parser.state = S.TEXT\n return\n }\n\n if (parser.script) {\n if (parser.tagName !== 'script') {\n parser.script += '</' + parser.tagName + '>'\n parser.tagName = ''\n parser.state = S.SCRIPT\n return\n }\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n\n // first make sure that the closing tag actually exists.\n // <a><b></c></b></a> will close everything, otherwise.\n var t = parser.tags.length\n var tagName = parser.tagName\n if (!parser.strict) {\n tagName = tagName[parser.looseCase]()\n }\n var closeTo = tagName\n while (t--) {\n var close = parser.tags[t]\n if (close.name !== closeTo) {\n // fail the first time in strict mode\n strictFail(parser, 'Unexpected close tag')\n } else {\n break\n }\n }\n\n // didn't find it. we already failed for strict, so just abort.\n if (t < 0) {\n strictFail(parser, 'Unmatched closing tag: ' + parser.tagName)\n parser.textNode += '</' + parser.tagName + '>'\n parser.state = S.TEXT\n return\n }\n parser.tagName = tagName\n var s = parser.tags.length\n while (s-- > t) {\n var tag = parser.tag = parser.tags.pop()\n parser.tagName = parser.tag.name\n emitNode(parser, 'onclosetag', parser.tagName)\n\n var x = {}\n for (var i in tag.ns) {\n x[i] = tag.ns[i]\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (parser.opt.xmlns && tag.ns !== parent.ns) {\n // remove namespace bindings introduced by tag\n Object.keys(tag.ns).forEach(function (p) {\n var n = tag.ns[p]\n emitNode(parser, 'onclosenamespace', { prefix: p, uri: n })\n })\n }\n }\n if (t === 0) parser.closedRoot = true\n parser.tagName = parser.attribValue = parser.attribName = ''\n parser.attribList.length = 0\n parser.state = S.TEXT\n }\n\n function parseEntity (parser) {\n var entity = parser.entity\n var entityLC = entity.toLowerCase()\n var num\n var numStr = ''\n\n if (parser.ENTITIES[entity]) {\n return parser.ENTITIES[entity]\n }\n if (parser.ENTITIES[entityLC]) {\n return parser.ENTITIES[entityLC]\n }\n entity = entityLC\n if (entity.charAt(0) === '#') {\n if (entity.charAt(1) === 'x') {\n entity = entity.slice(2)\n num = parseInt(entity, 16)\n numStr = num.toString(16)\n } else {\n entity = entity.slice(1)\n num = parseInt(entity, 10)\n numStr = num.toString(10)\n }\n }\n entity = entity.replace(/^0+/, '')\n if (isNaN(num) || numStr.toLowerCase() !== entity) {\n strictFail(parser, 'Invalid character entity')\n return '&' + parser.entity + ';'\n }\n\n return String.fromCodePoint(num)\n }\n\n function beginWhiteSpace (parser, c) {\n if (c === '<') {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else if (!isWhitespace(c)) {\n // have to process this as a text node.\n // weird, but happens.\n strictFail(parser, 'Non-whitespace before first tag.')\n parser.textNode = c\n parser.state = S.TEXT\n }\n }\n\n function charAt (chunk, i) {\n var result = ''\n if (i < chunk.length) {\n result = chunk.charAt(i)\n }\n return result\n }\n\n function write (chunk) {\n var parser = this\n if (this.error) {\n throw this.error\n }\n if (parser.closed) {\n return error(parser,\n 'Cannot write after close. Assign an onready handler.')\n }\n if (chunk === null) {\n return end(parser)\n }\n if (typeof chunk === 'object') {\n chunk = chunk.toString()\n }\n var i = 0\n var c = ''\n while (true) {\n c = charAt(chunk, i++)\n parser.c = c\n\n if (!c) {\n break\n }\n\n if (parser.trackPosition) {\n parser.position++\n if (c === '\\n') {\n parser.line++\n parser.column = 0\n } else {\n parser.column++\n }\n }\n\n switch (parser.state) {\n case S.BEGIN:\n parser.state = S.BEGIN_WHITESPACE\n if (c === '\\uFEFF') {\n continue\n }\n beginWhiteSpace(parser, c)\n continue\n\n case S.BEGIN_WHITESPACE:\n beginWhiteSpace(parser, c)\n continue\n\n case S.TEXT:\n if (parser.sawRoot && !parser.closedRoot) {\n var starti = i - 1\n while (c && c !== '<' && c !== '&') {\n c = charAt(chunk, i++)\n if (c && parser.trackPosition) {\n parser.position++\n if (c === '\\n') {\n parser.line++\n parser.column = 0\n } else {\n parser.column++\n }\n }\n }\n parser.textNode += chunk.substring(starti, i - 1)\n }\n if (c === '<' && !(parser.sawRoot && parser.closedRoot && !parser.strict)) {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else {\n if (!isWhitespace(c) && (!parser.sawRoot || parser.closedRoot)) {\n strictFail(parser, 'Text data outside of root node.')\n }\n if (c === '&') {\n parser.state = S.TEXT_ENTITY\n } else {\n parser.textNode += c\n }\n }\n continue\n\n case S.SCRIPT:\n // only non-strict\n if (c === '<') {\n parser.state = S.SCRIPT_ENDING\n } else {\n parser.script += c\n }\n continue\n\n case S.SCRIPT_ENDING:\n if (c === '/') {\n parser.state = S.CLOSE_TAG\n } else {\n parser.script += '<' + c\n parser.state = S.SCRIPT\n }\n continue\n\n case S.OPEN_WAKA:\n // either a /, ?, !, or text is coming next.\n if (c === '!') {\n parser.state = S.SGML_DECL\n parser.sgmlDecl = ''\n } else if (isWhitespace(c)) {\n // wait for it...\n } else if (isMatch(nameStart, c)) {\n parser.state = S.OPEN_TAG\n parser.tagName = c\n } else if (c === '/') {\n parser.state = S.CLOSE_TAG\n parser.tagName = ''\n } else if (c === '?') {\n parser.state = S.PROC_INST\n parser.procInstName = parser.procInstBody = ''\n } else {\n strictFail(parser, 'Unencoded <')\n // if there was some whitespace, then add that in.\n if (parser.startTagPosition + 1 < parser.position) {\n var pad = parser.position - parser.startTagPosition\n c = new Array(pad).join(' ') + c\n }\n parser.textNode += '<' + c\n parser.state = S.TEXT\n }\n continue\n\n case S.SGML_DECL:\n if (parser.sgmlDecl + c === '--') {\n parser.state = S.COMMENT\n parser.comment = ''\n parser.sgmlDecl = ''\n continue;\n }\n\n if (parser.doctype && parser.doctype !== true && parser.sgmlDecl) {\n parser.state = S.DOCTYPE_DTD\n parser.doctype += '<!' + parser.sgmlDecl + c\n parser.sgmlDecl = ''\n } else if ((parser.sgmlDecl + c).toUpperCase() === CDATA) {\n emitNode(parser, 'onopencdata')\n parser.state = S.CDATA\n parser.sgmlDecl = ''\n parser.cdata = ''\n } else if ((parser.sgmlDecl + c).toUpperCase() === DOCTYPE) {\n parser.state = S.DOCTYPE\n if (parser.doctype || parser.sawRoot) {\n strictFail(parser,\n 'Inappropriately located doctype declaration')\n }\n parser.doctype = ''\n parser.sgmlDecl = ''\n } else if (c === '>') {\n emitNode(parser, 'onsgmldeclaration', parser.sgmlDecl)\n parser.sgmlDecl = ''\n parser.state = S.TEXT\n } else if (isQuote(c)) {\n parser.state = S.SGML_DECL_QUOTED\n parser.sgmlDecl += c\n } else {\n parser.sgmlDecl += c\n }\n continue\n\n case S.SGML_DECL_QUOTED:\n if (c === parser.q) {\n parser.state = S.SGML_DECL\n parser.q = ''\n }\n parser.sgmlDecl += c\n continue\n\n case S.DOCTYPE:\n if (c === '>') {\n parser.state = S.TEXT\n emitNode(parser, 'ondoctype', parser.doctype)\n parser.doctype = true // just remember that we saw it.\n } else {\n parser.doctype += c\n if (c === '[') {\n parser.state = S.DOCTYPE_DTD\n } else if (isQuote(c)) {\n parser.state = S.DOCTYPE_QUOTED\n parser.q = c\n }\n }\n continue\n\n case S.DOCTYPE_QUOTED:\n parser.doctype += c\n if (c === parser.q) {\n parser.q = ''\n parser.state = S.DOCTYPE\n }\n continue\n\n case S.DOCTYPE_DTD:\n if (c === ']') {\n parser.doctype += c\n parser.state = S.DOCTYPE\n } else if (c === '<') {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else if (isQuote(c)) {\n parser.doctype += c\n parser.state = S.DOCTYPE_DTD_QUOTED\n parser.q = c\n } else {\n parser.doctype += c\n }\n continue\n\n case S.DOCTYPE_DTD_QUOTED:\n parser.doctype += c\n if (c === parser.q) {\n parser.state = S.DOCTYPE_DTD\n parser.q = ''\n }\n continue\n\n case S.COMMENT:\n if (c === '-') {\n parser.state = S.COMMENT_ENDING\n } else {\n parser.comment += c\n }\n continue\n\n case S.COMMENT_ENDING:\n if (c === '-') {\n parser.state = S.COMMENT_ENDED\n parser.comment = textopts(parser.opt, parser.comment)\n if (parser.comment) {\n emitNode(parser, 'oncomment', parser.comment)\n }\n parser.comment = ''\n } else {\n parser.comment += '-' + c\n parser.state = S.COMMENT\n }\n continue\n\n case S.COMMENT_ENDED:\n if (c !== '>') {\n strictFail(parser, 'Malformed comment')\n // allow <!-- blah -- bloo --> in non-strict mode,\n // which is a comment of \" blah -- bloo \"\n parser.comment += '--' + c\n parser.state = S.COMMENT\n } else if (parser.doctype && parser.doctype !== true) {\n parser.state = S.DOCTYPE_DTD\n } else {\n parser.state = S.TEXT\n }\n continue\n\n case S.CDATA:\n if (c === ']') {\n parser.state = S.CDATA_ENDING\n } else {\n parser.cdata += c\n }\n continue\n\n case S.CDATA_ENDING:\n if (c === ']') {\n parser.state = S.CDATA_ENDING_2\n } else {\n parser.cdata += ']' + c\n parser.state = S.CDATA\n }\n continue\n\n case S.CDATA_ENDING_2:\n if (c === '>') {\n if (parser.cdata) {\n emitNode(parser, 'oncdata', parser.cdata)\n }\n emitNode(parser, 'onclosecdata')\n parser.cdata = ''\n parser.state = S.TEXT\n } else if (c === ']') {\n parser.cdata += ']'\n } else {\n parser.cdata += ']]' + c\n parser.state = S.CDATA\n }\n continue\n\n case S.PROC_INST:\n if (c === '?') {\n parser.state = S.PROC_INST_ENDING\n } else if (isWhitespace(c)) {\n parser.state = S.PROC_INST_BODY\n } else {\n parser.procInstName += c\n }\n continue\n\n case S.PROC_INST_BODY:\n if (!parser.procInstBody && isWhitespace(c)) {\n continue\n } else if (c === '?') {\n parser.state = S.PROC_INST_ENDING\n } else {\n parser.procInstBody += c\n }\n continue\n\n case S.PROC_INST_ENDING:\n if (c === '>') {\n emitNode(parser, 'onprocessinginstruction', {\n name: parser.procInstName,\n body: parser.procInstBody\n })\n parser.procInstName = parser.procInstBody = ''\n parser.state = S.TEXT\n } else {\n parser.procInstBody += '?' + c\n parser.state = S.PROC_INST_BODY\n }\n continue\n\n case S.OPEN_TAG:\n if (isMatch(nameBody, c)) {\n parser.tagName += c\n } else {\n newTag(parser)\n if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, 'Invalid character in tag name')\n }\n parser.state = S.ATTRIB\n }\n }\n continue\n\n case S.OPEN_TAG_SLASH:\n if (c === '>') {\n openTag(parser, true)\n closeTag(parser)\n } else {\n strictFail(parser, 'Forward-slash in opening tag not followed by >')\n parser.state = S.ATTRIB\n }\n continue\n\n case S.ATTRIB:\n // haven't read the attribute name yet.\n if (isWhitespace(c)) {\n continue\n } else if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c\n parser.attribValue = ''\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_NAME:\n if (c === '=') {\n parser.state = S.ATTRIB_VALUE\n } else if (c === '>') {\n strictFail(parser, 'Attribute without value')\n parser.attribValue = parser.attribName\n attrib(parser)\n openTag(parser)\n } else if (isWhitespace(c)) {\n parser.state = S.ATTRIB_NAME_SAW_WHITE\n } else if (isMatch(nameBody, c)) {\n parser.attribName += c\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_NAME_SAW_WHITE:\n if (c === '=') {\n parser.state = S.ATTRIB_VALUE\n } else if (isWhitespace(c)) {\n continue\n } else {\n strictFail(parser, 'Attribute without value')\n parser.tag.attributes[parser.attribName] = ''\n parser.attribValue = ''\n emitNode(parser, 'onattribute', {\n name: parser.attribName,\n value: ''\n })\n parser.attribName = ''\n if (c === '>') {\n openTag(parser)\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n parser.state = S.ATTRIB\n }\n }\n continue\n\n case S.ATTRIB_VALUE:\n if (isWhitespace(c)) {\n continue\n } else if (isQuote(c)) {\n parser.q = c\n parser.state = S.ATTRIB_VALUE_QUOTED\n } else {\n if (!parser.opt.unquotedAttributeValues) {\n error(parser, 'Unquoted attribute value')\n }\n parser.state = S.ATTRIB_VALUE_UNQUOTED\n parser.attribValue = c\n }\n continue\n\n case S.ATTRIB_VALUE_QUOTED:\n if (c !== parser.q) {\n if (c === '&') {\n parser.state = S.ATTRIB_VALUE_ENTITY_Q\n } else {\n parser.attribValue += c\n }\n continue\n }\n attrib(parser)\n parser.q = ''\n parser.state = S.ATTRIB_VALUE_CLOSED\n continue\n\n case S.ATTRIB_VALUE_CLOSED:\n if (isWhitespace(c)) {\n parser.state = S.ATTRIB\n } else if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else if (isMatch(nameStart, c)) {\n strictFail(parser, 'No whitespace between attributes')\n parser.attribName = c\n parser.attribValue = ''\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_VALUE_UNQUOTED:\n if (!isAttribEnd(c)) {\n if (c === '&') {\n parser.state = S.ATTRIB_VALUE_ENTITY_U\n } else {\n parser.attribValue += c\n }\n continue\n }\n attrib(parser)\n if (c === '>') {\n openTag(parser)\n } else {\n parser.state = S.ATTRIB\n }\n continue\n\n case S.CLOSE_TAG:\n if (!parser.tagName) {\n if (isWhitespace(c)) {\n continue\n } else if (notMatch(nameStart, c)) {\n if (parser.script) {\n parser.script += '</' + c\n parser.state = S.SCRIPT\n } else {\n strictFail(parser, 'Invalid tagname in closing tag.')\n }\n } else {\n parser.tagName = c\n }\n } else if (c === '>') {\n closeTag(parser)\n } else if (isMatch(nameBody, c)) {\n parser.tagName += c\n } else if (parser.script) {\n parser.script += '</' + parser.tagName\n parser.tagName = ''\n parser.state = S.SCRIPT\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, 'Invalid tagname in closing tag')\n }\n parser.state = S.CLOSE_TAG_SAW_WHITE\n }\n continue\n\n case S.CLOSE_TAG_SAW_WHITE:\n if (isWhitespace(c)) {\n continue\n }\n if (c === '>') {\n closeTag(parser)\n } else {\n strictFail(parser, 'Invalid characters in closing tag')\n }\n continue\n\n case S.TEXT_ENTITY:\n case S.ATTRIB_VALUE_ENTITY_Q:\n case S.ATTRIB_VALUE_ENTITY_U:\n var returnState\n var buffer\n switch (parser.state) {\n case S.TEXT_ENTITY:\n returnState = S.TEXT\n buffer = 'textNode'\n break\n\n case S.ATTRIB_VALUE_ENTITY_Q:\n returnState = S.ATTRIB_VALUE_QUOTED\n buffer = 'attribValue'\n break\n\n case S.ATTRIB_VALUE_ENTITY_U:\n returnState = S.ATTRIB_VALUE_UNQUOTED\n buffer = 'attribValue'\n break\n }\n\n if (c === ';') {\n var parsedEntity = parseEntity(parser)\n if (parser.opt.unparsedEntities && !Object.values(sax.XML_ENTITIES).includes(parsedEntity)) {\n parser.entity = ''\n parser.state = returnState\n parser.write(parsedEntity)\n } else {\n parser[buffer] += parsedEntity\n parser.entity = ''\n parser.state = returnState\n }\n } else if (isMatch(parser.entity.length ? entityBody : entityStart, c)) {\n parser.entity += c\n } else {\n strictFail(parser, 'Invalid character in entity name')\n parser[buffer] += '&' + parser.entity + c\n parser.entity = ''\n parser.state = returnState\n }\n\n continue\n\n default: /* istanbul ignore next */ {\n throw new Error(parser, 'Unknown state: ' + parser.state)\n }\n }\n } // while\n\n if (parser.position >= parser.bufferCheckPosition) {\n checkBufferLength(parser)\n }\n return parser\n }\n\n /*! http://mths.be/fromcodepoint v0.1.0 by @mathias */\n /* istanbul ignore next */\n if (!String.fromCodePoint) {\n (function () {\n var stringFromCharCode = String.fromCharCode\n var floor = Math.floor\n var fromCodePoint = function () {\n var MAX_SIZE = 0x4000\n var codeUnits = []\n var highSurrogate\n var lowSurrogate\n var index = -1\n var length = arguments.length\n if (!length) {\n return ''\n }\n var result = ''\n while (++index < length) {\n var codePoint = Number(arguments[index])\n if (\n !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10FFFF || // not a valid Unicode code point\n floor(codePoint) !== codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint)\n }\n if (codePoint <= 0xFFFF) { // BMP code point\n codeUnits.push(codePoint)\n } else { // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000\n highSurrogate = (codePoint >> 10) + 0xD800\n lowSurrogate = (codePoint % 0x400) + 0xDC00\n codeUnits.push(highSurrogate, lowSurrogate)\n }\n if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n result += stringFromCharCode.apply(null, codeUnits)\n codeUnits.length = 0\n }\n }\n return result\n }\n /* istanbul ignore next */\n if (Object.defineProperty) {\n Object.defineProperty(String, 'fromCodePoint', {\n value: fromCodePoint,\n configurable: true,\n writable: true\n })\n } else {\n String.fromCodePoint = fromCodePoint\n }\n }())\n }\n})(typeof exports === 'undefined' ? this.sax = {} : exports)\n","// Generated by CoffeeScript 1.12.7\n(function() {\n \"use strict\";\n exports.stripBOM = function(str) {\n if (str[0] === '\\uFEFF') {\n return str.substring(1);\n } else {\n return str;\n }\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n \"use strict\";\n var prefixMatch;\n\n prefixMatch = new RegExp(/(?!xmlns)^.*:/);\n\n exports.normalize = function(str) {\n return str.toLowerCase();\n };\n\n exports.firstCharLowerCase = function(str) {\n return str.charAt(0).toLowerCase() + str.slice(1);\n };\n\n exports.stripPrefix = function(str) {\n return str.replace(prefixMatch, '');\n };\n\n exports.parseNumbers = function(str) {\n if (!isNaN(str)) {\n str = str % 1 === 0 ? parseInt(str, 10) : parseFloat(str);\n }\n return str;\n };\n\n exports.parseBooleans = function(str) {\n if (/^(?:true|false)$/i.test(str)) {\n str = str.toLowerCase() === 'true';\n }\n return str;\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n \"use strict\";\n var bom, defaults, defineProperty, events, isEmpty, processItem, processors, sax, setImmediate,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n sax = require('sax');\n\n events = require('events');\n\n bom = require('./bom');\n\n processors = require('./processors');\n\n setImmediate = require('timers').setImmediate;\n\n defaults = require('./defaults').defaults;\n\n isEmpty = function(thing) {\n return typeof thing === \"object\" && (thing != null) && Object.keys(thing).length === 0;\n };\n\n processItem = function(processors, item, key) {\n var i, len, process;\n for (i = 0, len = processors.length; i < len; i++) {\n process = processors[i];\n item = process(item, key);\n }\n return item;\n };\n\n defineProperty = function(obj, key, value) {\n var descriptor;\n descriptor = Object.create(null);\n descriptor.value = value;\n descriptor.writable = true;\n descriptor.enumerable = true;\n descriptor.configurable = true;\n return Object.defineProperty(obj, key, descriptor);\n };\n\n exports.Parser = (function(superClass) {\n extend(Parser, superClass);\n\n function Parser(opts) {\n this.parseStringPromise = bind(this.parseStringPromise, this);\n this.parseString = bind(this.parseString, this);\n this.reset = bind(this.reset, this);\n this.assignOrPush = bind(this.assignOrPush, this);\n this.processAsync = bind(this.processAsync, this);\n var key, ref, value;\n if (!(this instanceof exports.Parser)) {\n return new exports.Parser(opts);\n }\n this.options = {};\n ref = defaults[\"0.2\"];\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n value = ref[key];\n this.options[key] = value;\n }\n for (key in opts) {\n if (!hasProp.call(opts, key)) continue;\n value = opts[key];\n this.options[key] = value;\n }\n if (this.options.xmlns) {\n this.options.xmlnskey = this.options.attrkey + \"ns\";\n }\n if (this.options.normalizeTags) {\n if (!this.options.tagNameProcessors) {\n this.options.tagNameProcessors = [];\n }\n this.options.tagNameProcessors.unshift(processors.normalize);\n }\n this.reset();\n }\n\n Parser.prototype.processAsync = function() {\n var chunk, err;\n try {\n if (this.remaining.length <= this.options.chunkSize) {\n chunk = this.remaining;\n this.remaining = '';\n this.saxParser = this.saxParser.write(chunk);\n return this.saxParser.close();\n } else {\n chunk = this.remaining.substr(0, this.options.chunkSize);\n this.remaining = this.remaining.substr(this.options.chunkSize, this.remaining.length);\n this.saxParser = this.saxParser.write(chunk);\n return setImmediate(this.processAsync);\n }\n } catch (error1) {\n err = error1;\n if (!this.saxParser.errThrown) {\n this.saxParser.errThrown = true;\n return this.emit(err);\n }\n }\n };\n\n Parser.prototype.assignOrPush = function(obj, key, newValue) {\n if (!(key in obj)) {\n if (!this.options.explicitArray) {\n return defineProperty(obj, key, newValue);\n } else {\n return defineProperty(obj, key, [newValue]);\n }\n } else {\n if (!(obj[key] instanceof Array)) {\n defineProperty(obj, key, [obj[key]]);\n }\n return obj[key].push(newValue);\n }\n };\n\n Parser.prototype.reset = function() {\n var attrkey, charkey, ontext, stack;\n this.removeAllListeners();\n this.saxParser = sax.parser(this.options.strict, {\n trim: false,\n normalize: false,\n xmlns: this.options.xmlns\n });\n this.saxParser.errThrown = false;\n this.saxParser.onerror = (function(_this) {\n return function(error) {\n _this.saxParser.resume();\n if (!_this.saxParser.errThrown) {\n _this.saxParser.errThrown = true;\n return _this.emit(\"error\", error);\n }\n };\n })(this);\n this.saxParser.onend = (function(_this) {\n return function() {\n if (!_this.saxParser.ended) {\n _this.saxParser.ended = true;\n return _this.emit(\"end\", _this.resultObject);\n }\n };\n })(this);\n this.saxParser.ended = false;\n this.EXPLICIT_CHARKEY = this.options.explicitCharkey;\n this.resultObject = null;\n stack = [];\n attrkey = this.options.attrkey;\n charkey = this.options.charkey;\n this.saxParser.onopentag = (function(_this) {\n return function(node) {\n var key, newValue, obj, processedKey, ref;\n obj = {};\n obj[charkey] = \"\";\n if (!_this.options.ignoreAttrs) {\n ref = node.attributes;\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n if (!(attrkey in obj) && !_this.options.mergeAttrs) {\n obj[attrkey] = {};\n }\n newValue = _this.options.attrValueProcessors ? processItem(_this.options.attrValueProcessors, node.attributes[key], key) : node.attributes[key];\n processedKey = _this.options.attrNameProcessors ? processItem(_this.options.attrNameProcessors, key) : key;\n if (_this.options.mergeAttrs) {\n _this.assignOrPush(obj, processedKey, newValue);\n } else {\n defineProperty(obj[attrkey], processedKey, newValue);\n }\n }\n }\n obj[\"#name\"] = _this.options.tagNameProcessors ? processItem(_this.options.tagNameProcessors, node.name) : node.name;\n if (_this.options.xmlns) {\n obj[_this.options.xmlnskey] = {\n uri: node.uri,\n local: node.local\n };\n }\n return stack.push(obj);\n };\n })(this);\n this.saxParser.onclosetag = (function(_this) {\n return function() {\n var cdata, emptyStr, key, node, nodeName, obj, objClone, old, s, xpath;\n obj = stack.pop();\n nodeName = obj[\"#name\"];\n if (!_this.options.explicitChildren || !_this.options.preserveChildrenOrder) {\n delete obj[\"#name\"];\n }\n if (obj.cdata === true) {\n cdata = obj.cdata;\n delete obj.cdata;\n }\n s = stack[stack.length - 1];\n if (obj[charkey].match(/^\\s*$/) && !cdata) {\n emptyStr = obj[charkey];\n delete obj[charkey];\n } else {\n if (_this.options.trim) {\n obj[charkey] = obj[charkey].trim();\n }\n if (_this.options.normalize) {\n obj[charkey] = obj[charkey].replace(/\\s{2,}/g, \" \").trim();\n }\n obj[charkey] = _this.options.valueProcessors ? processItem(_this.options.valueProcessors, obj[charkey], nodeName) : obj[charkey];\n if (Object.keys(obj).length === 1 && charkey in obj && !_this.EXPLICIT_CHARKEY) {\n obj = obj[charkey];\n }\n }\n if (isEmpty(obj)) {\n if (typeof _this.options.emptyTag === 'function') {\n obj = _this.options.emptyTag();\n } else {\n obj = _this.options.emptyTag !== '' ? _this.options.emptyTag : emptyStr;\n }\n }\n if (_this.options.validator != null) {\n xpath = \"/\" + ((function() {\n var i, len, results;\n results = [];\n for (i = 0, len = stack.length; i < len; i++) {\n node = stack[i];\n results.push(node[\"#name\"]);\n }\n return results;\n })()).concat(nodeName).join(\"/\");\n (function() {\n var err;\n try {\n return obj = _this.options.validator(xpath, s && s[nodeName], obj);\n } catch (error1) {\n err = error1;\n return _this.emit(\"error\", err);\n }\n })();\n }\n if (_this.options.explicitChildren && !_this.options.mergeAttrs && typeof obj === 'object') {\n if (!_this.options.preserveChildrenOrder) {\n node = {};\n if (_this.options.attrkey in obj) {\n node[_this.options.attrkey] = obj[_this.options.attrkey];\n delete obj[_this.options.attrkey];\n }\n if (!_this.options.charsAsChildren && _this.options.charkey in obj) {\n node[_this.options.charkey] = obj[_this.options.charkey];\n delete obj[_this.options.charkey];\n }\n if (Object.getOwnPropertyNames(obj).length > 0) {\n node[_this.options.childkey] = obj;\n }\n obj = node;\n } else if (s) {\n s[_this.options.childkey] = s[_this.options.childkey] || [];\n objClone = {};\n for (key in obj) {\n if (!hasProp.call(obj, key)) continue;\n defineProperty(objClone, key, obj[key]);\n }\n s[_this.options.childkey].push(objClone);\n delete obj[\"#name\"];\n if (Object.keys(obj).length === 1 && charkey in obj && !_this.EXPLICIT_CHARKEY) {\n obj = obj[charkey];\n }\n }\n }\n if (stack.length > 0) {\n return _this.assignOrPush(s, nodeName, obj);\n } else {\n if (_this.options.explicitRoot) {\n old = obj;\n obj = {};\n defineProperty(obj, nodeName, old);\n }\n _this.resultObject = obj;\n _this.saxParser.ended = true;\n return _this.emit(\"end\", _this.resultObject);\n }\n };\n })(this);\n ontext = (function(_this) {\n return function(text) {\n var charChild, s;\n s = stack[stack.length - 1];\n if (s) {\n s[charkey] += text;\n if (_this.options.explicitChildren && _this.options.preserveChildrenOrder && _this.options.charsAsChildren && (_this.options.includeWhiteChars || text.replace(/\\\\n/g, '').trim() !== '')) {\n s[_this.options.childkey] = s[_this.options.childkey] || [];\n charChild = {\n '#name': '__text__'\n };\n charChild[charkey] = text;\n if (_this.options.normalize) {\n charChild[charkey] = charChild[charkey].replace(/\\s{2,}/g, \" \").trim();\n }\n s[_this.options.childkey].push(charChild);\n }\n return s;\n }\n };\n })(this);\n this.saxParser.ontext = ontext;\n return this.saxParser.oncdata = (function(_this) {\n return function(text) {\n var s;\n s = ontext(text);\n if (s) {\n return s.cdata = true;\n }\n };\n })(this);\n };\n\n Parser.prototype.parseString = function(str, cb) {\n var err;\n if ((cb != null) && typeof cb === \"function\") {\n this.on(\"end\", function(result) {\n this.reset();\n return cb(null, result);\n });\n this.on(\"error\", function(err) {\n this.reset();\n return cb(err);\n });\n }\n try {\n str = str.toString();\n if (str.trim() === '') {\n this.emit(\"end\", null);\n return true;\n }\n str = bom.stripBOM(str);\n if (this.options.async) {\n this.remaining = str;\n setImmediate(this.processAsync);\n return this.saxParser;\n }\n return this.saxParser.write(str).close();\n } catch (error1) {\n err = error1;\n if (!(this.saxParser.errThrown || this.saxParser.ended)) {\n this.emit('error', err);\n return this.saxParser.errThrown = true;\n } else if (this.saxParser.ended) {\n throw err;\n }\n }\n };\n\n Parser.prototype.parseStringPromise = function(str) {\n return new Promise((function(_this) {\n return function(resolve, reject) {\n return _this.parseString(str, function(err, value) {\n if (err) {\n return reject(err);\n } else {\n return resolve(value);\n }\n });\n };\n })(this));\n };\n\n return Parser;\n\n })(events);\n\n exports.parseString = function(str, a, b) {\n var cb, options, parser;\n if (b != null) {\n if (typeof b === 'function') {\n cb = b;\n }\n if (typeof a === 'object') {\n options = a;\n }\n } else {\n if (typeof a === 'function') {\n cb = a;\n }\n options = {};\n }\n parser = new exports.Parser(options);\n return parser.parseString(str, cb);\n };\n\n exports.parseStringPromise = function(str, a) {\n var options, parser;\n if (typeof a === 'object') {\n options = a;\n }\n parser = new exports.Parser(options);\n return parser.parseStringPromise(str);\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n \"use strict\";\n var builder, defaults, parser, processors,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n defaults = require('./defaults');\n\n builder = require('./builder');\n\n parser = require('./parser');\n\n processors = require('./processors');\n\n exports.defaults = defaults.defaults;\n\n exports.processors = processors;\n\n exports.ValidationError = (function(superClass) {\n extend(ValidationError, superClass);\n\n function ValidationError(message) {\n this.message = message;\n }\n\n return ValidationError;\n\n })(Error);\n\n exports.Builder = builder.Builder;\n\n exports.Parser = parser.Parser;\n\n exports.parseString = parser.parseString;\n\n exports.parseStringPromise = parser.parseStringPromise;\n\n}).call(this);\n","import React from 'react';\nimport type { FC } from 'react';\nimport { DevCommandScreen } from './DevCommandScreen.js';\nimport { DevEnvironmentProvider } from './DevEnvironment.js';\n\nexport const DevCommand: FC<{ useTunnel: boolean }> = ({ useTunnel }) => {\n return (\n <DevEnvironmentProvider useTunnel={useTunnel}>\n <DevCommandScreen />\n </DevEnvironmentProvider>\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport {\n Box,\n Key,\n Alert,\n Badge,\n Spinner,\n useInput,\n useAsyncCallback,\n} from '@wix/cli-ui-kit';\nimport { openBrowser } from '@wix/user-browser';\nimport { useDevEnvironment } from './DevEnvironment.js';\n\nexport const DevCommandScreen: FC = () => {\n const { devEditorUrl, isDevEditorConnected, isSyncingChanges } =\n useDevEnvironment();\n const { execute: openDevEditor } = useAsyncCallback(() =>\n openBrowser(devEditorUrl)\n );\n\n useInput((input) => {\n if (input === 'e' && !isDevEditorConnected) {\n void openDevEditor();\n }\n });\n\n return (\n <>\n <Alert type=\"success\">\n <Badge skin=\"success\">\n <Trans i18nKey=\"general.success\" />\n </Badge>{' '}\n <Trans i18nKey=\"dev_command.dev_environment.success\" />\n </Alert>\n <Box marginTop={1} marginLeft={1}>\n {!isDevEditorConnected && (\n <Alert type=\"warning\">\n <Trans\n i18nKey=\"dev_command.no_open_editor\"\n components={[<Key value=\"E\" />]}\n />\n </Alert>\n )}\n {isDevEditorConnected && (\n <>\n {isSyncingChanges ? (\n <Spinner\n text={<Trans i18nKey=\"dev_command.sync_changes.loading\" />}\n />\n ) : (\n <Alert type=\"success\">\n <Trans i18nKey=\"dev_command.sync_changes.success\" />\n </Alert>\n )}\n </>\n )}\n </Box>\n </>\n );\n};\n","import React, { createContext, useContext, useState } from 'react';\nimport type { FC, ReactNode } from 'react';\nimport pLimit from 'p-limit';\nimport { match } from 'variant';\nimport { Trans } from '@wix/cli-i18n';\nimport { openBrowser } from '@wix/user-browser';\nimport { Spinner, useAsync, useExit } from '@wix/cli-ui-kit';\nimport { useProjectModel } from '../../model.js';\nimport { createSiteFsManager } from '../../site-fs-manager.js';\nimport { createIntellisenseAdapter } from '../../intellisense-adapter.js';\nimport { useVelo } from './useVelo.js';\nimport { useFsWatcher } from './useFsWatcher.js';\nimport { useDevEditorUrl } from './useDevEditorUrl.js';\nimport { useWebSocketServer } from './useWebSocketServer.js';\n\ninterface DevEnvironment {\n devEditorUrl: string;\n isSyncingChanges: boolean;\n isDevEditorConnected: boolean;\n}\n\nconst DevEnvironmentContext = createContext<DevEnvironment | null>(null);\n\nexport const DevEnvironmentProvider: FC<{\n children: ReactNode;\n useTunnel: boolean;\n}> = ({ children, useTunnel: shouldUseTunnel }) => {\n const exit = useExit();\n const { model } = useProjectModel();\n const { createMutableApp, updateAppFiles } = useVelo();\n const getDevEditorUrl = useDevEditorUrl();\n const wsServer = useWebSocketServer();\n const fsWatcher = useFsWatcher(model.projectFolder);\n\n const [isSyncing, setIsSyncing] = useState(false);\n const [isDevEditorConnected, setIsDevEditorConnected] = useState(false);\n\n const { status } = useAsync(async () => {\n const limiter = pLimit(1);\n const siteFsManager = await createSiteFsManager(model.projectFolder);\n const intellisenseAdapter = await createIntellisenseAdapter(\n model.projectFolder,\n siteFsManager.convertToOnlineLayout\n );\n\n const [code, document] = await Promise.all([\n siteFsManager.getCode(),\n siteFsManager.getDocument(),\n ]);\n\n const [{ id: appId }] = await Promise.all([\n createMutableApp(code),\n intellisenseAdapter.initTypes(document),\n ]);\n\n wsServer.on('connected', () => {\n setIsDevEditorConnected(true);\n });\n wsServer.on('disconnected', () => {\n setIsDevEditorConnected(false);\n });\n wsServer.on('documentUpdate', async (document) => {\n try {\n await limiter(async () => {\n setIsSyncing(true);\n await siteFsManager.applyExternalUpdates({ document });\n await intellisenseAdapter.updateTypes(document);\n });\n } catch (error) {\n exit(error);\n } finally {\n setIsSyncing(false);\n }\n });\n\n const { port, wsUrl } = await wsServer.serve(appId, {\n getDocument: siteFsManager.getDocument,\n onConnectionError: exit,\n });\n\n fsWatcher.onBatchChange(async (update) => {\n try {\n await limiter(async () => {\n setIsSyncing(true);\n\n const { document, code } = await siteFsManager.applyFsUpdates(update);\n\n await Promise.all([\n code && updateAppFiles(appId, code),\n document && wsServer.syncDocumentUpdate(document),\n document && intellisenseAdapter.updateTypes(document),\n ]);\n });\n } catch (error) {\n exit(error);\n } finally {\n setIsSyncing(false);\n }\n });\n\n const devEditorUrl = await getDevEditorUrl({\n serverWsUrl: wsUrl,\n serverPort: port,\n shouldUseTunnel,\n });\n\n await openBrowser(devEditorUrl);\n\n return { devEditorUrl };\n }, []);\n\n return match(status, {\n Error: () => null,\n Loading: () => (\n <Spinner text={<Trans i18nKey=\"dev_command.dev_environment.loading\" />} />\n ),\n Success: ({ result: { devEditorUrl } }) => (\n <DevEnvironmentContext.Provider\n value={{\n devEditorUrl,\n isDevEditorConnected,\n isSyncingChanges: isSyncing,\n }}\n >\n {children}\n </DevEnvironmentContext.Provider>\n ),\n });\n};\n\nexport function useDevEnvironment(): DevEnvironment {\n const context = useContext(DevEnvironmentContext);\n if (context == null) {\n throw new Error(\n 'useDevEnvironment() cannot be used without an <DevEnvironmentProvider>'\n );\n }\n return context;\n}\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport type {\n FullDocument,\n DocumentUpdate,\n ConvertToOnlineLayoutCB,\n} from '@wix/anyide-intellisense-adapter';\nimport { createIntellisenseAdapter as createIntellisenseAdapterOriginal } from '@wix/anyide-intellisense-adapter';\n\nexport async function createIntellisenseAdapter(\n projectFolder: string,\n convertToOnlineLayout: ConvertToOnlineLayoutCB\n) {\n const adapter = await createIntellisenseAdapterOriginal(\n convertToOnlineLayout,\n projectFolder\n ).catch((error: unknown) => {\n throw new CliError({\n code: CliErrorCode.FailedToCreateIntellisenseAdapter(),\n cause: error,\n });\n });\n\n return {\n initTypes: async (document: FullDocument) => {\n try {\n await adapter.initTypes(document);\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToInitIntellisenseAdapterTypes(),\n cause: error,\n });\n }\n },\n updateTypes: async (document: DocumentUpdate) => {\n try {\n await adapter.updateTypes(document);\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToUpdateIntellisenseAdapterTypes(),\n cause: error,\n });\n }\n },\n };\n}\n","export * from './intellisenseAdapter.js';\nexport * from './types.js';\n","import { createAgnosticTypeSyncer } from '@wix/velo-site-types-syncer';\nimport { getNicknamesToComponentTypesMap } from '@wix/anyide-document-utils';\nexport const createIntellisenseAdapter = async (convertToOnlineLayoutCB, projectRootFolder) => {\n const agnosticTypesSyncer = await createAgnosticTypeSyncer(projectRootFolder, convertToOnlineLayoutCB);\n const processDocumentPages = async ({ pages }) => {\n const updatedPagesList = [];\n const deletedPagesList = [];\n for (const [pageId, pageData] of Object.entries(pages)) {\n if (pageData) {\n updatedPagesList.push({\n id: pageId,\n elements: await getNicknamesToComponentTypesMap(pageData.data)\n });\n }\n else {\n deletedPagesList.push({ id: pageId });\n }\n }\n return {\n updatedPagesList,\n deletedPagesList\n };\n };\n return {\n initTypes: async (document) => {\n const { updatedPagesList } = await processDocumentPages(document);\n await agnosticTypesSyncer.syncSite({ offlinePages: updatedPagesList });\n },\n updateTypes: async (document) => {\n const { updatedPagesList, deletedPagesList } = await processDocumentPages(document);\n if (updatedPagesList.length > 0) {\n await agnosticTypesSyncer.syncPages(updatedPagesList);\n }\n if (deletedPagesList.length > 0) {\n await agnosticTypesSyncer.deletePages(deletedPagesList);\n }\n }\n };\n};\n","export * from './getNicknamesToComponentTypesMap.js';\n","import { parseStringPromise } from 'xml2js';\nimport { PAGE_TYPES, TYPE_TO_COMP_TYPE } from './constants.js';\nconst parsePageStructure = async (pageStructure) => {\n const parsedXml = await parseStringPromise(pageStructure);\n const elementTypes = Object.keys(parsedXml);\n if (elementTypes.length !== 1 || !PAGE_TYPES.has(elementTypes[0])) {\n throw new Error('Invalid page data');\n }\n return parsedXml;\n};\nconst isKnownComponentType = (type) => type in TYPE_TO_COMP_TYPE;\nconst appendNodeToMap = (nicknamesToComponentTypesMap, node, nodeType) => {\n const { $, _, ...childrenGroups } = node;\n if ($.codeName) {\n nicknamesToComponentTypesMap[$.codeName] = isKnownComponentType(nodeType) ? TYPE_TO_COMP_TYPE[nodeType] : null;\n }\n for (const [type, children] of Object.entries(childrenGroups)) {\n for (const child of children) {\n appendNodeToMap(nicknamesToComponentTypesMap, child, type);\n }\n }\n};\nexport const getNicknamesToComponentTypesMap = async (pageData) => {\n const nicknamesToComponentTypesMap = {};\n const parsedXml = await parsePageStructure(pageData.structure.content);\n const pageKey = Object.keys(parsedXml)[0];\n appendNodeToMap(nicknamesToComponentTypesMap, parsedXml[pageKey], pageKey);\n return nicknamesToComponentTypesMap;\n};\n","export const PAGE_TYPES = new Set(['Page', 'MasterPage']);\nexport const TYPE_TO_COMP_TYPE = {\n Image: 'core.components.Image',\n MenuButton: 'core.components.MenuButton',\n Page: 'mobile.core.components.Page',\n MasterPage: 'mobile.core.components.MasterPage',\n AppPage: 'wixapps.integration.components.AppPage',\n AppPart: 'wixapps.integration.components.AppPart',\n AppPart2: 'wixapps.integration.components.AppPart2',\n TextInput: 'wysiwyg.viewer.components.inputs.TextInput',\n DropDownMenu: 'wysiwyg.viewer.components.menus.DropDownMenu',\n Icon: 'wixapps.integration.components.Icon',\n 'wixapps.integration.components.ImageButton': 'wixapps.integration.components.ImageButton',\n RSSButton: 'wysiwyg.common.components.rssbutton.viewer.RSSButton',\n Anchor: 'wysiwyg.common.components.anchor.viewer.Anchor',\n VerticalAnchorsMenu: 'wysiwyg.common.components.verticalanchorsmenu.viewer.VerticalAnchorsMenu',\n FacebookLikeBox: 'wysiwyg.common.components.facebooklikebox.viewer.FacebookLikeBox',\n 'wysiwyg.common.components.imagebutton.viewer.ImageButton': 'wysiwyg.common.components.imagebutton.viewer.ImageButton',\n OptionsListInput: 'wysiwyg.common.components.inputs.OptionsListInput',\n SelectOptionsList: 'wysiwyg.common.components.inputs.SelectOptionsList',\n PinItPinWidget: 'wysiwyg.common.components.pinitpinwidget.viewer.PinItPinWidget',\n PinterestPinIt: 'wysiwyg.common.components.pinterestpinit.viewer.PinterestPinIt',\n SingleAudioPlayer: 'wysiwyg.common.components.singleaudioplayer.viewer.SingleAudioPlayer',\n SkypeCallButton: 'wysiwyg.common.components.skypecallbutton.viewer.SkypeCallButton',\n SpotifyFollow: 'wysiwyg.common.components.spotifyfollow.viewer.SpotifyFollow',\n SpotifyPlayer: 'wysiwyg.common.components.spotifyplayer.viewer.SpotifyPlayer',\n SubscribeForm: 'wysiwyg.common.components.subscribeform.viewer.SubscribeForm',\n VerticalMenu: 'wysiwyg.common.components.verticalmenu.viewer.VerticalMenu',\n YouTubeSubscribeButton: 'wysiwyg.common.components.youtubesubscribebutton.viewer.YouTubeSubscribeButton',\n AdminLoginButton: 'wysiwyg.viewer.components.AdminLoginButton',\n AudioPlayer: 'wysiwyg.viewer.components.AudioPlayer',\n BgImageStrip: 'wysiwyg.viewer.components.BgImageStrip',\n ClipArt: 'wysiwyg.viewer.components.ClipArt',\n ContactForm: 'wysiwyg.viewer.components.ContactForm',\n DynamicContactForm: 'wysiwyg.viewer.components.DynamicContactForm',\n Displayer: 'wysiwyg.viewer.components.Displayer',\n DocumentMedia: 'wysiwyg.viewer.components.documentmedia.DocumentMedia',\n EbayItemsBySeller: 'wysiwyg.viewer.components.EbayItemsBySeller',\n FacebookShare: 'wysiwyg.viewer.components.FacebookShare',\n FlashComponent: 'wysiwyg.viewer.components.FlashComponent',\n FlickrBadgeWidget: 'wysiwyg.viewer.components.FlickrBadgeWidget',\n GoogleMap: 'wysiwyg.viewer.components.GoogleMap',\n HtmlComponent: 'wysiwyg.viewer.components.HtmlComponent',\n ItunesButton: 'wysiwyg.viewer.components.ItunesButton',\n LinkBar: 'wysiwyg.viewer.components.LinkBar',\n LinkBarItem: 'wysiwyg.viewer.components.LinkBarItem',\n LoginButton: 'wysiwyg.viewer.components.LoginButton',\n LoginSocialBar: 'wysiwyg.viewer.components.LoginSocialBar',\n MatrixGallery: 'wysiwyg.viewer.components.MatrixGallery',\n MediaRichText: 'wysiwyg.viewer.components.MediaRichText',\n PayPalButton: 'wysiwyg.viewer.components.PayPalButton',\n PinterestFollow: 'wysiwyg.viewer.components.PinterestFollow',\n SiteButton: 'wysiwyg.viewer.components.SiteButton',\n SliderGallery: 'wysiwyg.viewer.components.SliderGallery',\n SlideShowGallery: 'wysiwyg.viewer.components.SlideShowGallery',\n SoundCloudWidget: 'wysiwyg.viewer.components.SoundCloudWidget',\n TwitterFeed: 'wysiwyg.viewer.components.TwitterFeed',\n VerticalRepeater: 'wysiwyg.viewer.components.VerticalRepeater',\n Video: 'wysiwyg.viewer.components.Video',\n VKShareButton: 'wysiwyg.viewer.components.VKShareButton',\n WPhoto: 'wysiwyg.viewer.components.WPhoto',\n WRichText: 'wysiwyg.viewer.components.WRichText',\n WTwitterFollow: 'wysiwyg.viewer.components.WTwitterFollow',\n WTwitterTweet: 'wysiwyg.viewer.components.WTwitterTweet',\n ComboBoxInput: 'wysiwyg.viewer.components.inputs.ComboBoxInput',\n TextOption: 'wysiwyg.viewer.components.inputs.TextOption',\n MobileTextOption: 'ecommerce.integration.components.MobileTextOption',\n ColorOption: 'wysiwyg.viewer.components.inputs.ColorOption',\n MobileColorOption: 'ecommerce.integration.components.MobileColorOption',\n TinyMenu: 'wysiwyg.viewer.components.mobile.TinyMenu',\n ExpandableMenu: 'wysiwyg.viewer.components.ExpandableMenu',\n QuickActionBar: 'wysiwyg.viewer.components.QuickActionBar',\n QuickActionBarItem: 'wysiwyg.viewer.components.QuickActionBarItem',\n Collage: 'tpa.viewer.components.Collage',\n Freestyle: 'tpa.viewer.components.Freestyle',\n TouchMediaZoom: 'wysiwyg.viewer.components.TouchMediaZoom',\n TouchMediaZoomItem: 'wysiwyg.viewer.components.TouchMediaZoomItem',\n Honeycomb: 'tpa.viewer.components.Honeycomb',\n Masonry: 'tpa.viewer.components.Masonry',\n TPA3DCarousel: 'wysiwyg.viewer.components.tpapps.TPA3DCarousel',\n TPA3DGallery: 'wysiwyg.viewer.components.tpapps.TPA3DGallery',\n StripShowcase: 'tpa.viewer.components.StripShowcase',\n StripSlideshow: 'tpa.viewer.components.StripSlideshow',\n Thumbnails: 'tpa.viewer.components.Thumbnails',\n Accordion: 'tpa.viewer.components.Accordion',\n Impress: 'tpa.viewer.components.Impress',\n ExitMobileMode: 'wysiwyg.common.components.exitmobilemode.viewer.ExitMobileMode',\n NumericStepper: 'wysiwyg.common.components.NumericStepper',\n FiveGridLine: 'wysiwyg.viewer.components.FiveGridLine',\n PageGroup: 'wysiwyg.viewer.components.PageGroup',\n PaginatedGridGallery: 'wysiwyg.viewer.components.PaginatedGridGallery',\n WFacebookComment: 'wysiwyg.viewer.components.WFacebookComment',\n DisqusComments: 'wysiwyg.common.components.disquscomments.viewer.DisqusComments',\n WFacebookLike: 'wysiwyg.viewer.components.WFacebookLike',\n WGooglePlusOne: 'wysiwyg.viewer.components.WGooglePlusOne',\n SvgShape: 'wysiwyg.viewer.components.svgshape.SvgShape',\n VectorImage: 'wysiwyg.viewer.components.VectorImage',\n SvgPrimitive: 'wysiwyg.viewer.components.svgPrimitive.SvgPrimitive',\n SiteRegionContainer: 'wysiwyg.viewer.components.SiteRegionContainer',\n Container: 'mobile.core.components.Container',\n SlotsPlaceholder: 'wixui.SlotsPlaceholder',\n MediaBox: 'wysiwyg.viewer.components.MediaBox',\n HoverBox: 'wysiwyg.viewer.components.HoverBox',\n PopupContainer: 'wysiwyg.viewer.components.PopupContainer',\n PopupCloseTextButton: 'wysiwyg.viewer.components.PopupCloseTextButton',\n PopupCloseIconButton: 'wysiwyg.viewer.components.PopupCloseIconButton',\n Group: 'wysiwyg.viewer.components.Group',\n FormContainer: 'wysiwyg.viewer.components.FormContainer',\n WSiteStructure: 'wysiwyg.viewer.components.WSiteStructure',\n HeaderContainer: 'wysiwyg.viewer.components.HeaderContainer',\n FooterContainer: 'wysiwyg.viewer.components.FooterContainer',\n PagesContainer: 'wysiwyg.viewer.components.PagesContainer',\n StripContainer: 'wysiwyg.viewer.components.StripContainer',\n StripColumnsContainer: 'wysiwyg.viewer.components.StripColumnsContainer',\n ClassicSection: 'wysiwyg.viewer.components.ClassicSection',\n Column: 'wysiwyg.viewer.components.Column',\n MediaPlayer: 'wysiwyg.viewer.components.MediaPlayer',\n MediaOverlayControls: 'wysiwyg.viewer.components.MediaOverlayControls',\n MediaControls: 'wysiwyg.viewer.components.MediaControls',\n MediaControlPlay: 'wysiwyg.viewer.components.MediaControlPlay',\n MediaControlVolume: 'wysiwyg.viewer.components.MediaControlVolume',\n MediaControlFullscreen: 'wysiwyg.viewer.components.MediaControlFullscreen',\n MediaControlProgress: 'wysiwyg.viewer.components.MediaControlProgress',\n MediaControlTime: 'wysiwyg.viewer.components.MediaControlTime',\n MediaControlStoryboard: 'wysiwyg.viewer.components.MediaControlStoryboard',\n ScreenWidthContainer: 'wysiwyg.viewer.components.ScreenWidthContainer',\n VerticalLine: 'wysiwyg.viewer.components.VerticalLine',\n TPAGluedWidget: 'wysiwyg.viewer.components.tpapps.TPAGluedWidget',\n TPAWidget: 'wysiwyg.viewer.components.tpapps.TPAWidget',\n TPASection: 'wysiwyg.viewer.components.tpapps.TPASection',\n TPAMultiSection: 'wysiwyg.viewer.components.tpapps.TPAMultiSection',\n 'wysiwyg.common.components.backtotopbutton.viewer.BackToTopButton': 'wysiwyg.common.components.backtotopbutton.viewer.BackToTopButton',\n 'wysiwyg.viewer.components.BackToTopButton': 'wysiwyg.viewer.components.BackToTopButton',\n SiteBackground: 'wysiwyg.viewer.components.SiteBackground',\n EnterPasswordDialog: 'wysiwyg.viewer.components.dialogs.EnterPasswordDialog',\n NotificationDialog: 'wysiwyg.viewer.components.dialogs.NotificationDialog',\n SignUpDialog: 'wysiwyg.viewer.components.dialogs.siteMemberDialogs.SignUpDialog',\n MemberLoginDialog: 'wysiwyg.viewer.components.dialogs.siteMemberDialogs.MemberLoginDialog',\n RequestPasswordResetDialog: 'wysiwyg.viewer.components.dialogs.siteMemberDialogs.RequestPasswordResetDialog',\n ResetPasswordDialog: 'wysiwyg.viewer.components.dialogs.siteMemberDialogs.ResetPasswordDialog',\n EcomCheckoutMessageDialog: 'ecommerce.viewer.dialogs.EcomCheckoutMessageDialog',\n ZoomedImage: 'core.components.ZoomedImage',\n imageZoom: 'wysiwyg.components.imageZoom',\n ImageZoomDisplayer: 'wysiwyg.components.ImageZoomDisplayer',\n AppPartZoom: 'wixapps.integration.components.AppPartZoom',\n MediaZoom: 'wysiwyg.viewer.components.MediaZoom',\n MobileMediaZoom: 'wysiwyg.viewer.components.MobileMediaZoom',\n ErasableTextInput: 'wysiwyg.viewer.components.inputs.ErasableTextInput',\n InfoTip: 'wysiwyg.common.components.InfoTip',\n InputWithValidation: 'wysiwyg.components.viewer.inputs.InputWithValidation',\n MessageView: 'wysiwyg.viewer.components.MessageView',\n Area: 'wixapps.integration.components.Area',\n TextAreaInput: 'wysiwyg.viewer.components.inputs.TextAreaInput',\n TextArea: 'wixapps.integration.components.inputs.TextArea',\n Toggle: 'wixapps.integration.components.Toggle',\n MobileActionsMenu: 'wysiwyg.viewer.components.MobileActionsMenu',\n Table: 'wysiwyg.viewer.components.Table',\n TPAModal: 'wysiwyg.viewer.components.tpapps.TPAModal',\n TPAPopup: 'wysiwyg.viewer.components.tpapps.TPAPopup',\n TPAPreloaderOverlay: 'wysiwyg.viewer.components.tpapps.TPAPreloaderOverlay',\n TPAUnavailableMessageOverlay: 'wysiwyg.viewer.components.tpapps.TPAUnavailableMessageOverlay',\n TPAWorker: 'tpa.viewer.classes.TPAWorker',\n TPAPlaceholder: 'wysiwyg.viewer.components.tpapps.TPAPlaceholder',\n CloudGluedWidget: 'wysiwyg.viewer.components.cloud.CloudGluedWidget',\n CloudWidget: 'wysiwyg.viewer.components.cloud.CloudWidget',\n bgMedia: 'wysiwyg.viewer.components.background.bgMedia',\n bgImage: 'wysiwyg.viewer.components.background.bgImage',\n html5Video: 'wysiwyg.viewer.components.background.html5Video',\n webglMedia: 'wysiwyg.viewer.components.background.webglMedia',\n iframeVideo: 'wysiwyg.viewer.components.background.iframeVideo',\n bgOverlay: 'wysiwyg.viewer.components.background.bgOverlay',\n BoxSlideShow: 'wysiwyg.viewer.components.BoxSlideShow',\n StateBox: 'wysiwyg.viewer.components.StateBox',\n StateStrip: 'wysiwyg.viewer.components.StateStrip',\n StateBoxState: 'wysiwyg.viewer.components.StateBoxState',\n StateBoxFormState: 'wysiwyg.viewer.components.StateBoxFormState',\n StateStripState: 'wysiwyg.viewer.components.StateStripState',\n StripContainerSlideShow: 'wysiwyg.viewer.components.StripContainerSlideShow',\n BoxSlideShowSlide: 'wysiwyg.viewer.components.BoxSlideShowSlide',\n StripContainerSlideShowSlide: 'wysiwyg.viewer.components.StripContainerSlideShowSlide',\n Checkbox: 'wysiwyg.viewer.components.inputs.Checkbox',\n RadioButton: 'wysiwyg.viewer.components.inputs.RadioButton',\n RadioGroup: 'wysiwyg.viewer.components.inputs.RadioGroup',\n CheckboxGroup: 'wysiwyg.viewer.components.inputs.CheckboxGroup',\n FileUploader: 'wysiwyg.viewer.components.inputs.FileUploader',\n uploadName: 'wysiwyg.viewer.components.inputs.uploadName',\n DatePicker: 'wysiwyg.viewer.components.inputs.DatePicker',\n ImageButtonWithText: 'wysiwyg.viewer.components.ImageButtonWithText',\n Grid: 'wysiwyg.viewer.components.Grid',\n Repeater: 'wysiwyg.viewer.components.Repeater',\n MediaContainer: 'wysiwyg.viewer.components.MediaContainer',\n InlinePopup: 'wysiwyg.viewer.components.InlinePopup',\n MenuContainer: 'wysiwyg.viewer.components.MenuContainer',\n InlinePopupToggle: 'wysiwyg.viewer.components.InlinePopupToggle',\n MenuToggle: 'wysiwyg.viewer.components.MenuToggle',\n AppController: 'platform.components.AppController',\n AppWidget: 'platform.components.AppWidget',\n LanguageSelector: 'wysiwyg.viewer.components.LanguageSelector',\n Popover: 'wysiwyg.viewer.components.Popover',\n RefComponent: 'wysiwyg.viewer.components.RefComponent',\n Section: 'responsive.components.Section',\n HeaderSection: 'responsive.components.HeaderSection',\n FooterSection: 'responsive.components.FooterSection',\n MembersAreaSection: 'responsive.components.MembersAreaSection',\n MultiStateBox: 'wixui.MultiStateBox',\n MobuiButton: 'mobui.MobuiButton',\n MobuiImage: 'mobui.MobuiImage',\n MobuiPicker: 'mobui.MobuiPicker',\n MobuiSwitch: 'mobui.MobuiSwitch',\n MobuiText: 'mobui.MobuiText',\n MobuiTextInput: 'mobui.MobuiTextInput',\n MobuiContainer: 'mobui.MobuiContainer',\n Logo: 'wixui.Logo',\n ShareButtons: 'wixui.ShareButtons',\n AccordionContainer: 'wixui.AccordionContainer',\n AccordionItem: 'wixui.AccordionItem',\n AddressInput: 'wixui.AddressInput',\n BoltComponent: 'wixui.BoltComponent',\n Breadcrumbs: 'wixui.Breadcrumbs',\n Captcha: 'wixui.Captcha',\n CollapsibleText: 'wixui.CollapsibleText',\n CustomElementComponent: 'wixui.CustomElementComponent',\n DynamicRepeater: 'wixui.DynamicRepeater',\n ExternalComponent: 'wixui.ExternalComponent',\n FastGallery: 'wixui.FastGallery',\n HamburgerCloseButton: 'wixui.HamburgerCloseButton',\n HamburgerMenuContainer: 'wixui.HamburgerMenuContainer',\n HamburgerMenuContent: 'wixui.HamburgerMenuContent',\n HamburgerMenuRoot: 'wixui.HamburgerMenuRoot',\n HamburgerOpenButton: 'wixui.HamburgerOpenButton',\n HamburgerOverlay: 'wixui.HamburgerOverlay',\n ImageX: 'wixui.ImageX',\n LineShareButton: 'wixui.LineShareButton',\n LottieEmbed: 'wixui.LottieEmbed',\n MegaMenuContainerItem: 'wixui.MegaMenuContainerItem',\n Menu: 'wixui.Menu',\n MusicPlayer: 'wixui.MusicPlayer',\n OldBlogDeprecation: 'wixui.OldBlogDeprecation',\n Pagination: 'wixui.Pagination',\n ProductSpecification: 'wixui.ProductSpecification',\n ProGallery: 'wixui.ProGallery',\n ProgressBar: 'wixui.ProgressBar',\n RangeSlider: 'wixui.RangeSlider',\n RatingsDisplay: 'wixui.RatingsDisplay',\n RatingsInput: 'wixui.RatingsInput',\n RichContentViewer: 'wixui.RichContentViewer',\n RichTextBox: 'wixui.RichTextBox',\n SearchBox: 'wixui.SearchBox',\n SearchButton: 'wixui.SearchButton',\n SelectableContainer: 'wixui.SelectableContainer',\n SelectableContainerInput: 'wixui.SelectableContainerInput',\n SelectionTagsList: 'wixui.SelectionTagsList',\n SignatureInput: 'wixui.SignatureInput',\n SingleTab: 'wixui.SingleTab',\n Slider: 'wixui.Slider',\n Slideshow: 'wixui.Slideshow',\n SlideshowButton: 'wixui.SlideshowButton',\n SlideshowItem: 'wixui.SlideshowItem',\n SocialAuth: 'wixui.SocialAuth',\n StretchedContainer: 'wixui.StretchedContainer',\n StylableButton: 'wixui.StylableButton',\n StylableHorizontalMenu: 'wixui.StylableHorizontalMenu',\n Submenu: 'wixui.Submenu',\n SvgImage: 'wixui.SvgImage',\n Tabs: 'wixui.Tabs',\n TestComp: 'wixui.TestComp',\n TextMarquee: 'wixui.TextMarquee',\n TextMask: 'wixui.TextMask',\n TimePicker: 'wixui.TimePicker',\n ToggleSwitch: 'wixui.ToggleSwitch',\n UnsupportedComponent: 'wixui.UnsupportedComponent',\n VideoPlayer: 'wixui.VideoPlayer',\n ControlTypes: 'dsgnsys.ControlTypes',\n WutRadioButton: 'dsgnsys.WutRadioButton',\n DashboardButton: 'dsgnsys.DashboardButton',\n DashboardHeading: 'dsgnsys.DashboardHeading',\n DashboardIconButton: 'dsgnsys.DashboardIconButton',\n DashboardInfoIcon: 'dsgnsys.DashboardInfoIcon',\n DashboardInput: 'dsgnsys.DashboardInput',\n DashboardNumberInput: 'dsgnsys.DashboardNumberInput',\n DashboardText: 'dsgnsys.DashboardText',\n DashboardTextButton: 'dsgnsys.DashboardTextButton',\n DashboardToggleSwitch: 'dsgnsys.DashboardToggleSwitch',\n SettingsPanelContainer: 'dsgnsys.SettingsPanelContainer',\n WbuAccordion: 'dsgnsys.WbuAccordion',\n WbuBackButton: 'dsgnsys.WbuBackButton',\n WbuButton: 'dsgnsys.WbuButton',\n WbuCheckboxGroup: 'dsgnsys.WbuCheckboxGroup',\n WbuColorPicker: 'dsgnsys.WbuColorPicker',\n WbuColorSelector: 'dsgnsys.WbuColorSelector',\n WbuColumnControllerControl: 'dsgnsys.WbuColumnControllerControl',\n WbuDatePicker: 'dsgnsys.WbuDatePicker',\n WbuDrillDown: 'dsgnsys.WbuDrillDown',\n WbuDropdown: 'dsgnsys.WbuDropdown',\n WbuEmptyState: 'dsgnsys.WbuEmptyState',\n WbuFontAndColorPicker: 'dsgnsys.WbuFontAndColorPicker',\n WbuHorizontalTabs: 'dsgnsys.WbuHorizontalTabs',\n WbuLeftTextButton: 'dsgnsys.WbuLeftTextButton',\n WbuMultilineTextInput: 'dsgnsys.WbuMultilineTextInput',\n WbuNotificationBanner: 'dsgnsys.WbuNotificationBanner',\n WbuNumericInput: 'dsgnsys.WbuNumericInput',\n WbuRadioButtonGroup: 'dsgnsys.WbuRadioButtonGroup',\n WbuRichText: 'dsgnsys.WbuRichText',\n WbuSectionDivider: 'dsgnsys.WbuSectionDivider',\n WbuSlider: 'dsgnsys.WbuSlider',\n WbuTextInput: 'dsgnsys.WbuTextInput',\n WbuThumbnails: 'dsgnsys.WbuThumbnails',\n WbuToggleSwitch: 'dsgnsys.WbuToggleSwitch',\n WutAvatar: 'dsgnsys.WutAvatar',\n WutAvatarGroup: 'dsgnsys.WutAvatarGroup',\n WutBadge: 'dsgnsys.WutBadge'\n};\n","export {};\n","import { useCallback } from 'react';\nimport { useVeloClient, GridAppLayout } from '@wix/velo-client';\nimport type { VeloCode, VeloCodeUpdate } from '@wix/anyide-cli-file-structure';\nimport { useProjectModel } from '../../model.js';\nimport { loadProjectRootFiles } from '../../velo.js';\n\nexport function useVelo() {\n const { model } = useProjectModel();\n const veloClient = useVeloClient();\n\n const createMutableApp = useCallback(\n async (code: VeloCode) => {\n const rootFiles = await loadProjectRootFiles(model.projectFolder);\n\n return veloClient.createMutableApp({\n ...code,\n files: code.files.concat(rootFiles),\n layout: GridAppLayout[code.layout],\n });\n },\n [model.projectFolder, veloClient]\n );\n\n const updateAppFiles = useCallback(\n (appId: string, codeUpdate: VeloCodeUpdate) => {\n return veloClient.updateAppFiles(appId, {\n ...codeUpdate,\n layout: GridAppLayout[codeUpdate.layout],\n });\n },\n [veloClient]\n );\n\n return { createMutableApp, updateAppFiles };\n}\n","import { useState, useEffect } from 'react';\nimport { watch } from 'chokidar';\nimport { debounceQueue } from '@wix/debounce-queue';\nimport { useErrorReporter } from '@wix/cli-error-reporting';\nimport type { FSUpdate } from '@wix/anyide-cli-file-structure';\nimport { getSourceFolder } from '@wix/velo-github-layout-definitions';\n\nexport function useFsWatcher(projectFolder: string) {\n const { reportError } = useErrorReporter();\n\n const [{ watcher, ...publicApi }] = useState(() => {\n const watcher = watch('.', {\n cwd: getSourceFolder(projectFolder),\n ignoreInitial: true,\n disableGlobbing: true,\n });\n\n return {\n watcher,\n onBatchChange: (eventHandler: (update: FSUpdate[]) => void) => {\n const debouncedHandler = debounceQueue(\n (events: Array<[path: string, action: 'UPDATE' | 'DELETE']>) => {\n const uniqEvents = new Map(events);\n const update: FSUpdate[] = [];\n\n for (const [path, action] of uniqEvents) {\n update.push({ path, action });\n }\n\n eventHandler(update);\n },\n 400\n );\n\n watcher.on('change', (path) => debouncedHandler(path, 'UPDATE'));\n watcher.on('add', (path) => debouncedHandler(path, 'UPDATE'));\n watcher.on('unlink', (path) => debouncedHandler(path, 'DELETE'));\n },\n };\n });\n\n useEffect(() => {\n return () => {\n watcher.close().catch(reportError);\n };\n }, [watcher, reportError]);\n\n return publicApi;\n}\n","import { useCallback } from 'react';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { useTunnel } from '@wix/cli-tunnel';\nimport { useProjectModel } from '../../model.js';\n\nexport function useDevEditorUrl() {\n const { model } = useProjectModel();\n const createTunnel = useTunnel();\n\n return useCallback(\n async ({\n serverWsUrl: localServerWsUrl,\n serverPort,\n shouldUseTunnel,\n }: {\n serverWsUrl: string;\n serverPort: number;\n shouldUseTunnel: boolean;\n }) => {\n const { devEditorBaseUrl } = getTestOverrides();\n const url = new URL(\n model.metaSiteId,\n devEditorBaseUrl ?? 'https://wix.com/editor/'\n );\n\n const tunnelWsUrl = shouldUseTunnel\n ? ensureWsProtocol((await createTunnel(serverPort)).url)\n : undefined;\n\n const serverUrl = tunnelWsUrl ?? localServerWsUrl;\n\n url.searchParams.set('localPort', String(serverPort));\n url.searchParams.set('localEditorDestination', serverUrl);\n url.searchParams.set('localEditorWsUrl', serverUrl);\n url.searchParams.set('github2', 'true');\n\n return url.toString();\n },\n [model.metaSiteId, createTunnel]\n );\n}\n\nconst ensureWsProtocol = (input: string) => {\n const url = new URL(input);\n url.protocol = url.protocol === 'http:' ? 'ws' : 'wss';\n return url.toString();\n};\n","import { useState, useEffect } from 'react';\nimport { useErrorReporter } from '@wix/cli-error-reporting';\nimport { createVeloCLIServer } from '@wix/editor-velo-cli-comm-api';\nimport type { DocumentFSUpdate } from '@wix/editor-velo-cli-comm-api';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\n\nexport function useWebSocketServer() {\n const { reportError } = useErrorReporter();\n const [server] = useState(() => {\n const instance = createVeloCLIServer();\n\n return {\n ...instance,\n async syncDocumentUpdate(document: DocumentFSUpdate) {\n try {\n return await instance.syncDocumentUpdate(document);\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToSyncVeloCLIServerDocumentUpdate(),\n cause: error,\n });\n }\n },\n };\n });\n\n useEffect(() => {\n return () => {\n server.close().catch(reportError);\n };\n }, [server, reportError]);\n\n return server;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,cAAQ,WAAW;AAAA,QACjB,OAAO;AAAA,UACL,iBAAiB;AAAA,UACjB,MAAM;AAAA,UACN,WAAW;AAAA,UACX,eAAe;AAAA,UACf,SAAS;AAAA,UACT,SAAS;AAAA,UACT,eAAe;AAAA,UACf,aAAa;AAAA,UACb,YAAY;AAAA,UACZ,cAAc;AAAA,UACd,WAAW;AAAA,UACX,OAAO;AAAA,UACP,kBAAkB;AAAA,UAClB,UAAU;AAAA,UACV,iBAAiB;AAAA,UACjB,mBAAmB;AAAA,UACnB,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,oBAAoB;AAAA,UACpB,qBAAqB;AAAA,UACrB,mBAAmB;AAAA,UACnB,iBAAiB;AAAA,UACjB,UAAU;AAAA,QACZ;AAAA,QACA,OAAO;AAAA,UACL,iBAAiB;AAAA,UACjB,MAAM;AAAA,UACN,WAAW;AAAA,UACX,eAAe;AAAA,UACf,SAAS;AAAA,UACT,SAAS;AAAA,UACT,eAAe;AAAA,UACf,aAAa;AAAA,UACb,YAAY;AAAA,UACZ,cAAc;AAAA,UACd,WAAW;AAAA,UACX,OAAO;AAAA,UACP,kBAAkB;AAAA,UAClB,uBAAuB;AAAA,UACvB,UAAU;AAAA,UACV,iBAAiB;AAAA,UACjB,mBAAmB;AAAA,UACnB,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,oBAAoB;AAAA,UACpB,qBAAqB;AAAA,UACrB,mBAAmB;AAAA,UACnB,iBAAiB;AAAA,UACjB,UAAU;AAAA,UACV,QAAQ;AAAA,YACN,WAAW;AAAA,YACX,YAAY;AAAA,YACZ,cAAc;AAAA,UAChB;AAAA,UACA,SAAS;AAAA,UACT,YAAY;AAAA,YACV,UAAU;AAAA,YACV,UAAU;AAAA,YACV,WAAW;AAAA,UACb;AAAA,UACA,UAAU;AAAA,UACV,WAAW;AAAA,UACX,UAAU;AAAA,UACV,OAAO;AAAA,QACT;AAAA,MACF;AAAA,IAEF,GAAG,KAAK,OAAI;AAAA;AAAA;;;ACvEZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,QAAQ,UAAU,SAAS,SAAS,YAAY,UAAU,eAC5D,QAAQ,CAAC,EAAE,OACX,UAAU,CAAC,EAAE;AAEf,eAAS,WAAW;AAClB,YAAI,GAAG,KAAK,KAAK,QAAQ,SAAS;AAClC,iBAAS,UAAU,CAAC,GAAG,UAAU,KAAK,UAAU,SAAS,MAAM,KAAK,WAAW,CAAC,IAAI,CAAC;AACrF,YAAI,WAAW,OAAO,MAAM,GAAG;AAC7B,iBAAO,OAAO,MAAM,MAAM,SAAS;AAAA,QACrC,OAAO;AACL,eAAK,IAAI,GAAG,MAAM,QAAQ,QAAQ,IAAI,KAAK,KAAK;AAC9C,qBAAS,QAAQ,CAAC;AAClB,gBAAI,UAAU,MAAM;AAClB,mBAAK,OAAO,QAAQ;AAClB,oBAAI,CAAC,QAAQ,KAAK,QAAQ,GAAG,EAAG;AAChC,uBAAO,GAAG,IAAI,OAAO,GAAG;AAAA,cAC1B;AAAA,YACF;AAAA,UACF;AAAA,QACF;AACA,eAAO;AAAA,MACT;AAEA,mBAAa,SAAS,KAAK;AACzB,eAAO,CAAC,CAAC,OAAO,OAAO,UAAU,SAAS,KAAK,GAAG,MAAM;AAAA,MAC1D;AAEA,iBAAW,SAAS,KAAK;AACvB,YAAI;AACJ,eAAO,CAAC,CAAC,SAAS,MAAM,OAAO,SAAS,cAAc,QAAQ;AAAA,MAChE;AAEA,gBAAU,SAAS,KAAK;AACtB,YAAI,WAAW,MAAM,OAAO,GAAG;AAC7B,iBAAO,MAAM,QAAQ,GAAG;AAAA,QAC1B,OAAO;AACL,iBAAO,OAAO,UAAU,SAAS,KAAK,GAAG,MAAM;AAAA,QACjD;AAAA,MACF;AAEA,gBAAU,SAAS,KAAK;AACtB,YAAI;AACJ,YAAI,QAAQ,GAAG,GAAG;AAChB,iBAAO,CAAC,IAAI;AAAA,QACd,OAAO;AACL,eAAK,OAAO,KAAK;AACf,gBAAI,CAAC,QAAQ,KAAK,KAAK,GAAG,EAAG;AAC7B,mBAAO;AAAA,UACT;AACA,iBAAO;AAAA,QACT;AAAA,MACF;AAEA,sBAAgB,SAAS,KAAK;AAC5B,YAAI,MAAM;AACV,eAAO,SAAS,GAAG,MAAM,QAAQ,OAAO,eAAe,GAAG,OAAO,OAAO,MAAM,gBAAiB,OAAO,SAAS,cAAgB,gBAAgB,QAAU,SAAS,UAAU,SAAS,KAAK,IAAI,MAAM,SAAS,UAAU,SAAS,KAAK,MAAM;AAAA,MAC7O;AAEA,iBAAW,SAAS,KAAK;AACvB,YAAI,WAAW,IAAI,OAAO,GAAG;AAC3B,iBAAO,IAAI,QAAQ;AAAA,QACrB,OAAO;AACL,iBAAO;AAAA,QACT;AAAA,MACF;AAEA,aAAO,QAAQ,SAAS;AAExB,aAAO,QAAQ,aAAa;AAE5B,aAAO,QAAQ,WAAW;AAE1B,aAAO,QAAQ,UAAU;AAEzB,aAAO,QAAQ,UAAU;AAEzB,aAAO,QAAQ,gBAAgB;AAE/B,aAAO,QAAQ,WAAW;AAAA,IAE5B,GAAG,KAAK,OAAI;AAAA;AAAA;;;AClFZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI;AAEJ,aAAO,UAAU,uBAAwB,WAAW;AAClD,iBAASA,wBAAuB;AAAA,QAAC;AAEjC,QAAAA,sBAAqB,UAAU,aAAa,SAAS,SAAS,SAAS;AACrE,iBAAO;AAAA,QACT;AAEA,QAAAA,sBAAqB,UAAU,qBAAqB,SAAS,eAAe,UAAU,UAAU;AAC9F,gBAAM,IAAI,MAAM,qCAAqC;AAAA,QACvD;AAEA,QAAAA,sBAAqB,UAAU,iBAAiB,SAAS,cAAc,eAAe,SAAS;AAC7F,gBAAM,IAAI,MAAM,qCAAqC;AAAA,QACvD;AAEA,QAAAA,sBAAqB,UAAU,qBAAqB,SAAS,OAAO;AAClE,gBAAM,IAAI,MAAM,qCAAqC;AAAA,QACvD;AAEA,QAAAA,sBAAqB,UAAU,aAAa,SAAS,SAAS,SAAS;AACrE,gBAAM,IAAI,MAAM,qCAAqC;AAAA,QACvD;AAEA,eAAOA;AAAA,MAET,EAAG;AAAA,IAEL,GAAG,KAAK,OAAI;AAAA;AAAA;;;AC/BZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI;AAEJ,aAAO,UAAU,qBAAsB,WAAW;AAChD,iBAASC,sBAAqB;AAAA,QAAC;AAE/B,QAAAA,oBAAmB,UAAU,cAAc,SAAS,OAAO;AACzD,gBAAM,IAAI,MAAM,KAAK;AAAA,QACvB;AAEA,eAAOA;AAAA,MAET,EAAG;AAAA,IAEL,GAAG,KAAK,OAAI;AAAA;AAAA;;;ACfZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI;AAEJ,aAAO,UAAU,mBAAoB,WAAW;AAC9C,iBAASC,kBAAiB,KAAK;AAC7B,eAAK,MAAM,OAAO,CAAC;AAAA,QACrB;AAEA,eAAO,eAAeA,kBAAiB,WAAW,UAAU;AAAA,UAC1D,KAAK,WAAW;AACd,mBAAO,KAAK,IAAI;AAAA,UAClB;AAAA,QACF,CAAC;AAED,QAAAA,kBAAiB,UAAU,OAAO,SAAS,OAAO;AAChD,iBAAO,KAAK,IAAI,KAAK,KAAK;AAAA,QAC5B;AAEA,QAAAA,kBAAiB,UAAU,WAAW,SAAS,KAAK;AAClD,iBAAO,KAAK,IAAI,QAAQ,GAAG,MAAM;AAAA,QACnC;AAEA,eAAOA;AAAA,MAET,EAAG;AAAA,IAEL,GAAG,KAAK,OAAI;AAAA;AAAA;;;AC3BZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,qBAAqB,oBAAoB;AAE7C,2BAAqB;AAErB,yBAAmB;AAEnB,aAAO,UAAU,sBAAuB,WAAW;AACjD,iBAASC,uBAAsB;AAC7B,cAAI;AACJ,eAAK,gBAAgB;AAAA,YACnB,kBAAkB;AAAA,YAClB,kBAAkB;AAAA,YAClB,YAAY;AAAA,YACZ,0BAA0B;AAAA,YAC1B,8BAA8B;AAAA,YAC9B,YAAY;AAAA,YACZ,iBAAiB,IAAI,mBAAmB;AAAA,YACxC,WAAW;AAAA,YACX,sBAAsB;AAAA,YACtB,cAAc;AAAA,YACd,0BAA0B;AAAA,YAC1B,wBAAwB;AAAA,YACxB,mBAAmB;AAAA,YACnB,eAAe;AAAA,YACf,wBAAwB;AAAA,YACxB,YAAY;AAAA,YACZ,eAAe;AAAA,UACjB;AACA,eAAK,SAAS,aAAa,OAAO,OAAO,KAAK,aAAa;AAAA,QAC7D;AAEA,eAAO,eAAeA,qBAAoB,WAAW,kBAAkB;AAAA,UACrE,KAAK,WAAW;AACd,mBAAO,IAAI,iBAAiB,OAAO,KAAK,KAAK,aAAa,CAAC;AAAA,UAC7D;AAAA,QACF,CAAC;AAED,QAAAA,qBAAoB,UAAU,eAAe,SAAS,MAAM;AAC1D,cAAI,KAAK,OAAO,eAAe,IAAI,GAAG;AACpC,mBAAO,KAAK,OAAO,IAAI;AAAA,UACzB,OAAO;AACL,mBAAO;AAAA,UACT;AAAA,QACF;AAEA,QAAAA,qBAAoB,UAAU,kBAAkB,SAAS,MAAM,OAAO;AACpE,iBAAO;AAAA,QACT;AAEA,QAAAA,qBAAoB,UAAU,eAAe,SAAS,MAAM,OAAO;AACjE,cAAI,SAAS,MAAM;AACjB,mBAAO,KAAK,OAAO,IAAI,IAAI;AAAA,UAC7B,OAAO;AACL,mBAAO,OAAO,KAAK,OAAO,IAAI;AAAA,UAChC;AAAA,QACF;AAEA,eAAOA;AAAA,MAET,EAAG;AAAA,IAEL,GAAG,KAAK,OAAI;AAAA;AAAA;;;AC/DZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,aAAO,UAAU;AAAA,QACf,SAAS;AAAA,QACT,WAAW;AAAA,QACX,MAAM;AAAA,QACN,OAAO;AAAA,QACP,iBAAiB;AAAA,QACjB,mBAAmB;AAAA,QACnB,uBAAuB;AAAA,QACvB,SAAS;AAAA,QACT,UAAU;AAAA,QACV,SAAS;AAAA,QACT,kBAAkB;AAAA,QAClB,qBAAqB;AAAA,QACrB,aAAa;AAAA,QACb,KAAK;AAAA,QACL,sBAAsB;AAAA,QACtB,oBAAoB;AAAA,QACpB,OAAO;AAAA,MACT;AAAA,IAEF,GAAG,KAAK,OAAI;AAAA;AAAA;;;ACtBZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,UAAU,cAAc;AAE5B,iBAAW;AAEX,gBAAU;AAEV,aAAO,UAAU,eAAgB,WAAW;AAC1C,iBAASC,cAAa,QAAQ,MAAM,OAAO;AACzC,eAAK,SAAS;AACd,cAAI,KAAK,QAAQ;AACf,iBAAK,UAAU,KAAK,OAAO;AAC3B,iBAAK,YAAY,KAAK,OAAO;AAAA,UAC/B;AACA,cAAI,QAAQ,MAAM;AAChB,kBAAM,IAAI,MAAM,6BAA6B,KAAK,UAAU,IAAI,CAAC;AAAA,UACnE;AACA,eAAK,OAAO,KAAK,UAAU,KAAK,IAAI;AACpC,eAAK,QAAQ,KAAK,UAAU,SAAS,KAAK;AAC1C,eAAK,OAAO,SAAS;AACrB,eAAK,OAAO;AACZ,eAAK,iBAAiB;AAAA,QACxB;AAEA,eAAO,eAAeA,cAAa,WAAW,YAAY;AAAA,UACxD,KAAK,WAAW;AACd,mBAAO,KAAK;AAAA,UACd;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,cAAa,WAAW,gBAAgB;AAAA,UAC5D,KAAK,WAAW;AACd,mBAAO,KAAK;AAAA,UACd;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,cAAa,WAAW,eAAe;AAAA,UAC3D,KAAK,WAAW;AACd,mBAAO,KAAK;AAAA,UACd;AAAA,UACA,KAAK,SAAS,OAAO;AACnB,mBAAO,KAAK,QAAQ,SAAS;AAAA,UAC/B;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,cAAa,WAAW,gBAAgB;AAAA,UAC5D,KAAK,WAAW;AACd,mBAAO;AAAA,UACT;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,cAAa,WAAW,UAAU;AAAA,UACtD,KAAK,WAAW;AACd,mBAAO;AAAA,UACT;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,cAAa,WAAW,aAAa;AAAA,UACzD,KAAK,WAAW;AACd,mBAAO,KAAK;AAAA,UACd;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,cAAa,WAAW,aAAa;AAAA,UACzD,KAAK,WAAW;AACd,mBAAO;AAAA,UACT;AAAA,QACF,CAAC;AAED,QAAAA,cAAa,UAAU,QAAQ,WAAW;AACxC,iBAAO,OAAO,OAAO,IAAI;AAAA,QAC3B;AAEA,QAAAA,cAAa,UAAU,WAAW,SAAS,SAAS;AAClD,iBAAO,KAAK,QAAQ,OAAO,UAAU,MAAM,KAAK,QAAQ,OAAO,cAAc,OAAO,CAAC;AAAA,QACvF;AAEA,QAAAA,cAAa,UAAU,YAAY,SAAS,MAAM;AAChD,iBAAO,QAAQ,KAAK;AACpB,cAAI,QAAQ,MAAM;AAChB,mBAAO,cAAc,KAAK,OAAO,OAAO;AAAA,UAC1C,OAAO;AACL,mBAAO,iBAAiB,OAAO,iBAAiB,KAAK,OAAO,OAAO;AAAA,UACrE;AAAA,QACF;AAEA,QAAAA,cAAa,UAAU,cAAc,SAAS,MAAM;AAClD,cAAI,KAAK,iBAAiB,KAAK,cAAc;AAC3C,mBAAO;AAAA,UACT;AACA,cAAI,KAAK,WAAW,KAAK,QAAQ;AAC/B,mBAAO;AAAA,UACT;AACA,cAAI,KAAK,cAAc,KAAK,WAAW;AACrC,mBAAO;AAAA,UACT;AACA,cAAI,KAAK,UAAU,KAAK,OAAO;AAC7B,mBAAO;AAAA,UACT;AACA,iBAAO;AAAA,QACT;AAEA,eAAOA;AAAA,MAET,EAAG;AAAA,IAEL,GAAG,KAAK,OAAI;AAAA;AAAA;;;AC3GZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI;AAEJ,aAAO,UAAU,kBAAmB,WAAW;AAC7C,iBAASC,iBAAgB,OAAO;AAC9B,eAAK,QAAQ;AAAA,QACf;AAEA,eAAO,eAAeA,iBAAgB,WAAW,UAAU;AAAA,UACzD,KAAK,WAAW;AACd,mBAAO,OAAO,KAAK,KAAK,KAAK,EAAE,UAAU;AAAA,UAC3C;AAAA,QACF,CAAC;AAED,QAAAA,iBAAgB,UAAU,QAAQ,WAAW;AAC3C,iBAAO,KAAK,QAAQ;AAAA,QACtB;AAEA,QAAAA,iBAAgB,UAAU,eAAe,SAAS,MAAM;AACtD,iBAAO,KAAK,MAAM,IAAI;AAAA,QACxB;AAEA,QAAAA,iBAAgB,UAAU,eAAe,SAAS,MAAM;AACtD,cAAI;AACJ,oBAAU,KAAK,MAAM,KAAK,QAAQ;AAClC,eAAK,MAAM,KAAK,QAAQ,IAAI;AAC5B,iBAAO,WAAW;AAAA,QACpB;AAEA,QAAAA,iBAAgB,UAAU,kBAAkB,SAAS,MAAM;AACzD,cAAI;AACJ,oBAAU,KAAK,MAAM,IAAI;AACzB,iBAAO,KAAK,MAAM,IAAI;AACtB,iBAAO,WAAW;AAAA,QACpB;AAEA,QAAAA,iBAAgB,UAAU,OAAO,SAAS,OAAO;AAC/C,iBAAO,KAAK,MAAM,OAAO,KAAK,KAAK,KAAK,EAAE,KAAK,CAAC,KAAK;AAAA,QACvD;AAEA,QAAAA,iBAAgB,UAAU,iBAAiB,SAAS,cAAc,WAAW;AAC3E,gBAAM,IAAI,MAAM,qCAAqC;AAAA,QACvD;AAEA,QAAAA,iBAAgB,UAAU,iBAAiB,SAAS,MAAM;AACxD,gBAAM,IAAI,MAAM,qCAAqC;AAAA,QACvD;AAEA,QAAAA,iBAAgB,UAAU,oBAAoB,SAAS,cAAc,WAAW;AAC9E,gBAAM,IAAI,MAAM,qCAAqC;AAAA,QACvD;AAEA,eAAOA;AAAA,MAET,EAAG;AAAA,IAEL,GAAG,KAAK,OAAI;AAAA;AAAA;;;ACzDZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,UAAU,cAAc,YAAY,iBAAiB,SAAS,UAAU,YAAY,UAAU,KAChG,SAAS,SAAS,OAAO,QAAQ;AAAE,iBAAS,OAAO,QAAQ;AAAE,cAAI,QAAQ,KAAK,QAAQ,GAAG,EAAG,OAAM,GAAG,IAAI,OAAO,GAAG;AAAA,QAAG;AAAE,iBAAS,OAAO;AAAE,eAAK,cAAc;AAAA,QAAO;AAAE,aAAK,YAAY,OAAO;AAAW,cAAM,YAAY,IAAI,KAAK;AAAG,cAAM,YAAY,OAAO;AAAW,eAAO;AAAA,MAAO,GACzR,UAAU,CAAC,EAAE;AAEf,YAAM,mBAAsB,WAAW,IAAI,UAAU,aAAa,IAAI,YAAY,WAAW,IAAI;AAEjG,gBAAU;AAEV,iBAAW;AAEX,qBAAe;AAEf,wBAAkB;AAElB,aAAO,UAAU,aAAc,SAAS,YAAY;AAClD,eAAOC,aAAY,UAAU;AAE7B,iBAASA,YAAW,QAAQ,MAAM,YAAY;AAC5C,cAAI,OAAO,GAAG,KAAK;AACnB,UAAAA,YAAW,UAAU,YAAY,KAAK,MAAM,MAAM;AAClD,cAAI,QAAQ,MAAM;AAChB,kBAAM,IAAI,MAAM,2BAA2B,KAAK,UAAU,CAAC;AAAA,UAC7D;AACA,eAAK,OAAO,KAAK,UAAU,KAAK,IAAI;AACpC,eAAK,OAAO,SAAS;AACrB,eAAK,UAAU,CAAC;AAChB,eAAK,iBAAiB;AACtB,cAAI,cAAc,MAAM;AACtB,iBAAK,UAAU,UAAU;AAAA,UAC3B;AACA,cAAI,OAAO,SAAS,SAAS,UAAU;AACrC,iBAAK,SAAS;AACd,iBAAK,iBAAiB;AACtB,mBAAO,aAAa;AACpB,gBAAI,OAAO,UAAU;AACnB,qBAAO,OAAO;AACd,mBAAK,IAAI,GAAG,MAAM,KAAK,QAAQ,IAAI,KAAK,KAAK;AAC3C,wBAAQ,KAAK,CAAC;AACd,oBAAI,MAAM,SAAS,SAAS,SAAS;AACnC,wBAAM,OAAO,KAAK;AAClB;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAEA,eAAO,eAAeA,YAAW,WAAW,WAAW;AAAA,UACrD,KAAK,WAAW;AACd,mBAAO,KAAK;AAAA,UACd;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,YAAW,WAAW,gBAAgB;AAAA,UAC1D,KAAK,WAAW;AACd,mBAAO;AAAA,UACT;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,YAAW,WAAW,UAAU;AAAA,UACpD,KAAK,WAAW;AACd,mBAAO;AAAA,UACT;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,YAAW,WAAW,aAAa;AAAA,UACvD,KAAK,WAAW;AACd,mBAAO,KAAK;AAAA,UACd;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,YAAW,WAAW,MAAM;AAAA,UAChD,KAAK,WAAW;AACd,kBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,UAC1E;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,YAAW,WAAW,aAAa;AAAA,UACvD,KAAK,WAAW;AACd,kBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,UAC1E;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,YAAW,WAAW,aAAa;AAAA,UACvD,KAAK,WAAW;AACd,kBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,UAC1E;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,YAAW,WAAW,cAAc;AAAA,UACxD,KAAK,WAAW;AACd,gBAAI,CAAC,KAAK,gBAAgB,CAAC,KAAK,aAAa,OAAO;AAClD,mBAAK,eAAe,IAAI,gBAAgB,KAAK,OAAO;AAAA,YACtD;AACA,mBAAO,KAAK;AAAA,UACd;AAAA,QACF,CAAC;AAED,QAAAA,YAAW,UAAU,QAAQ,WAAW;AACtC,cAAI,KAAK,SAAS,YAAY;AAC9B,uBAAa,OAAO,OAAO,IAAI;AAC/B,cAAI,WAAW,QAAQ;AACrB,uBAAW,iBAAiB;AAAA,UAC9B;AACA,qBAAW,UAAU,CAAC;AACtB,iBAAO,KAAK;AACZ,eAAK,WAAW,MAAM;AACpB,gBAAI,CAAC,QAAQ,KAAK,MAAM,OAAO,EAAG;AAClC,kBAAM,KAAK,OAAO;AAClB,uBAAW,QAAQ,OAAO,IAAI,IAAI,MAAM;AAAA,UAC1C;AACA,qBAAW,WAAW,CAAC;AACvB,eAAK,SAAS,QAAQ,SAAS,OAAO;AACpC,gBAAI;AACJ,0BAAc,MAAM,MAAM;AAC1B,wBAAY,SAAS;AACrB,mBAAO,WAAW,SAAS,KAAK,WAAW;AAAA,UAC7C,CAAC;AACD,iBAAO;AAAA,QACT;AAEA,QAAAA,YAAW,UAAU,YAAY,SAAS,MAAM,OAAO;AACrD,cAAI,SAAS;AACb,cAAI,QAAQ,MAAM;AAChB,mBAAO,SAAS,IAAI;AAAA,UACtB;AACA,cAAI,SAAS,IAAI,GAAG;AAClB,iBAAK,WAAW,MAAM;AACpB,kBAAI,CAAC,QAAQ,KAAK,MAAM,OAAO,EAAG;AAClC,yBAAW,KAAK,OAAO;AACvB,mBAAK,UAAU,SAAS,QAAQ;AAAA,YAClC;AAAA,UACF,OAAO;AACL,gBAAI,WAAW,KAAK,GAAG;AACrB,sBAAQ,MAAM,MAAM;AAAA,YACtB;AACA,gBAAI,KAAK,QAAQ,sBAAuB,SAAS,MAAO;AACtD,mBAAK,QAAQ,IAAI,IAAI,IAAI,aAAa,MAAM,MAAM,EAAE;AAAA,YACtD,WAAW,SAAS,MAAM;AACxB,mBAAK,QAAQ,IAAI,IAAI,IAAI,aAAa,MAAM,MAAM,KAAK;AAAA,YACzD;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AAEA,QAAAA,YAAW,UAAU,kBAAkB,SAAS,MAAM;AACpD,cAAI,SAAS,GAAG;AAChB,cAAI,QAAQ,MAAM;AAChB,kBAAM,IAAI,MAAM,6BAA6B,KAAK,UAAU,CAAC;AAAA,UAC/D;AACA,iBAAO,SAAS,IAAI;AACpB,cAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,iBAAK,IAAI,GAAG,MAAM,KAAK,QAAQ,IAAI,KAAK,KAAK;AAC3C,wBAAU,KAAK,CAAC;AAChB,qBAAO,KAAK,QAAQ,OAAO;AAAA,YAC7B;AAAA,UACF,OAAO;AACL,mBAAO,KAAK,QAAQ,IAAI;AAAA,UAC1B;AACA,iBAAO;AAAA,QACT;AAEA,QAAAA,YAAW,UAAU,WAAW,SAAS,SAAS;AAChD,iBAAO,KAAK,QAAQ,OAAO,QAAQ,MAAM,KAAK,QAAQ,OAAO,cAAc,OAAO,CAAC;AAAA,QACrF;AAEA,QAAAA,YAAW,UAAU,MAAM,SAAS,MAAM,OAAO;AAC/C,iBAAO,KAAK,UAAU,MAAM,KAAK;AAAA,QACnC;AAEA,QAAAA,YAAW,UAAU,IAAI,SAAS,MAAM,OAAO;AAC7C,iBAAO,KAAK,UAAU,MAAM,KAAK;AAAA,QACnC;AAEA,QAAAA,YAAW,UAAU,eAAe,SAAS,MAAM;AACjD,cAAI,KAAK,QAAQ,eAAe,IAAI,GAAG;AACrC,mBAAO,KAAK,QAAQ,IAAI,EAAE;AAAA,UAC5B,OAAO;AACL,mBAAO;AAAA,UACT;AAAA,QACF;AAEA,QAAAA,YAAW,UAAU,eAAe,SAAS,MAAM,OAAO;AACxD,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,YAAW,UAAU,mBAAmB,SAAS,MAAM;AACrD,cAAI,KAAK,QAAQ,eAAe,IAAI,GAAG;AACrC,mBAAO,KAAK,QAAQ,IAAI;AAAA,UAC1B,OAAO;AACL,mBAAO;AAAA,UACT;AAAA,QACF;AAEA,QAAAA,YAAW,UAAU,mBAAmB,SAAS,SAAS;AACxD,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,YAAW,UAAU,sBAAsB,SAAS,SAAS;AAC3D,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,YAAW,UAAU,uBAAuB,SAAS,MAAM;AACzD,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,YAAW,UAAU,iBAAiB,SAAS,cAAc,WAAW;AACtE,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,YAAW,UAAU,iBAAiB,SAAS,cAAc,eAAe,OAAO;AACjF,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,YAAW,UAAU,oBAAoB,SAAS,cAAc,WAAW;AACzE,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,YAAW,UAAU,qBAAqB,SAAS,cAAc,WAAW;AAC1E,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,YAAW,UAAU,qBAAqB,SAAS,SAAS;AAC1D,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,YAAW,UAAU,yBAAyB,SAAS,cAAc,WAAW;AAC9E,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,YAAW,UAAU,eAAe,SAAS,MAAM;AACjD,iBAAO,KAAK,QAAQ,eAAe,IAAI;AAAA,QACzC;AAEA,QAAAA,YAAW,UAAU,iBAAiB,SAAS,cAAc,WAAW;AACtE,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,YAAW,UAAU,iBAAiB,SAAS,MAAM,MAAM;AACzD,cAAI,KAAK,QAAQ,eAAe,IAAI,GAAG;AACrC,mBAAO,KAAK,QAAQ,IAAI,EAAE;AAAA,UAC5B,OAAO;AACL,mBAAO;AAAA,UACT;AAAA,QACF;AAEA,QAAAA,YAAW,UAAU,mBAAmB,SAAS,cAAc,WAAW,MAAM;AAC9E,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,YAAW,UAAU,qBAAqB,SAAS,QAAQ,MAAM;AAC/D,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,YAAW,UAAU,uBAAuB,SAAS,SAAS;AAC5D,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,YAAW,UAAU,yBAAyB,SAAS,cAAc,WAAW;AAC9E,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,YAAW,UAAU,yBAAyB,SAAS,YAAY;AACjE,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,YAAW,UAAU,cAAc,SAAS,MAAM;AAChD,cAAI,GAAG,GAAG;AACV,cAAI,CAACA,YAAW,UAAU,YAAY,MAAM,MAAM,SAAS,EAAE,YAAY,IAAI,GAAG;AAC9E,mBAAO;AAAA,UACT;AACA,cAAI,KAAK,iBAAiB,KAAK,cAAc;AAC3C,mBAAO;AAAA,UACT;AACA,cAAI,KAAK,WAAW,KAAK,QAAQ;AAC/B,mBAAO;AAAA,UACT;AACA,cAAI,KAAK,cAAc,KAAK,WAAW;AACrC,mBAAO;AAAA,UACT;AACA,cAAI,KAAK,QAAQ,WAAW,KAAK,QAAQ,QAAQ;AAC/C,mBAAO;AAAA,UACT;AACA,eAAK,IAAI,IAAI,GAAG,OAAO,KAAK,QAAQ,SAAS,GAAG,KAAK,OAAO,KAAK,OAAO,KAAK,MAAM,IAAI,KAAK,OAAO,EAAE,IAAI,EAAE,GAAG;AAC5G,gBAAI,CAAC,KAAK,QAAQ,CAAC,EAAE,YAAY,KAAK,QAAQ,CAAC,CAAC,GAAG;AACjD,qBAAO;AAAA,YACT;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AAEA,eAAOA;AAAA,MAET,EAAG,OAAO;AAAA,IAEZ,GAAG,KAAK,OAAI;AAAA;AAAA;;;ACzSZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,kBAAkB,SACpB,SAAS,SAAS,OAAO,QAAQ;AAAE,iBAAS,OAAO,QAAQ;AAAE,cAAI,QAAQ,KAAK,QAAQ,GAAG,EAAG,OAAM,GAAG,IAAI,OAAO,GAAG;AAAA,QAAG;AAAE,iBAAS,OAAO;AAAE,eAAK,cAAc;AAAA,QAAO;AAAE,aAAK,YAAY,OAAO;AAAW,cAAM,YAAY,IAAI,KAAK;AAAG,cAAM,YAAY,OAAO;AAAW,eAAO;AAAA,MAAO,GACzR,UAAU,CAAC,EAAE;AAEf,gBAAU;AAEV,aAAO,UAAU,mBAAoB,SAAS,YAAY;AACxD,eAAOC,mBAAkB,UAAU;AAEnC,iBAASA,kBAAiB,QAAQ;AAChC,UAAAA,kBAAiB,UAAU,YAAY,KAAK,MAAM,MAAM;AACxD,eAAK,QAAQ;AAAA,QACf;AAEA,eAAO,eAAeA,kBAAiB,WAAW,QAAQ;AAAA,UACxD,KAAK,WAAW;AACd,mBAAO,KAAK;AAAA,UACd;AAAA,UACA,KAAK,SAAS,OAAO;AACnB,mBAAO,KAAK,QAAQ,SAAS;AAAA,UAC/B;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,kBAAiB,WAAW,UAAU;AAAA,UAC1D,KAAK,WAAW;AACd,mBAAO,KAAK,MAAM;AAAA,UACpB;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,kBAAiB,WAAW,eAAe;AAAA,UAC/D,KAAK,WAAW;AACd,mBAAO,KAAK;AAAA,UACd;AAAA,UACA,KAAK,SAAS,OAAO;AACnB,mBAAO,KAAK,QAAQ,SAAS;AAAA,UAC/B;AAAA,QACF,CAAC;AAED,QAAAA,kBAAiB,UAAU,QAAQ,WAAW;AAC5C,iBAAO,OAAO,OAAO,IAAI;AAAA,QAC3B;AAEA,QAAAA,kBAAiB,UAAU,gBAAgB,SAAS,QAAQ,OAAO;AACjE,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,kBAAiB,UAAU,aAAa,SAAS,KAAK;AACpD,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,kBAAiB,UAAU,aAAa,SAAS,QAAQ,KAAK;AAC5D,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,kBAAiB,UAAU,aAAa,SAAS,QAAQ,OAAO;AAC9D,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,kBAAiB,UAAU,cAAc,SAAS,QAAQ,OAAO,KAAK;AACpE,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,kBAAiB,UAAU,cAAc,SAAS,MAAM;AACtD,cAAI,CAACA,kBAAiB,UAAU,YAAY,MAAM,MAAM,SAAS,EAAE,YAAY,IAAI,GAAG;AACpF,mBAAO;AAAA,UACT;AACA,cAAI,KAAK,SAAS,KAAK,MAAM;AAC3B,mBAAO;AAAA,UACT;AACA,iBAAO;AAAA,QACT;AAEA,eAAOA;AAAA,MAET,EAAG,OAAO;AAAA,IAEZ,GAAG,KAAK,OAAI;AAAA;AAAA;;;AC9EZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,UAAU,UAAU,kBACtB,SAAS,SAAS,OAAO,QAAQ;AAAE,iBAAS,OAAO,QAAQ;AAAE,cAAI,QAAQ,KAAK,QAAQ,GAAG,EAAG,OAAM,GAAG,IAAI,OAAO,GAAG;AAAA,QAAG;AAAE,iBAAS,OAAO;AAAE,eAAK,cAAc;AAAA,QAAO;AAAE,aAAK,YAAY,OAAO;AAAW,cAAM,YAAY,IAAI,KAAK;AAAG,cAAM,YAAY,OAAO;AAAW,eAAO;AAAA,MAAO,GACzR,UAAU,CAAC,EAAE;AAEf,iBAAW;AAEX,yBAAmB;AAEnB,aAAO,UAAU,WAAY,SAAS,YAAY;AAChD,eAAOC,WAAU,UAAU;AAE3B,iBAASA,UAAS,QAAQ,MAAM;AAC9B,UAAAA,UAAS,UAAU,YAAY,KAAK,MAAM,MAAM;AAChD,cAAI,QAAQ,MAAM;AAChB,kBAAM,IAAI,MAAM,yBAAyB,KAAK,UAAU,CAAC;AAAA,UAC3D;AACA,eAAK,OAAO;AACZ,eAAK,OAAO,SAAS;AACrB,eAAK,QAAQ,KAAK,UAAU,MAAM,IAAI;AAAA,QACxC;AAEA,QAAAA,UAAS,UAAU,QAAQ,WAAW;AACpC,iBAAO,OAAO,OAAO,IAAI;AAAA,QAC3B;AAEA,QAAAA,UAAS,UAAU,WAAW,SAAS,SAAS;AAC9C,iBAAO,KAAK,QAAQ,OAAO,MAAM,MAAM,KAAK,QAAQ,OAAO,cAAc,OAAO,CAAC;AAAA,QACnF;AAEA,eAAOA;AAAA,MAET,EAAG,gBAAgB;AAAA,IAErB,GAAG,KAAK,OAAI;AAAA;AAAA;;;ACnCZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,UAAU,kBAAkB,YAC9B,SAAS,SAAS,OAAO,QAAQ;AAAE,iBAAS,OAAO,QAAQ;AAAE,cAAI,QAAQ,KAAK,QAAQ,GAAG,EAAG,OAAM,GAAG,IAAI,OAAO,GAAG;AAAA,QAAG;AAAE,iBAAS,OAAO;AAAE,eAAK,cAAc;AAAA,QAAO;AAAE,aAAK,YAAY,OAAO;AAAW,cAAM,YAAY,IAAI,KAAK;AAAG,cAAM,YAAY,OAAO;AAAW,eAAO;AAAA,MAAO,GACzR,UAAU,CAAC,EAAE;AAEf,iBAAW;AAEX,yBAAmB;AAEnB,aAAO,UAAU,aAAc,SAAS,YAAY;AAClD,eAAOC,aAAY,UAAU;AAE7B,iBAASA,YAAW,QAAQ,MAAM;AAChC,UAAAA,YAAW,UAAU,YAAY,KAAK,MAAM,MAAM;AAClD,cAAI,QAAQ,MAAM;AAChB,kBAAM,IAAI,MAAM,2BAA2B,KAAK,UAAU,CAAC;AAAA,UAC7D;AACA,eAAK,OAAO;AACZ,eAAK,OAAO,SAAS;AACrB,eAAK,QAAQ,KAAK,UAAU,QAAQ,IAAI;AAAA,QAC1C;AAEA,QAAAA,YAAW,UAAU,QAAQ,WAAW;AACtC,iBAAO,OAAO,OAAO,IAAI;AAAA,QAC3B;AAEA,QAAAA,YAAW,UAAU,WAAW,SAAS,SAAS;AAChD,iBAAO,KAAK,QAAQ,OAAO,QAAQ,MAAM,KAAK,QAAQ,OAAO,cAAc,OAAO,CAAC;AAAA,QACrF;AAEA,eAAOA;AAAA,MAET,EAAG,gBAAgB;AAAA,IAErB,GAAG,KAAK,OAAI;AAAA;AAAA;;;ACnCZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,UAAU,gBAAgB,SAAS,UACrC,SAAS,SAAS,OAAO,QAAQ;AAAE,iBAAS,OAAO,QAAQ;AAAE,cAAI,QAAQ,KAAK,QAAQ,GAAG,EAAG,OAAM,GAAG,IAAI,OAAO,GAAG;AAAA,QAAG;AAAE,iBAAS,OAAO;AAAE,eAAK,cAAc;AAAA,QAAO;AAAE,aAAK,YAAY,OAAO;AAAW,cAAM,YAAY,IAAI,KAAK;AAAG,cAAM,YAAY,OAAO;AAAW,eAAO;AAAA,MAAO,GACzR,UAAU,CAAC,EAAE;AAEf,iBAAW,kBAAqB;AAEhC,gBAAU;AAEV,iBAAW;AAEX,aAAO,UAAU,iBAAkB,SAAS,YAAY;AACtD,eAAOC,iBAAgB,UAAU;AAEjC,iBAASA,gBAAe,QAAQ,SAAS,UAAU,YAAY;AAC7D,cAAI;AACJ,UAAAA,gBAAe,UAAU,YAAY,KAAK,MAAM,MAAM;AACtD,cAAI,SAAS,OAAO,GAAG;AACrB,kBAAM,SAAS,UAAU,IAAI,SAAS,WAAW,IAAI,UAAU,aAAa,IAAI;AAAA,UAClF;AACA,cAAI,CAAC,SAAS;AACZ,sBAAU;AAAA,UACZ;AACA,eAAK,OAAO,SAAS;AACrB,eAAK,UAAU,KAAK,UAAU,WAAW,OAAO;AAChD,cAAI,YAAY,MAAM;AACpB,iBAAK,WAAW,KAAK,UAAU,YAAY,QAAQ;AAAA,UACrD;AACA,cAAI,cAAc,MAAM;AACtB,iBAAK,aAAa,KAAK,UAAU,cAAc,UAAU;AAAA,UAC3D;AAAA,QACF;AAEA,QAAAA,gBAAe,UAAU,WAAW,SAAS,SAAS;AACpD,iBAAO,KAAK,QAAQ,OAAO,YAAY,MAAM,KAAK,QAAQ,OAAO,cAAc,OAAO,CAAC;AAAA,QACzF;AAEA,eAAOA;AAAA,MAET,EAAG,OAAO;AAAA,IAEZ,GAAG,KAAK,OAAI;AAAA;AAAA;;;AC1CZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,UAAU,eAAe,SAC3B,SAAS,SAAS,OAAO,QAAQ;AAAE,iBAAS,OAAO,QAAQ;AAAE,cAAI,QAAQ,KAAK,QAAQ,GAAG,EAAG,OAAM,GAAG,IAAI,OAAO,GAAG;AAAA,QAAG;AAAE,iBAAS,OAAO;AAAE,eAAK,cAAc;AAAA,QAAO;AAAE,aAAK,YAAY,OAAO;AAAW,cAAM,YAAY,IAAI,KAAK;AAAG,cAAM,YAAY,OAAO;AAAW,eAAO;AAAA,MAAO,GACzR,UAAU,CAAC,EAAE;AAEf,gBAAU;AAEV,iBAAW;AAEX,aAAO,UAAU,gBAAiB,SAAS,YAAY;AACrD,eAAOC,gBAAe,UAAU;AAEhC,iBAASA,eAAc,QAAQ,aAAa,eAAe,eAAe,kBAAkB,cAAc;AACxG,UAAAA,eAAc,UAAU,YAAY,KAAK,MAAM,MAAM;AACrD,cAAI,eAAe,MAAM;AACvB,kBAAM,IAAI,MAAM,+BAA+B,KAAK,UAAU,CAAC;AAAA,UACjE;AACA,cAAI,iBAAiB,MAAM;AACzB,kBAAM,IAAI,MAAM,iCAAiC,KAAK,UAAU,WAAW,CAAC;AAAA,UAC9E;AACA,cAAI,CAAC,eAAe;AAClB,kBAAM,IAAI,MAAM,iCAAiC,KAAK,UAAU,WAAW,CAAC;AAAA,UAC9E;AACA,cAAI,CAAC,kBAAkB;AACrB,kBAAM,IAAI,MAAM,oCAAoC,KAAK,UAAU,WAAW,CAAC;AAAA,UACjF;AACA,cAAI,iBAAiB,QAAQ,GAAG,MAAM,GAAG;AACvC,+BAAmB,MAAM;AAAA,UAC3B;AACA,cAAI,CAAC,iBAAiB,MAAM,wCAAwC,GAAG;AACrE,kBAAM,IAAI,MAAM,oFAAoF,KAAK,UAAU,WAAW,CAAC;AAAA,UACjI;AACA,cAAI,gBAAgB,CAAC,iBAAiB,MAAM,qBAAqB,GAAG;AAClE,kBAAM,IAAI,MAAM,uDAAuD,KAAK,UAAU,WAAW,CAAC;AAAA,UACpG;AACA,eAAK,cAAc,KAAK,UAAU,KAAK,WAAW;AAClD,eAAK,OAAO,SAAS;AACrB,eAAK,gBAAgB,KAAK,UAAU,KAAK,aAAa;AACtD,eAAK,gBAAgB,KAAK,UAAU,WAAW,aAAa;AAC5D,cAAI,cAAc;AAChB,iBAAK,eAAe,KAAK,UAAU,cAAc,YAAY;AAAA,UAC/D;AACA,eAAK,mBAAmB;AAAA,QAC1B;AAEA,QAAAA,eAAc,UAAU,WAAW,SAAS,SAAS;AACnD,iBAAO,KAAK,QAAQ,OAAO,WAAW,MAAM,KAAK,QAAQ,OAAO,cAAc,OAAO,CAAC;AAAA,QACxF;AAEA,eAAOA;AAAA,MAET,EAAG,OAAO;AAAA,IAEZ,GAAG,KAAK,OAAI;AAAA;AAAA;;;ACtDZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,UAAU,cAAc,SAAS,UACnC,SAAS,SAAS,OAAO,QAAQ;AAAE,iBAAS,OAAO,QAAQ;AAAE,cAAI,QAAQ,KAAK,QAAQ,GAAG,EAAG,OAAM,GAAG,IAAI,OAAO,GAAG;AAAA,QAAG;AAAE,iBAAS,OAAO;AAAE,eAAK,cAAc;AAAA,QAAO;AAAE,aAAK,YAAY,OAAO;AAAW,cAAM,YAAY,IAAI,KAAK;AAAG,cAAM,YAAY,OAAO;AAAW,eAAO;AAAA,MAAO,GACzR,UAAU,CAAC,EAAE;AAEf,iBAAW,kBAAqB;AAEhC,gBAAU;AAEV,iBAAW;AAEX,aAAO,UAAU,eAAgB,SAAS,YAAY;AACpD,eAAOC,eAAc,UAAU;AAE/B,iBAASA,cAAa,QAAQ,IAAI,MAAM,OAAO;AAC7C,UAAAA,cAAa,UAAU,YAAY,KAAK,MAAM,MAAM;AACpD,cAAI,QAAQ,MAAM;AAChB,kBAAM,IAAI,MAAM,8BAA8B,KAAK,UAAU,IAAI,CAAC;AAAA,UACpE;AACA,cAAI,SAAS,MAAM;AACjB,kBAAM,IAAI,MAAM,+BAA+B,KAAK,UAAU,IAAI,CAAC;AAAA,UACrE;AACA,eAAK,KAAK,CAAC,CAAC;AACZ,eAAK,OAAO,KAAK,UAAU,KAAK,IAAI;AACpC,eAAK,OAAO,SAAS;AACrB,cAAI,CAAC,SAAS,KAAK,GAAG;AACpB,iBAAK,QAAQ,KAAK,UAAU,eAAe,KAAK;AAChD,iBAAK,WAAW;AAAA,UAClB,OAAO;AACL,gBAAI,CAAC,MAAM,SAAS,CAAC,MAAM,OAAO;AAChC,oBAAM,IAAI,MAAM,2EAA2E,KAAK,UAAU,IAAI,CAAC;AAAA,YACjH;AACA,gBAAI,MAAM,SAAS,CAAC,MAAM,OAAO;AAC/B,oBAAM,IAAI,MAAM,iEAAiE,KAAK,UAAU,IAAI,CAAC;AAAA,YACvG;AACA,iBAAK,WAAW;AAChB,gBAAI,MAAM,SAAS,MAAM;AACvB,mBAAK,QAAQ,KAAK,UAAU,SAAS,MAAM,KAAK;AAAA,YAClD;AACA,gBAAI,MAAM,SAAS,MAAM;AACvB,mBAAK,QAAQ,KAAK,UAAU,SAAS,MAAM,KAAK;AAAA,YAClD;AACA,gBAAI,MAAM,SAAS,MAAM;AACvB,mBAAK,QAAQ,KAAK,UAAU,SAAS,MAAM,KAAK;AAAA,YAClD;AACA,gBAAI,KAAK,MAAM,KAAK,OAAO;AACzB,oBAAM,IAAI,MAAM,gEAAgE,KAAK,UAAU,IAAI,CAAC;AAAA,YACtG;AAAA,UACF;AAAA,QACF;AAEA,eAAO,eAAeA,cAAa,WAAW,YAAY;AAAA,UACxD,KAAK,WAAW;AACd,mBAAO,KAAK;AAAA,UACd;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,cAAa,WAAW,YAAY;AAAA,UACxD,KAAK,WAAW;AACd,mBAAO,KAAK;AAAA,UACd;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,cAAa,WAAW,gBAAgB;AAAA,UAC5D,KAAK,WAAW;AACd,mBAAO,KAAK,SAAS;AAAA,UACvB;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,cAAa,WAAW,iBAAiB;AAAA,UAC7D,KAAK,WAAW;AACd,mBAAO;AAAA,UACT;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,cAAa,WAAW,eAAe;AAAA,UAC3D,KAAK,WAAW;AACd,mBAAO;AAAA,UACT;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,cAAa,WAAW,cAAc;AAAA,UAC1D,KAAK,WAAW;AACd,mBAAO;AAAA,UACT;AAAA,QACF,CAAC;AAED,QAAAA,cAAa,UAAU,WAAW,SAAS,SAAS;AAClD,iBAAO,KAAK,QAAQ,OAAO,UAAU,MAAM,KAAK,QAAQ,OAAO,cAAc,OAAO,CAAC;AAAA,QACvF;AAEA,eAAOA;AAAA,MAET,EAAG,OAAO;AAAA,IAEZ,GAAG,KAAK,OAAI;AAAA;AAAA;;;AChGZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,UAAU,eAAe,SAC3B,SAAS,SAAS,OAAO,QAAQ;AAAE,iBAAS,OAAO,QAAQ;AAAE,cAAI,QAAQ,KAAK,QAAQ,GAAG,EAAG,OAAM,GAAG,IAAI,OAAO,GAAG;AAAA,QAAG;AAAE,iBAAS,OAAO;AAAE,eAAK,cAAc;AAAA,QAAO;AAAE,aAAK,YAAY,OAAO;AAAW,cAAM,YAAY,IAAI,KAAK;AAAG,cAAM,YAAY,OAAO;AAAW,eAAO;AAAA,MAAO,GACzR,UAAU,CAAC,EAAE;AAEf,gBAAU;AAEV,iBAAW;AAEX,aAAO,UAAU,gBAAiB,SAAS,YAAY;AACrD,eAAOC,gBAAe,UAAU;AAEhC,iBAASA,eAAc,QAAQ,MAAM,OAAO;AAC1C,UAAAA,eAAc,UAAU,YAAY,KAAK,MAAM,MAAM;AACrD,cAAI,QAAQ,MAAM;AAChB,kBAAM,IAAI,MAAM,+BAA+B,KAAK,UAAU,CAAC;AAAA,UACjE;AACA,cAAI,CAAC,OAAO;AACV,oBAAQ;AAAA,UACV;AACA,cAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,oBAAQ,MAAM,MAAM,KAAK,GAAG,IAAI;AAAA,UAClC;AACA,eAAK,OAAO,KAAK,UAAU,KAAK,IAAI;AACpC,eAAK,OAAO,SAAS;AACrB,eAAK,QAAQ,KAAK,UAAU,gBAAgB,KAAK;AAAA,QACnD;AAEA,QAAAA,eAAc,UAAU,WAAW,SAAS,SAAS;AACnD,iBAAO,KAAK,QAAQ,OAAO,WAAW,MAAM,KAAK,QAAQ,OAAO,cAAc,OAAO,CAAC;AAAA,QACxF;AAEA,eAAOA;AAAA,MAET,EAAG,OAAO;AAAA,IAEZ,GAAG,KAAK,OAAI;AAAA;AAAA;;;ACrCZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,UAAU,gBAAgB,SAC5B,SAAS,SAAS,OAAO,QAAQ;AAAE,iBAAS,OAAO,QAAQ;AAAE,cAAI,QAAQ,KAAK,QAAQ,GAAG,EAAG,OAAM,GAAG,IAAI,OAAO,GAAG;AAAA,QAAG;AAAE,iBAAS,OAAO;AAAE,eAAK,cAAc;AAAA,QAAO;AAAE,aAAK,YAAY,OAAO;AAAW,cAAM,YAAY,IAAI,KAAK;AAAG,cAAM,YAAY,OAAO;AAAW,eAAO;AAAA,MAAO,GACzR,UAAU,CAAC,EAAE;AAEf,gBAAU;AAEV,iBAAW;AAEX,aAAO,UAAU,iBAAkB,SAAS,YAAY;AACtD,eAAOC,iBAAgB,UAAU;AAEjC,iBAASA,gBAAe,QAAQ,MAAM,OAAO;AAC3C,UAAAA,gBAAe,UAAU,YAAY,KAAK,MAAM,MAAM;AACtD,cAAI,QAAQ,MAAM;AAChB,kBAAM,IAAI,MAAM,gCAAgC,KAAK,UAAU,IAAI,CAAC;AAAA,UACtE;AACA,cAAI,CAAC,MAAM,SAAS,CAAC,MAAM,OAAO;AAChC,kBAAM,IAAI,MAAM,uEAAuE,KAAK,UAAU,IAAI,CAAC;AAAA,UAC7G;AACA,eAAK,OAAO,KAAK,UAAU,KAAK,IAAI;AACpC,eAAK,OAAO,SAAS;AACrB,cAAI,MAAM,SAAS,MAAM;AACvB,iBAAK,QAAQ,KAAK,UAAU,SAAS,MAAM,KAAK;AAAA,UAClD;AACA,cAAI,MAAM,SAAS,MAAM;AACvB,iBAAK,QAAQ,KAAK,UAAU,SAAS,MAAM,KAAK;AAAA,UAClD;AAAA,QACF;AAEA,eAAO,eAAeA,gBAAe,WAAW,YAAY;AAAA,UAC1D,KAAK,WAAW;AACd,mBAAO,KAAK;AAAA,UACd;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,gBAAe,WAAW,YAAY;AAAA,UAC1D,KAAK,WAAW;AACd,mBAAO,KAAK;AAAA,UACd;AAAA,QACF,CAAC;AAED,QAAAA,gBAAe,UAAU,WAAW,SAAS,SAAS;AACpD,iBAAO,KAAK,QAAQ,OAAO,YAAY,MAAM,KAAK,QAAQ,OAAO,cAAc,OAAO,CAAC;AAAA,QACzF;AAEA,eAAOA;AAAA,MAET,EAAG,OAAO;AAAA,IAEZ,GAAG,KAAK,OAAI;AAAA;AAAA;;;ACnDZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,UAAU,eAAe,eAAe,cAAc,gBAAgB,YAAY,iBAAiB,SAAS,UAC9G,SAAS,SAAS,OAAO,QAAQ;AAAE,iBAAS,OAAO,QAAQ;AAAE,cAAI,QAAQ,KAAK,QAAQ,GAAG,EAAG,OAAM,GAAG,IAAI,OAAO,GAAG;AAAA,QAAG;AAAE,iBAAS,OAAO;AAAE,eAAK,cAAc;AAAA,QAAO;AAAE,aAAK,YAAY,OAAO;AAAW,cAAM,YAAY,IAAI,KAAK;AAAG,cAAM,YAAY,OAAO;AAAW,eAAO;AAAA,MAAO,GACzR,UAAU,CAAC,EAAE;AAEf,iBAAW,kBAAqB;AAEhC,gBAAU;AAEV,iBAAW;AAEX,sBAAgB;AAEhB,qBAAe;AAEf,sBAAgB;AAEhB,uBAAiB;AAEjB,wBAAkB;AAElB,aAAO,UAAU,aAAc,SAAS,YAAY;AAClD,eAAOC,aAAY,UAAU;AAE7B,iBAASA,YAAW,QAAQ,OAAO,OAAO;AACxC,cAAI,OAAO,GAAG,KAAK,KAAK,MAAM;AAC9B,UAAAA,YAAW,UAAU,YAAY,KAAK,MAAM,MAAM;AAClD,eAAK,OAAO,SAAS;AACrB,cAAI,OAAO,UAAU;AACnB,kBAAM,OAAO;AACb,iBAAK,IAAI,GAAG,MAAM,IAAI,QAAQ,IAAI,KAAK,KAAK;AAC1C,sBAAQ,IAAI,CAAC;AACb,kBAAI,MAAM,SAAS,SAAS,SAAS;AACnC,qBAAK,OAAO,MAAM;AAClB;AAAA,cACF;AAAA,YACF;AAAA,UACF;AACA,eAAK,iBAAiB;AACtB,cAAI,SAAS,KAAK,GAAG;AACnB,mBAAO,OAAO,QAAQ,KAAK,OAAO,QAAQ,KAAK;AAAA,UACjD;AACA,cAAI,SAAS,MAAM;AACjB,mBAAO,CAAC,OAAO,KAAK,GAAG,QAAQ,KAAK,CAAC,GAAG,QAAQ,KAAK,CAAC;AAAA,UACxD;AACA,cAAI,SAAS,MAAM;AACjB,iBAAK,QAAQ,KAAK,UAAU,SAAS,KAAK;AAAA,UAC5C;AACA,cAAI,SAAS,MAAM;AACjB,iBAAK,QAAQ,KAAK,UAAU,SAAS,KAAK;AAAA,UAC5C;AAAA,QACF;AAEA,eAAO,eAAeA,YAAW,WAAW,YAAY;AAAA,UACtD,KAAK,WAAW;AACd,gBAAI,OAAO,GAAG,KAAK,OAAO;AAC1B,oBAAQ,CAAC;AACT,kBAAM,KAAK;AACX,iBAAK,IAAI,GAAG,MAAM,IAAI,QAAQ,IAAI,KAAK,KAAK;AAC1C,sBAAQ,IAAI,CAAC;AACb,kBAAK,MAAM,SAAS,SAAS,qBAAsB,CAAC,MAAM,IAAI;AAC5D,sBAAM,MAAM,IAAI,IAAI;AAAA,cACtB;AAAA,YACF;AACA,mBAAO,IAAI,gBAAgB,KAAK;AAAA,UAClC;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,YAAW,WAAW,aAAa;AAAA,UACvD,KAAK,WAAW;AACd,gBAAI,OAAO,GAAG,KAAK,OAAO;AAC1B,oBAAQ,CAAC;AACT,kBAAM,KAAK;AACX,iBAAK,IAAI,GAAG,MAAM,IAAI,QAAQ,IAAI,KAAK,KAAK;AAC1C,sBAAQ,IAAI,CAAC;AACb,kBAAI,MAAM,SAAS,SAAS,qBAAqB;AAC/C,sBAAM,MAAM,IAAI,IAAI;AAAA,cACtB;AAAA,YACF;AACA,mBAAO,IAAI,gBAAgB,KAAK;AAAA,UAClC;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,YAAW,WAAW,YAAY;AAAA,UACtD,KAAK,WAAW;AACd,mBAAO,KAAK;AAAA,UACd;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,YAAW,WAAW,YAAY;AAAA,UACtD,KAAK,WAAW;AACd,mBAAO,KAAK;AAAA,UACd;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,YAAW,WAAW,kBAAkB;AAAA,UAC5D,KAAK,WAAW;AACd,kBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,UAC1E;AAAA,QACF,CAAC;AAED,QAAAA,YAAW,UAAU,UAAU,SAAS,MAAM,OAAO;AACnD,cAAI;AACJ,kBAAQ,IAAI,cAAc,MAAM,MAAM,KAAK;AAC3C,eAAK,SAAS,KAAK,KAAK;AACxB,iBAAO;AAAA,QACT;AAEA,QAAAA,YAAW,UAAU,UAAU,SAAS,aAAa,eAAe,eAAe,kBAAkB,cAAc;AACjH,cAAI;AACJ,kBAAQ,IAAI,cAAc,MAAM,aAAa,eAAe,eAAe,kBAAkB,YAAY;AACzG,eAAK,SAAS,KAAK,KAAK;AACxB,iBAAO;AAAA,QACT;AAEA,QAAAA,YAAW,UAAU,SAAS,SAAS,MAAM,OAAO;AAClD,cAAI;AACJ,kBAAQ,IAAI,aAAa,MAAM,OAAO,MAAM,KAAK;AACjD,eAAK,SAAS,KAAK,KAAK;AACxB,iBAAO;AAAA,QACT;AAEA,QAAAA,YAAW,UAAU,UAAU,SAAS,MAAM,OAAO;AACnD,cAAI;AACJ,kBAAQ,IAAI,aAAa,MAAM,MAAM,MAAM,KAAK;AAChD,eAAK,SAAS,KAAK,KAAK;AACxB,iBAAO;AAAA,QACT;AAEA,QAAAA,YAAW,UAAU,WAAW,SAAS,MAAM,OAAO;AACpD,cAAI;AACJ,kBAAQ,IAAI,eAAe,MAAM,MAAM,KAAK;AAC5C,eAAK,SAAS,KAAK,KAAK;AACxB,iBAAO;AAAA,QACT;AAEA,QAAAA,YAAW,UAAU,WAAW,SAAS,SAAS;AAChD,iBAAO,KAAK,QAAQ,OAAO,QAAQ,MAAM,KAAK,QAAQ,OAAO,cAAc,OAAO,CAAC;AAAA,QACrF;AAEA,QAAAA,YAAW,UAAU,MAAM,SAAS,MAAM,OAAO;AAC/C,iBAAO,KAAK,QAAQ,MAAM,KAAK;AAAA,QACjC;AAEA,QAAAA,YAAW,UAAU,MAAM,SAAS,aAAa,eAAe,eAAe,kBAAkB,cAAc;AAC7G,iBAAO,KAAK,QAAQ,aAAa,eAAe,eAAe,kBAAkB,YAAY;AAAA,QAC/F;AAEA,QAAAA,YAAW,UAAU,MAAM,SAAS,MAAM,OAAO;AAC/C,iBAAO,KAAK,OAAO,MAAM,KAAK;AAAA,QAChC;AAEA,QAAAA,YAAW,UAAU,OAAO,SAAS,MAAM,OAAO;AAChD,iBAAO,KAAK,QAAQ,MAAM,KAAK;AAAA,QACjC;AAEA,QAAAA,YAAW,UAAU,MAAM,SAAS,MAAM,OAAO;AAC/C,iBAAO,KAAK,SAAS,MAAM,KAAK;AAAA,QAClC;AAEA,QAAAA,YAAW,UAAU,KAAK,WAAW;AACnC,iBAAO,KAAK,KAAK,KAAK,KAAK;AAAA,QAC7B;AAEA,QAAAA,YAAW,UAAU,cAAc,SAAS,MAAM;AAChD,cAAI,CAACA,YAAW,UAAU,YAAY,MAAM,MAAM,SAAS,EAAE,YAAY,IAAI,GAAG;AAC9E,mBAAO;AAAA,UACT;AACA,cAAI,KAAK,SAAS,KAAK,MAAM;AAC3B,mBAAO;AAAA,UACT;AACA,cAAI,KAAK,aAAa,KAAK,UAAU;AACnC,mBAAO;AAAA,UACT;AACA,cAAI,KAAK,aAAa,KAAK,UAAU;AACnC,mBAAO;AAAA,UACT;AACA,iBAAO;AAAA,QACT;AAEA,eAAOA;AAAA,MAET,EAAG,OAAO;AAAA,IAEZ,GAAG,KAAK,OAAI;AAAA;AAAA;;;ACzLZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,UAAU,SAAS,QACrB,SAAS,SAAS,OAAO,QAAQ;AAAE,iBAAS,OAAO,QAAQ;AAAE,cAAI,QAAQ,KAAK,QAAQ,GAAG,EAAG,OAAM,GAAG,IAAI,OAAO,GAAG;AAAA,QAAG;AAAE,iBAAS,OAAO;AAAE,eAAK,cAAc;AAAA,QAAO;AAAE,aAAK,YAAY,OAAO;AAAW,cAAM,YAAY,IAAI,KAAK;AAAG,cAAM,YAAY,OAAO;AAAW,eAAO;AAAA,MAAO,GACzR,UAAU,CAAC,EAAE;AAEf,iBAAW;AAEX,gBAAU;AAEV,aAAO,UAAU,SAAU,SAAS,YAAY;AAC9C,eAAOC,SAAQ,UAAU;AAEzB,iBAASA,QAAO,QAAQ,MAAM;AAC5B,UAAAA,QAAO,UAAU,YAAY,KAAK,MAAM,MAAM;AAC9C,cAAI,QAAQ,MAAM;AAChB,kBAAM,IAAI,MAAM,uBAAuB,KAAK,UAAU,CAAC;AAAA,UACzD;AACA,eAAK,OAAO,SAAS;AACrB,eAAK,QAAQ,KAAK,UAAU,IAAI,IAAI;AAAA,QACtC;AAEA,QAAAA,QAAO,UAAU,QAAQ,WAAW;AAClC,iBAAO,OAAO,OAAO,IAAI;AAAA,QAC3B;AAEA,QAAAA,QAAO,UAAU,WAAW,SAAS,SAAS;AAC5C,iBAAO,KAAK,QAAQ,OAAO,IAAI,MAAM,KAAK,QAAQ,OAAO,cAAc,OAAO,CAAC;AAAA,QACjF;AAEA,eAAOA;AAAA,MAET,EAAG,OAAO;AAAA,IAEZ,GAAG,KAAK,OAAI;AAAA;AAAA;;;AClCZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,UAAU,kBAAkB,SAC9B,SAAS,SAAS,OAAO,QAAQ;AAAE,iBAAS,OAAO,QAAQ;AAAE,cAAI,QAAQ,KAAK,QAAQ,GAAG,EAAG,OAAM,GAAG,IAAI,OAAO,GAAG;AAAA,QAAG;AAAE,iBAAS,OAAO;AAAE,eAAK,cAAc;AAAA,QAAO;AAAE,aAAK,YAAY,OAAO;AAAW,cAAM,YAAY,IAAI,KAAK;AAAG,cAAM,YAAY,OAAO;AAAW,eAAO;AAAA,MAAO,GACzR,UAAU,CAAC,EAAE;AAEf,iBAAW;AAEX,yBAAmB;AAEnB,aAAO,UAAU,UAAW,SAAS,YAAY;AAC/C,eAAOC,UAAS,UAAU;AAE1B,iBAASA,SAAQ,QAAQ,MAAM;AAC7B,UAAAA,SAAQ,UAAU,YAAY,KAAK,MAAM,MAAM;AAC/C,cAAI,QAAQ,MAAM;AAChB,kBAAM,IAAI,MAAM,2BAA2B,KAAK,UAAU,CAAC;AAAA,UAC7D;AACA,eAAK,OAAO;AACZ,eAAK,OAAO,SAAS;AACrB,eAAK,QAAQ,KAAK,UAAU,KAAK,IAAI;AAAA,QACvC;AAEA,eAAO,eAAeA,SAAQ,WAAW,8BAA8B;AAAA,UACrE,KAAK,WAAW;AACd,kBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,UAC1E;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,SAAQ,WAAW,aAAa;AAAA,UACpD,KAAK,WAAW;AACd,gBAAI,MAAM,MAAM;AAChB,kBAAM;AACN,mBAAO,KAAK;AACZ,mBAAO,MAAM;AACX,oBAAM,KAAK,OAAO;AAClB,qBAAO,KAAK;AAAA,YACd;AACA,mBAAO,KAAK;AACZ,mBAAO,KAAK;AACZ,mBAAO,MAAM;AACX,oBAAM,MAAM,KAAK;AACjB,qBAAO,KAAK;AAAA,YACd;AACA,mBAAO;AAAA,UACT;AAAA,QACF,CAAC;AAED,QAAAA,SAAQ,UAAU,QAAQ,WAAW;AACnC,iBAAO,OAAO,OAAO,IAAI;AAAA,QAC3B;AAEA,QAAAA,SAAQ,UAAU,WAAW,SAAS,SAAS;AAC7C,iBAAO,KAAK,QAAQ,OAAO,KAAK,MAAM,KAAK,QAAQ,OAAO,cAAc,OAAO,CAAC;AAAA,QAClF;AAEA,QAAAA,SAAQ,UAAU,YAAY,SAAS,QAAQ;AAC7C,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,SAAQ,UAAU,mBAAmB,SAAS,SAAS;AACrD,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,eAAOA;AAAA,MAET,EAAG,gBAAgB;AAAA,IAErB,GAAG,KAAK,OAAI;AAAA;AAAA;;;ACpEZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,UAAU,kBAAkB,0BAC9B,SAAS,SAAS,OAAO,QAAQ;AAAE,iBAAS,OAAO,QAAQ;AAAE,cAAI,QAAQ,KAAK,QAAQ,GAAG,EAAG,OAAM,GAAG,IAAI,OAAO,GAAG;AAAA,QAAG;AAAE,iBAAS,OAAO;AAAE,eAAK,cAAc;AAAA,QAAO;AAAE,aAAK,YAAY,OAAO;AAAW,cAAM,YAAY,IAAI,KAAK;AAAG,cAAM,YAAY,OAAO;AAAW,eAAO;AAAA,MAAO,GACzR,UAAU,CAAC,EAAE;AAEf,iBAAW;AAEX,yBAAmB;AAEnB,aAAO,UAAU,2BAA4B,SAAS,YAAY;AAChE,eAAOC,2BAA0B,UAAU;AAE3C,iBAASA,0BAAyB,QAAQ,QAAQ,OAAO;AACvD,UAAAA,0BAAyB,UAAU,YAAY,KAAK,MAAM,MAAM;AAChE,cAAI,UAAU,MAAM;AAClB,kBAAM,IAAI,MAAM,iCAAiC,KAAK,UAAU,CAAC;AAAA,UACnE;AACA,eAAK,OAAO,SAAS;AACrB,eAAK,SAAS,KAAK,UAAU,UAAU,MAAM;AAC7C,eAAK,OAAO,KAAK;AACjB,cAAI,OAAO;AACT,iBAAK,QAAQ,KAAK,UAAU,SAAS,KAAK;AAAA,UAC5C;AAAA,QACF;AAEA,QAAAA,0BAAyB,UAAU,QAAQ,WAAW;AACpD,iBAAO,OAAO,OAAO,IAAI;AAAA,QAC3B;AAEA,QAAAA,0BAAyB,UAAU,WAAW,SAAS,SAAS;AAC9D,iBAAO,KAAK,QAAQ,OAAO,sBAAsB,MAAM,KAAK,QAAQ,OAAO,cAAc,OAAO,CAAC;AAAA,QACnG;AAEA,QAAAA,0BAAyB,UAAU,cAAc,SAAS,MAAM;AAC9D,cAAI,CAACA,0BAAyB,UAAU,YAAY,MAAM,MAAM,SAAS,EAAE,YAAY,IAAI,GAAG;AAC5F,mBAAO;AAAA,UACT;AACA,cAAI,KAAK,WAAW,KAAK,QAAQ;AAC/B,mBAAO;AAAA,UACT;AACA,iBAAO;AAAA,QACT;AAEA,eAAOA;AAAA,MAET,EAAG,gBAAgB;AAAA,IAErB,GAAG,KAAK,OAAI;AAAA;AAAA;;;AChDZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,UAAU,UAAU,SACtB,SAAS,SAAS,OAAO,QAAQ;AAAE,iBAAS,OAAO,QAAQ;AAAE,cAAI,QAAQ,KAAK,QAAQ,GAAG,EAAG,OAAM,GAAG,IAAI,OAAO,GAAG;AAAA,QAAG;AAAE,iBAAS,OAAO;AAAE,eAAK,cAAc;AAAA,QAAO;AAAE,aAAK,YAAY,OAAO;AAAW,cAAM,YAAY,IAAI,KAAK;AAAG,cAAM,YAAY,OAAO;AAAW,eAAO;AAAA,MAAO,GACzR,UAAU,CAAC,EAAE;AAEf,gBAAU;AAEV,iBAAW;AAEX,aAAO,UAAU,WAAY,SAAS,YAAY;AAChD,eAAOC,WAAU,UAAU;AAE3B,iBAASA,UAAS,QAAQ;AACxB,UAAAA,UAAS,UAAU,YAAY,KAAK,MAAM,MAAM;AAChD,eAAK,OAAO,SAAS;AAAA,QACvB;AAEA,QAAAA,UAAS,UAAU,QAAQ,WAAW;AACpC,iBAAO,OAAO,OAAO,IAAI;AAAA,QAC3B;AAEA,QAAAA,UAAS,UAAU,WAAW,SAAS,SAAS;AAC9C,iBAAO;AAAA,QACT;AAEA,eAAOA;AAAA,MAET,EAAG,OAAO;AAAA,IAEZ,GAAG,KAAK,OAAI;AAAA;AAAA;;;AC9BZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI;AAEJ,aAAO,UAAU,cAAe,WAAW;AACzC,iBAASC,aAAY,OAAO;AAC1B,eAAK,QAAQ;AAAA,QACf;AAEA,eAAO,eAAeA,aAAY,WAAW,UAAU;AAAA,UACrD,KAAK,WAAW;AACd,mBAAO,KAAK,MAAM,UAAU;AAAA,UAC9B;AAAA,QACF,CAAC;AAED,QAAAA,aAAY,UAAU,QAAQ,WAAW;AACvC,iBAAO,KAAK,QAAQ;AAAA,QACtB;AAEA,QAAAA,aAAY,UAAU,OAAO,SAAS,OAAO;AAC3C,iBAAO,KAAK,MAAM,KAAK,KAAK;AAAA,QAC9B;AAEA,eAAOA;AAAA,MAET,EAAG;AAAA,IAEL,GAAG,KAAK,OAAI;AAAA;AAAA;;;AC3BZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,aAAO,UAAU;AAAA,QACf,cAAc;AAAA,QACd,WAAW;AAAA,QACX,WAAW;AAAA,QACX,UAAU;AAAA,QACV,aAAa;AAAA,QACb,wBAAwB;AAAA,MAC1B;AAAA,IAEF,GAAG,KAAK,OAAI;AAAA;AAAA;;;ACXZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,kBAAkB,UAAU,UAAU,YAAY,gBAAgB,YAAY,UAAU,YAAY,iBAAiB,SAAS,aAAa,0BAA0B,QAAQ,SAAS,UAAU,SAAS,YAAY,UAAU,MACjO,UAAU,CAAC,EAAE;AAEf,aAAO,mBAAsB,WAAW,KAAK,UAAU,aAAa,KAAK,YAAY,UAAU,KAAK,SAAS,WAAW,KAAK;AAE7H,mBAAa;AAEb,iBAAW;AAEX,mBAAa;AAEb,uBAAiB;AAEjB,mBAAa;AAEb,eAAS;AAET,gBAAU;AAEV,iCAA2B;AAE3B,iBAAW;AAEX,iBAAW;AAEX,oBAAc;AAEd,wBAAkB;AAElB,yBAAmB;AAEnB,aAAO,UAAU,UAAW,WAAW;AACrC,iBAASC,SAAQ,SAAS;AACxB,eAAK,SAAS;AACd,cAAI,KAAK,QAAQ;AACf,iBAAK,UAAU,KAAK,OAAO;AAC3B,iBAAK,YAAY,KAAK,OAAO;AAAA,UAC/B;AACA,eAAK,QAAQ;AACb,eAAK,WAAW,CAAC;AACjB,eAAK,UAAU;AACf,cAAI,CAAC,YAAY;AACf,yBAAa;AACb,uBAAW;AACX,yBAAa;AACb,6BAAiB;AACjB,yBAAa;AACb,qBAAS;AACT,sBAAU;AACV,uCAA2B;AAC3B,uBAAW;AACX,uBAAW;AACX,0BAAc;AACd,8BAAkB;AAClB,+BAAmB;AAAA,UACrB;AAAA,QACF;AAEA,eAAO,eAAeA,SAAQ,WAAW,YAAY;AAAA,UACnD,KAAK,WAAW;AACd,mBAAO,KAAK;AAAA,UACd;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,SAAQ,WAAW,YAAY;AAAA,UACnD,KAAK,WAAW;AACd,mBAAO,KAAK;AAAA,UACd;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,SAAQ,WAAW,aAAa;AAAA,UACpD,KAAK,WAAW;AACd,mBAAO,KAAK;AAAA,UACd;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,SAAQ,WAAW,cAAc;AAAA,UACrD,KAAK,WAAW;AACd,mBAAO,KAAK;AAAA,UACd;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,SAAQ,WAAW,cAAc;AAAA,UACrD,KAAK,WAAW;AACd,gBAAI,CAAC,KAAK,iBAAiB,CAAC,KAAK,cAAc,OAAO;AACpD,mBAAK,gBAAgB,IAAI,YAAY,KAAK,QAAQ;AAAA,YACpD;AACA,mBAAO,KAAK;AAAA,UACd;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,SAAQ,WAAW,cAAc;AAAA,UACrD,KAAK,WAAW;AACd,mBAAO,KAAK,SAAS,CAAC,KAAK;AAAA,UAC7B;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,SAAQ,WAAW,aAAa;AAAA,UACpD,KAAK,WAAW;AACd,mBAAO,KAAK,SAAS,KAAK,SAAS,SAAS,CAAC,KAAK;AAAA,UACpD;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,SAAQ,WAAW,mBAAmB;AAAA,UAC1D,KAAK,WAAW;AACd,gBAAI;AACJ,gBAAI,KAAK,OAAO,SAAS,QAAQ,IAAI;AACrC,mBAAO,KAAK,OAAO,SAAS,IAAI,CAAC,KAAK;AAAA,UACxC;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,SAAQ,WAAW,eAAe;AAAA,UACtD,KAAK,WAAW;AACd,gBAAI;AACJ,gBAAI,KAAK,OAAO,SAAS,QAAQ,IAAI;AACrC,mBAAO,KAAK,OAAO,SAAS,IAAI,CAAC,KAAK;AAAA,UACxC;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,SAAQ,WAAW,iBAAiB;AAAA,UACxD,KAAK,WAAW;AACd,mBAAO,KAAK,SAAS,KAAK;AAAA,UAC5B;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,SAAQ,WAAW,eAAe;AAAA,UACtD,KAAK,WAAW;AACd,gBAAI,OAAO,GAAG,KAAK,MAAM;AACzB,gBAAI,KAAK,aAAa,SAAS,WAAW,KAAK,aAAa,SAAS,kBAAkB;AACrF,oBAAM;AACN,qBAAO,KAAK;AACZ,mBAAK,IAAI,GAAG,MAAM,KAAK,QAAQ,IAAI,KAAK,KAAK;AAC3C,wBAAQ,KAAK,CAAC;AACd,oBAAI,MAAM,aAAa;AACrB,yBAAO,MAAM;AAAA,gBACf;AAAA,cACF;AACA,qBAAO;AAAA,YACT,OAAO;AACL,qBAAO;AAAA,YACT;AAAA,UACF;AAAA,UACA,KAAK,SAAS,OAAO;AACnB,kBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,UAC1E;AAAA,QACF,CAAC;AAED,QAAAA,SAAQ,UAAU,YAAY,SAAS,QAAQ;AAC7C,cAAI,OAAO,GAAG,KAAK,MAAM;AACzB,eAAK,SAAS;AACd,cAAI,QAAQ;AACV,iBAAK,UAAU,OAAO;AACtB,iBAAK,YAAY,OAAO;AAAA,UAC1B;AACA,iBAAO,KAAK;AACZ,oBAAU,CAAC;AACX,eAAK,IAAI,GAAG,MAAM,KAAK,QAAQ,IAAI,KAAK,KAAK;AAC3C,oBAAQ,KAAK,CAAC;AACd,oBAAQ,KAAK,MAAM,UAAU,IAAI,CAAC;AAAA,UACpC;AACA,iBAAO;AAAA,QACT;AAEA,QAAAA,SAAQ,UAAU,UAAU,SAAS,MAAM,YAAY,MAAM;AAC3D,cAAI,WAAW,MAAM,GAAG,GAAG,KAAK,WAAW,KAAK,MAAM,MAAM,MAAM;AAClE,sBAAY;AACZ,cAAI,eAAe,QAAS,QAAQ,MAAO;AACzC,mBAAO,CAAC,CAAC,GAAG,IAAI,GAAG,aAAa,KAAK,CAAC,GAAG,OAAO,KAAK,CAAC;AAAA,UACxD;AACA,cAAI,cAAc,MAAM;AACtB,yBAAa,CAAC;AAAA,UAChB;AACA,uBAAa,SAAS,UAAU;AAChC,cAAI,CAAC,SAAS,UAAU,GAAG;AACzB,mBAAO,CAAC,YAAY,IAAI,GAAG,OAAO,KAAK,CAAC,GAAG,aAAa,KAAK,CAAC;AAAA,UAChE;AACA,cAAI,QAAQ,MAAM;AAChB,mBAAO,SAAS,IAAI;AAAA,UACtB;AACA,cAAI,MAAM,QAAQ,IAAI,GAAG;AACvB,iBAAK,IAAI,GAAG,MAAM,KAAK,QAAQ,IAAI,KAAK,KAAK;AAC3C,qBAAO,KAAK,CAAC;AACb,0BAAY,KAAK,QAAQ,IAAI;AAAA,YAC/B;AAAA,UACF,WAAW,WAAW,IAAI,GAAG;AAC3B,wBAAY,KAAK,QAAQ,KAAK,MAAM,CAAC;AAAA,UACvC,WAAW,SAAS,IAAI,GAAG;AACzB,iBAAK,OAAO,MAAM;AAChB,kBAAI,CAAC,QAAQ,KAAK,MAAM,GAAG,EAAG;AAC9B,oBAAM,KAAK,GAAG;AACd,kBAAI,WAAW,GAAG,GAAG;AACnB,sBAAM,IAAI,MAAM;AAAA,cAClB;AACA,kBAAI,CAAC,KAAK,QAAQ,oBAAoB,KAAK,UAAU,iBAAiB,IAAI,QAAQ,KAAK,UAAU,aAAa,MAAM,GAAG;AACrH,4BAAY,KAAK,UAAU,IAAI,OAAO,KAAK,UAAU,cAAc,MAAM,GAAG,GAAG;AAAA,cACjF,WAAW,CAAC,KAAK,QAAQ,sBAAsB,MAAM,QAAQ,GAAG,KAAK,QAAQ,GAAG,GAAG;AACjF,4BAAY,KAAK,MAAM;AAAA,cACzB,WAAW,SAAS,GAAG,KAAK,QAAQ,GAAG,GAAG;AACxC,4BAAY,KAAK,QAAQ,GAAG;AAAA,cAC9B,WAAW,CAAC,KAAK,QAAQ,iBAAkB,OAAO,MAAO;AACvD,4BAAY,KAAK,MAAM;AAAA,cACzB,WAAW,CAAC,KAAK,QAAQ,sBAAsB,MAAM,QAAQ,GAAG,GAAG;AACjE,qBAAK,IAAI,GAAG,OAAO,IAAI,QAAQ,IAAI,MAAM,KAAK;AAC5C,yBAAO,IAAI,CAAC;AACZ,8BAAY,CAAC;AACb,4BAAU,GAAG,IAAI;AACjB,8BAAY,KAAK,QAAQ,SAAS;AAAA,gBACpC;AAAA,cACF,WAAW,SAAS,GAAG,GAAG;AACxB,oBAAI,CAAC,KAAK,QAAQ,oBAAoB,KAAK,UAAU,kBAAkB,IAAI,QAAQ,KAAK,UAAU,cAAc,MAAM,GAAG;AACvH,8BAAY,KAAK,QAAQ,GAAG;AAAA,gBAC9B,OAAO;AACL,8BAAY,KAAK,QAAQ,GAAG;AAC5B,4BAAU,QAAQ,GAAG;AAAA,gBACvB;AAAA,cACF,OAAO;AACL,4BAAY,KAAK,QAAQ,KAAK,GAAG;AAAA,cACnC;AAAA,YACF;AAAA,UACF,WAAW,CAAC,KAAK,QAAQ,iBAAiB,SAAS,MAAM;AACvD,wBAAY,KAAK,MAAM;AAAA,UACzB,OAAO;AACL,gBAAI,CAAC,KAAK,QAAQ,oBAAoB,KAAK,UAAU,kBAAkB,KAAK,QAAQ,KAAK,UAAU,cAAc,MAAM,GAAG;AACxH,0BAAY,KAAK,KAAK,IAAI;AAAA,YAC5B,WAAW,CAAC,KAAK,QAAQ,oBAAoB,KAAK,UAAU,mBAAmB,KAAK,QAAQ,KAAK,UAAU,eAAe,MAAM,GAAG;AACjI,0BAAY,KAAK,MAAM,IAAI;AAAA,YAC7B,WAAW,CAAC,KAAK,QAAQ,oBAAoB,KAAK,UAAU,qBAAqB,KAAK,QAAQ,KAAK,UAAU,iBAAiB,MAAM,GAAG;AACrI,0BAAY,KAAK,QAAQ,IAAI;AAAA,YAC/B,WAAW,CAAC,KAAK,QAAQ,oBAAoB,KAAK,UAAU,iBAAiB,KAAK,QAAQ,KAAK,UAAU,aAAa,MAAM,GAAG;AAC7H,0BAAY,KAAK,IAAI,IAAI;AAAA,YAC3B,WAAW,CAAC,KAAK,QAAQ,oBAAoB,KAAK,UAAU,gBAAgB,KAAK,QAAQ,KAAK,UAAU,YAAY,MAAM,GAAG;AAC3H,0BAAY,KAAK,YAAY,KAAK,OAAO,KAAK,UAAU,aAAa,MAAM,GAAG,IAAI;AAAA,YACpF,OAAO;AACL,0BAAY,KAAK,KAAK,MAAM,YAAY,IAAI;AAAA,YAC9C;AAAA,UACF;AACA,cAAI,aAAa,MAAM;AACrB,kBAAM,IAAI,MAAM,yCAAyC,OAAO,OAAO,KAAK,UAAU,CAAC;AAAA,UACzF;AACA,iBAAO;AAAA,QACT;AAEA,QAAAA,SAAQ,UAAU,eAAe,SAAS,MAAM,YAAY,MAAM;AAChE,cAAI,OAAO,GAAG,UAAU,UAAU;AAClC,cAAI,QAAQ,OAAO,KAAK,OAAO,QAAQ;AACrC,uBAAW;AACX,uBAAW;AACX,qBAAS,UAAU,IAAI;AACvB,gBAAI,UAAU;AACZ,kBAAI,SAAS,QAAQ,QAAQ;AAC7B,wBAAU,SAAS,OAAO,CAAC;AAC3B,uBAAS,KAAK,QAAQ;AACtB,oBAAM,UAAU,KAAK,MAAM,UAAU,OAAO;AAAA,YAC9C,OAAO;AACL,uBAAS,KAAK,QAAQ;AAAA,YACxB;AACA,mBAAO;AAAA,UACT,OAAO;AACL,gBAAI,KAAK,QAAQ;AACf,oBAAM,IAAI,MAAM,2CAA2C,KAAK,UAAU,IAAI,CAAC;AAAA,YACjF;AACA,gBAAI,KAAK,OAAO,SAAS,QAAQ,IAAI;AACrC,sBAAU,KAAK,OAAO,SAAS,OAAO,CAAC;AACvC,oBAAQ,KAAK,OAAO,QAAQ,MAAM,YAAY,IAAI;AAClD,kBAAM,UAAU,KAAK,MAAM,KAAK,OAAO,UAAU,OAAO;AACxD,mBAAO;AAAA,UACT;AAAA,QACF;AAEA,QAAAA,SAAQ,UAAU,cAAc,SAAS,MAAM,YAAY,MAAM;AAC/D,cAAI,OAAO,GAAG;AACd,cAAI,KAAK,QAAQ;AACf,kBAAM,IAAI,MAAM,2CAA2C,KAAK,UAAU,IAAI,CAAC;AAAA,UACjF;AACA,cAAI,KAAK,OAAO,SAAS,QAAQ,IAAI;AACrC,oBAAU,KAAK,OAAO,SAAS,OAAO,IAAI,CAAC;AAC3C,kBAAQ,KAAK,OAAO,QAAQ,MAAM,YAAY,IAAI;AAClD,gBAAM,UAAU,KAAK,MAAM,KAAK,OAAO,UAAU,OAAO;AACxD,iBAAO;AAAA,QACT;AAEA,QAAAA,SAAQ,UAAU,SAAS,WAAW;AACpC,cAAI,GAAG;AACP,cAAI,KAAK,QAAQ;AACf,kBAAM,IAAI,MAAM,qCAAqC,KAAK,UAAU,CAAC;AAAA,UACvE;AACA,cAAI,KAAK,OAAO,SAAS,QAAQ,IAAI;AACrC,WAAC,EAAE,OAAO,MAAM,KAAK,OAAO,UAAU,CAAC,GAAG,IAAI,IAAI,CAAC,EAAE,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG;AACzE,iBAAO,KAAK;AAAA,QACd;AAEA,QAAAA,SAAQ,UAAU,OAAO,SAAS,MAAM,YAAY,MAAM;AACxD,cAAI,OAAO;AACX,cAAI,QAAQ,MAAM;AAChB,mBAAO,SAAS,IAAI;AAAA,UACtB;AACA,yBAAe,aAAa,CAAC;AAC7B,uBAAa,SAAS,UAAU;AAChC,cAAI,CAAC,SAAS,UAAU,GAAG;AACzB,mBAAO,CAAC,YAAY,IAAI,GAAG,OAAO,KAAK,CAAC,GAAG,aAAa,KAAK,CAAC;AAAA,UAChE;AACA,kBAAQ,IAAI,WAAW,MAAM,MAAM,UAAU;AAC7C,cAAI,QAAQ,MAAM;AAChB,kBAAM,KAAK,IAAI;AAAA,UACjB;AACA,eAAK,SAAS,KAAK,KAAK;AACxB,iBAAO;AAAA,QACT;AAEA,QAAAA,SAAQ,UAAU,OAAO,SAAS,OAAO;AACvC,cAAI;AACJ,cAAI,SAAS,KAAK,GAAG;AACnB,iBAAK,QAAQ,KAAK;AAAA,UACpB;AACA,kBAAQ,IAAI,QAAQ,MAAM,KAAK;AAC/B,eAAK,SAAS,KAAK,KAAK;AACxB,iBAAO;AAAA,QACT;AAEA,QAAAA,SAAQ,UAAU,QAAQ,SAAS,OAAO;AACxC,cAAI;AACJ,kBAAQ,IAAI,SAAS,MAAM,KAAK;AAChC,eAAK,SAAS,KAAK,KAAK;AACxB,iBAAO;AAAA,QACT;AAEA,QAAAA,SAAQ,UAAU,UAAU,SAAS,OAAO;AAC1C,cAAI;AACJ,kBAAQ,IAAI,WAAW,MAAM,KAAK;AAClC,eAAK,SAAS,KAAK,KAAK;AACxB,iBAAO;AAAA,QACT;AAEA,QAAAA,SAAQ,UAAU,gBAAgB,SAAS,OAAO;AAChD,cAAI,OAAO,GAAG;AACd,cAAI,KAAK,OAAO,SAAS,QAAQ,IAAI;AACrC,oBAAU,KAAK,OAAO,SAAS,OAAO,CAAC;AACvC,kBAAQ,KAAK,OAAO,QAAQ,KAAK;AACjC,gBAAM,UAAU,KAAK,MAAM,KAAK,OAAO,UAAU,OAAO;AACxD,iBAAO;AAAA,QACT;AAEA,QAAAA,SAAQ,UAAU,eAAe,SAAS,OAAO;AAC/C,cAAI,OAAO,GAAG;AACd,cAAI,KAAK,OAAO,SAAS,QAAQ,IAAI;AACrC,oBAAU,KAAK,OAAO,SAAS,OAAO,IAAI,CAAC;AAC3C,kBAAQ,KAAK,OAAO,QAAQ,KAAK;AACjC,gBAAM,UAAU,KAAK,MAAM,KAAK,OAAO,UAAU,OAAO;AACxD,iBAAO;AAAA,QACT;AAEA,QAAAA,SAAQ,UAAU,MAAM,SAAS,OAAO;AACtC,cAAI;AACJ,kBAAQ,IAAI,OAAO,MAAM,KAAK;AAC9B,eAAK,SAAS,KAAK,KAAK;AACxB,iBAAO;AAAA,QACT;AAEA,QAAAA,SAAQ,UAAU,QAAQ,WAAW;AACnC,cAAI;AACJ,kBAAQ,IAAI,SAAS,IAAI;AACzB,iBAAO;AAAA,QACT;AAEA,QAAAA,SAAQ,UAAU,cAAc,SAAS,QAAQ,OAAO;AACtD,cAAI,WAAW,UAAU,aAAa,GAAG;AACzC,cAAI,UAAU,MAAM;AAClB,qBAAS,SAAS,MAAM;AAAA,UAC1B;AACA,cAAI,SAAS,MAAM;AACjB,oBAAQ,SAAS,KAAK;AAAA,UACxB;AACA,cAAI,MAAM,QAAQ,MAAM,GAAG;AACzB,iBAAK,IAAI,GAAG,MAAM,OAAO,QAAQ,IAAI,KAAK,KAAK;AAC7C,0BAAY,OAAO,CAAC;AACpB,mBAAK,YAAY,SAAS;AAAA,YAC5B;AAAA,UACF,WAAW,SAAS,MAAM,GAAG;AAC3B,iBAAK,aAAa,QAAQ;AACxB,kBAAI,CAAC,QAAQ,KAAK,QAAQ,SAAS,EAAG;AACtC,yBAAW,OAAO,SAAS;AAC3B,mBAAK,YAAY,WAAW,QAAQ;AAAA,YACtC;AAAA,UACF,OAAO;AACL,gBAAI,WAAW,KAAK,GAAG;AACrB,sBAAQ,MAAM,MAAM;AAAA,YACtB;AACA,0BAAc,IAAI,yBAAyB,MAAM,QAAQ,KAAK;AAC9D,iBAAK,SAAS,KAAK,WAAW;AAAA,UAChC;AACA,iBAAO;AAAA,QACT;AAEA,QAAAA,SAAQ,UAAU,oBAAoB,SAAS,QAAQ,OAAO;AAC5D,cAAI,OAAO,GAAG;AACd,cAAI,KAAK,OAAO,SAAS,QAAQ,IAAI;AACrC,oBAAU,KAAK,OAAO,SAAS,OAAO,CAAC;AACvC,kBAAQ,KAAK,OAAO,YAAY,QAAQ,KAAK;AAC7C,gBAAM,UAAU,KAAK,MAAM,KAAK,OAAO,UAAU,OAAO;AACxD,iBAAO;AAAA,QACT;AAEA,QAAAA,SAAQ,UAAU,mBAAmB,SAAS,QAAQ,OAAO;AAC3D,cAAI,OAAO,GAAG;AACd,cAAI,KAAK,OAAO,SAAS,QAAQ,IAAI;AACrC,oBAAU,KAAK,OAAO,SAAS,OAAO,IAAI,CAAC;AAC3C,kBAAQ,KAAK,OAAO,YAAY,QAAQ,KAAK;AAC7C,gBAAM,UAAU,KAAK,MAAM,KAAK,OAAO,UAAU,OAAO;AACxD,iBAAO;AAAA,QACT;AAEA,QAAAA,SAAQ,UAAU,cAAc,SAAS,SAAS,UAAU,YAAY;AACtE,cAAI,KAAK;AACT,gBAAM,KAAK,SAAS;AACpB,mBAAS,IAAI,eAAe,KAAK,SAAS,UAAU,UAAU;AAC9D,cAAI,IAAI,SAAS,WAAW,GAAG;AAC7B,gBAAI,SAAS,QAAQ,MAAM;AAAA,UAC7B,WAAW,IAAI,SAAS,CAAC,EAAE,SAAS,SAAS,aAAa;AACxD,gBAAI,SAAS,CAAC,IAAI;AAAA,UACpB,OAAO;AACL,gBAAI,SAAS,QAAQ,MAAM;AAAA,UAC7B;AACA,iBAAO,IAAI,KAAK,KAAK;AAAA,QACvB;AAEA,QAAAA,SAAQ,UAAU,MAAM,SAAS,OAAO,OAAO;AAC7C,cAAI,OAAO,KAAK,SAAS,GAAG,GAAG,GAAG,KAAK,MAAM,MAAM;AACnD,gBAAM,KAAK,SAAS;AACpB,oBAAU,IAAI,WAAW,KAAK,OAAO,KAAK;AAC1C,iBAAO,IAAI;AACX,eAAK,IAAI,IAAI,GAAG,MAAM,KAAK,QAAQ,IAAI,KAAK,IAAI,EAAE,GAAG;AACnD,oBAAQ,KAAK,CAAC;AACd,gBAAI,MAAM,SAAS,SAAS,SAAS;AACnC,kBAAI,SAAS,CAAC,IAAI;AAClB,qBAAO;AAAA,YACT;AAAA,UACF;AACA,iBAAO,IAAI;AACX,eAAK,IAAI,IAAI,GAAG,OAAO,KAAK,QAAQ,IAAI,MAAM,IAAI,EAAE,GAAG;AACrD,oBAAQ,KAAK,CAAC;AACd,gBAAI,MAAM,QAAQ;AAChB,kBAAI,SAAS,OAAO,GAAG,GAAG,OAAO;AACjC,qBAAO;AAAA,YACT;AAAA,UACF;AACA,cAAI,SAAS,KAAK,OAAO;AACzB,iBAAO;AAAA,QACT;AAEA,QAAAA,SAAQ,UAAU,KAAK,WAAW;AAChC,cAAI,KAAK,QAAQ;AACf,kBAAM,IAAI,MAAM,gFAAgF;AAAA,UAClG;AACA,iBAAO,KAAK;AAAA,QACd;AAEA,QAAAA,SAAQ,UAAU,OAAO,WAAW;AAClC,cAAI;AACJ,iBAAO;AACP,iBAAO,MAAM;AACX,gBAAI,KAAK,SAAS,SAAS,UAAU;AACnC,qBAAO,KAAK;AAAA,YACd,WAAW,KAAK,QAAQ;AACtB,qBAAO;AAAA,YACT,OAAO;AACL,qBAAO,KAAK;AAAA,YACd;AAAA,UACF;AAAA,QACF;AAEA,QAAAA,SAAQ,UAAU,WAAW,WAAW;AACtC,cAAI;AACJ,iBAAO;AACP,iBAAO,MAAM;AACX,gBAAI,KAAK,SAAS,SAAS,UAAU;AACnC,qBAAO;AAAA,YACT,OAAO;AACL,qBAAO,KAAK;AAAA,YACd;AAAA,UACF;AAAA,QACF;AAEA,QAAAA,SAAQ,UAAU,MAAM,SAAS,SAAS;AACxC,iBAAO,KAAK,SAAS,EAAE,IAAI,OAAO;AAAA,QACpC;AAEA,QAAAA,SAAQ,UAAU,OAAO,WAAW;AAClC,cAAI;AACJ,cAAI,KAAK,OAAO,SAAS,QAAQ,IAAI;AACrC,cAAI,IAAI,GAAG;AACT,kBAAM,IAAI,MAAM,gCAAgC,KAAK,UAAU,CAAC;AAAA,UAClE;AACA,iBAAO,KAAK,OAAO,SAAS,IAAI,CAAC;AAAA,QACnC;AAEA,QAAAA,SAAQ,UAAU,OAAO,WAAW;AAClC,cAAI;AACJ,cAAI,KAAK,OAAO,SAAS,QAAQ,IAAI;AACrC,cAAI,MAAM,MAAM,MAAM,KAAK,OAAO,SAAS,SAAS,GAAG;AACrD,kBAAM,IAAI,MAAM,+BAA+B,KAAK,UAAU,CAAC;AAAA,UACjE;AACA,iBAAO,KAAK,OAAO,SAAS,IAAI,CAAC;AAAA,QACnC;AAEA,QAAAA,SAAQ,UAAU,iBAAiB,SAAS,KAAK;AAC/C,cAAI;AACJ,uBAAa,IAAI,KAAK,EAAE,MAAM;AAC9B,qBAAW,SAAS;AACpB,qBAAW,SAAS;AACpB,eAAK,SAAS,KAAK,UAAU;AAC7B,iBAAO;AAAA,QACT;AAEA,QAAAA,SAAQ,UAAU,YAAY,SAAS,MAAM;AAC3C,cAAI,MAAM;AACV,iBAAO,QAAQ,KAAK;AACpB,cAAK,QAAQ,QAAS,GAAG,OAAO,KAAK,WAAW,OAAO,KAAK,OAAO,SAAS;AAC1E,mBAAO;AAAA,UACT,WAAW,QAAQ,MAAM;AACvB,mBAAO,cAAc,KAAK,OAAO,OAAO;AAAA,UAC1C,WAAW,GAAG,OAAO,KAAK,WAAW,OAAO,KAAK,OAAO,SAAS;AAC/D,mBAAO,YAAY,OAAO;AAAA,UAC5B,OAAO;AACL,mBAAO,YAAY,OAAO,iBAAiB,KAAK,OAAO,OAAO;AAAA,UAChE;AAAA,QACF;AAEA,QAAAA,SAAQ,UAAU,MAAM,SAAS,MAAM,YAAY,MAAM;AACvD,iBAAO,KAAK,QAAQ,MAAM,YAAY,IAAI;AAAA,QAC5C;AAEA,QAAAA,SAAQ,UAAU,MAAM,SAAS,MAAM,YAAY,MAAM;AACvD,iBAAO,KAAK,KAAK,MAAM,YAAY,IAAI;AAAA,QACzC;AAEA,QAAAA,SAAQ,UAAU,MAAM,SAAS,OAAO;AACtC,iBAAO,KAAK,KAAK,KAAK;AAAA,QACxB;AAEA,QAAAA,SAAQ,UAAU,MAAM,SAAS,OAAO;AACtC,iBAAO,KAAK,MAAM,KAAK;AAAA,QACzB;AAEA,QAAAA,SAAQ,UAAU,MAAM,SAAS,OAAO;AACtC,iBAAO,KAAK,QAAQ,KAAK;AAAA,QAC3B;AAEA,QAAAA,SAAQ,UAAU,MAAM,SAAS,QAAQ,OAAO;AAC9C,iBAAO,KAAK,YAAY,QAAQ,KAAK;AAAA,QACvC;AAEA,QAAAA,SAAQ,UAAU,MAAM,WAAW;AACjC,iBAAO,KAAK,SAAS;AAAA,QACvB;AAEA,QAAAA,SAAQ,UAAU,MAAM,SAAS,SAAS,UAAU,YAAY;AAC9D,iBAAO,KAAK,YAAY,SAAS,UAAU,UAAU;AAAA,QACvD;AAEA,QAAAA,SAAQ,UAAU,IAAI,SAAS,MAAM,YAAY,MAAM;AACrD,iBAAO,KAAK,QAAQ,MAAM,YAAY,IAAI;AAAA,QAC5C;AAEA,QAAAA,SAAQ,UAAU,IAAI,SAAS,MAAM,YAAY,MAAM;AACrD,iBAAO,KAAK,KAAK,MAAM,YAAY,IAAI;AAAA,QACzC;AAEA,QAAAA,SAAQ,UAAU,IAAI,SAAS,OAAO;AACpC,iBAAO,KAAK,KAAK,KAAK;AAAA,QACxB;AAEA,QAAAA,SAAQ,UAAU,IAAI,SAAS,OAAO;AACpC,iBAAO,KAAK,MAAM,KAAK;AAAA,QACzB;AAEA,QAAAA,SAAQ,UAAU,IAAI,SAAS,OAAO;AACpC,iBAAO,KAAK,QAAQ,KAAK;AAAA,QAC3B;AAEA,QAAAA,SAAQ,UAAU,IAAI,SAAS,OAAO;AACpC,iBAAO,KAAK,IAAI,KAAK;AAAA,QACvB;AAEA,QAAAA,SAAQ,UAAU,IAAI,SAAS,QAAQ,OAAO;AAC5C,iBAAO,KAAK,YAAY,QAAQ,KAAK;AAAA,QACvC;AAEA,QAAAA,SAAQ,UAAU,IAAI,WAAW;AAC/B,iBAAO,KAAK,GAAG;AAAA,QACjB;AAEA,QAAAA,SAAQ,UAAU,mBAAmB,SAAS,KAAK;AACjD,iBAAO,KAAK,eAAe,GAAG;AAAA,QAChC;AAEA,QAAAA,SAAQ,UAAU,eAAe,SAAS,UAAU,UAAU;AAC5D,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,SAAQ,UAAU,cAAc,SAAS,UAAU;AACjD,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,SAAQ,UAAU,cAAc,SAAS,UAAU;AACjD,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,SAAQ,UAAU,gBAAgB,WAAW;AAC3C,iBAAO,KAAK,SAAS,WAAW;AAAA,QAClC;AAEA,QAAAA,SAAQ,UAAU,YAAY,SAAS,MAAM;AAC3C,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,SAAQ,UAAU,YAAY,WAAW;AACvC,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,SAAQ,UAAU,cAAc,SAAS,SAAS,SAAS;AACzD,iBAAO;AAAA,QACT;AAEA,QAAAA,SAAQ,UAAU,gBAAgB,WAAW;AAC3C,iBAAO,KAAK,QAAQ,WAAW;AAAA,QACjC;AAEA,QAAAA,SAAQ,UAAU,0BAA0B,SAAS,OAAO;AAC1D,cAAI,KAAK;AACT,gBAAM;AACN,cAAI,QAAQ,OAAO;AACjB,mBAAO;AAAA,UACT,WAAW,KAAK,SAAS,MAAM,MAAM,SAAS,GAAG;AAC/C,kBAAM,iBAAiB,eAAe,iBAAiB;AACvD,gBAAI,KAAK,OAAO,IAAI,KAAK;AACvB,qBAAO,iBAAiB;AAAA,YAC1B,OAAO;AACL,qBAAO,iBAAiB;AAAA,YAC1B;AACA,mBAAO;AAAA,UACT,WAAW,IAAI,WAAW,KAAK,GAAG;AAChC,mBAAO,iBAAiB,WAAW,iBAAiB;AAAA,UACtD,WAAW,IAAI,aAAa,KAAK,GAAG;AAClC,mBAAO,iBAAiB,WAAW,iBAAiB;AAAA,UACtD,WAAW,IAAI,YAAY,KAAK,GAAG;AACjC,mBAAO,iBAAiB;AAAA,UAC1B,OAAO;AACL,mBAAO,iBAAiB;AAAA,UAC1B;AAAA,QACF;AAEA,QAAAA,SAAQ,UAAU,aAAa,SAAS,OAAO;AAC7C,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,SAAQ,UAAU,eAAe,SAAS,cAAc;AACtD,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,SAAQ,UAAU,qBAAqB,SAAS,cAAc;AAC5D,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,SAAQ,UAAU,qBAAqB,SAAS,QAAQ;AACtD,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,SAAQ,UAAU,cAAc,SAAS,MAAM;AAC7C,cAAI,GAAG,GAAG;AACV,cAAI,KAAK,aAAa,KAAK,UAAU;AACnC,mBAAO;AAAA,UACT;AACA,cAAI,KAAK,SAAS,WAAW,KAAK,SAAS,QAAQ;AACjD,mBAAO;AAAA,UACT;AACA,eAAK,IAAI,IAAI,GAAG,OAAO,KAAK,SAAS,SAAS,GAAG,KAAK,OAAO,KAAK,OAAO,KAAK,MAAM,IAAI,KAAK,OAAO,EAAE,IAAI,EAAE,GAAG;AAC7G,gBAAI,CAAC,KAAK,SAAS,CAAC,EAAE,YAAY,KAAK,SAAS,CAAC,CAAC,GAAG;AACnD,qBAAO;AAAA,YACT;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AAEA,QAAAA,SAAQ,UAAU,aAAa,SAAS,SAAS,SAAS;AACxD,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,SAAQ,UAAU,cAAc,SAAS,KAAK,MAAM,SAAS;AAC3D,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,SAAQ,UAAU,cAAc,SAAS,KAAK;AAC5C,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,SAAQ,UAAU,WAAW,SAAS,OAAO;AAC3C,cAAI,CAAC,OAAO;AACV,mBAAO;AAAA,UACT;AACA,iBAAO,UAAU,QAAQ,KAAK,aAAa,KAAK;AAAA,QAClD;AAEA,QAAAA,SAAQ,UAAU,eAAe,SAAS,MAAM;AAC9C,cAAI,OAAO,mBAAmB,GAAG,KAAK;AACtC,iBAAO,KAAK;AACZ,eAAK,IAAI,GAAG,MAAM,KAAK,QAAQ,IAAI,KAAK,KAAK;AAC3C,oBAAQ,KAAK,CAAC;AACd,gBAAI,SAAS,OAAO;AAClB,qBAAO;AAAA,YACT;AACA,gCAAoB,MAAM,aAAa,IAAI;AAC3C,gBAAI,mBAAmB;AACrB,qBAAO;AAAA,YACT;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AAEA,QAAAA,SAAQ,UAAU,aAAa,SAAS,MAAM;AAC5C,iBAAO,KAAK,aAAa,IAAI;AAAA,QAC/B;AAEA,QAAAA,SAAQ,UAAU,cAAc,SAAS,MAAM;AAC7C,cAAI,SAAS;AACb,oBAAU,KAAK,aAAa,IAAI;AAChC,oBAAU,KAAK,aAAa,IAAI;AAChC,cAAI,YAAY,MAAM,YAAY,IAAI;AACpC,mBAAO;AAAA,UACT,OAAO;AACL,mBAAO,UAAU;AAAA,UACnB;AAAA,QACF;AAEA,QAAAA,SAAQ,UAAU,cAAc,SAAS,MAAM;AAC7C,cAAI,SAAS;AACb,oBAAU,KAAK,aAAa,IAAI;AAChC,oBAAU,KAAK,aAAa,IAAI;AAChC,cAAI,YAAY,MAAM,YAAY,IAAI;AACpC,mBAAO;AAAA,UACT,OAAO;AACL,mBAAO,UAAU;AAAA,UACnB;AAAA,QACF;AAEA,QAAAA,SAAQ,UAAU,eAAe,SAAS,MAAM;AAC9C,cAAI,OAAO;AACX,gBAAM;AACN,kBAAQ;AACR,eAAK,gBAAgB,KAAK,SAAS,GAAG,SAAS,WAAW;AACxD;AACA,gBAAI,CAAC,SAAS,cAAc,MAAM;AAChC,qBAAO,QAAQ;AAAA,YACjB;AAAA,UACF,CAAC;AACD,cAAI,OAAO;AACT,mBAAO;AAAA,UACT,OAAO;AACL,mBAAO;AAAA,UACT;AAAA,QACF;AAEA,QAAAA,SAAQ,UAAU,kBAAkB,SAAS,MAAM,MAAM;AACvD,cAAI,OAAO,GAAG,KAAK,MAAM;AACzB,mBAAS,OAAO,KAAK,SAAS;AAC9B,iBAAO,KAAK;AACZ,eAAK,IAAI,GAAG,MAAM,KAAK,QAAQ,IAAI,KAAK,KAAK;AAC3C,oBAAQ,KAAK,CAAC;AACd,gBAAI,MAAM,KAAK,KAAK,GAAG;AACrB,qBAAO;AAAA,YACT,OAAO;AACL,oBAAM,KAAK,gBAAgB,OAAO,IAAI;AACtC,kBAAI,KAAK;AACP,uBAAO;AAAA,cACT;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAEA,eAAOA;AAAA,MAET,EAAG;AAAA,IAEL,GAAG,KAAK,OAAI;AAAA;AAAA;;;AChxBZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,gBACF,OAAO,SAAS,IAAI,IAAG;AAAE,eAAO,WAAU;AAAE,iBAAO,GAAG,MAAM,IAAI,SAAS;AAAA,QAAG;AAAA,MAAG,GAC/E,UAAU,CAAC,EAAE;AAEf,aAAO,UAAU,iBAAkB,WAAW;AAC5C,iBAASC,gBAAe,SAAS;AAC/B,eAAK,kBAAkB,KAAK,KAAK,iBAAiB,IAAI;AACtD,eAAK,kBAAkB,KAAK,KAAK,iBAAiB,IAAI;AACtD,cAAI,KAAK,KAAK;AACd,sBAAY,UAAU,CAAC;AACvB,eAAK,UAAU;AACf,cAAI,CAAC,KAAK,QAAQ,SAAS;AACzB,iBAAK,QAAQ,UAAU;AAAA,UACzB;AACA,gBAAM,QAAQ,aAAa,CAAC;AAC5B,eAAK,OAAO,KAAK;AACf,gBAAI,CAAC,QAAQ,KAAK,KAAK,GAAG,EAAG;AAC7B,oBAAQ,IAAI,GAAG;AACf,iBAAK,GAAG,IAAI;AAAA,UACd;AAAA,QACF;AAEA,QAAAA,gBAAe,UAAU,OAAO,SAAS,KAAK;AAC5C,cAAI,KAAK,QAAQ,cAAc;AAC7B,mBAAO;AAAA,UACT;AACA,iBAAO,KAAK,gBAAgB,KAAK,OAAO,EAAE;AAAA,QAC5C;AAEA,QAAAA,gBAAe,UAAU,OAAO,SAAS,KAAK;AAC5C,cAAI,KAAK,QAAQ,cAAc;AAC7B,mBAAO;AAAA,UACT;AACA,iBAAO,KAAK,gBAAgB,KAAK,WAAW,KAAK,OAAO,EAAE,CAAC;AAAA,QAC7D;AAEA,QAAAA,gBAAe,UAAU,QAAQ,SAAS,KAAK;AAC7C,cAAI,KAAK,QAAQ,cAAc;AAC7B,mBAAO;AAAA,UACT;AACA,gBAAM,KAAK,OAAO;AAClB,gBAAM,IAAI,QAAQ,OAAO,iBAAiB;AAC1C,iBAAO,KAAK,gBAAgB,GAAG;AAAA,QACjC;AAEA,QAAAA,gBAAe,UAAU,UAAU,SAAS,KAAK;AAC/C,cAAI,KAAK,QAAQ,cAAc;AAC7B,mBAAO;AAAA,UACT;AACA,gBAAM,KAAK,OAAO;AAClB,cAAI,IAAI,MAAM,IAAI,GAAG;AACnB,kBAAM,IAAI,MAAM,+CAA+C,GAAG;AAAA,UACpE;AACA,iBAAO,KAAK,gBAAgB,GAAG;AAAA,QACjC;AAEA,QAAAA,gBAAe,UAAU,MAAM,SAAS,KAAK;AAC3C,cAAI,KAAK,QAAQ,cAAc;AAC7B,mBAAO;AAAA,UACT;AACA,iBAAO,KAAK,OAAO;AAAA,QACrB;AAEA,QAAAA,gBAAe,UAAU,WAAW,SAAS,KAAK;AAChD,cAAI,KAAK,QAAQ,cAAc;AAC7B,mBAAO;AAAA,UACT;AACA,iBAAO,KAAK,gBAAgB,KAAK,UAAU,MAAM,KAAK,OAAO,EAAE,CAAC;AAAA,QAClE;AAEA,QAAAA,gBAAe,UAAU,YAAY,SAAS,KAAK;AACjD,cAAI,KAAK,QAAQ,cAAc;AAC7B,mBAAO;AAAA,UACT;AACA,iBAAO,KAAK,gBAAgB,KAAK,OAAO,EAAE;AAAA,QAC5C;AAEA,QAAAA,gBAAe,UAAU,WAAW,SAAS,KAAK;AAChD,cAAI,KAAK,QAAQ,cAAc;AAC7B,mBAAO;AAAA,UACT;AACA,gBAAM,KAAK,OAAO;AAClB,cAAI,IAAI,MAAM,KAAK,GAAG;AACpB,kBAAM,IAAI,MAAM,2CAA2C,GAAG;AAAA,UAChE;AACA,iBAAO,KAAK,gBAAgB,GAAG;AAAA,QACjC;AAEA,QAAAA,gBAAe,UAAU,aAAa,SAAS,KAAK;AAClD,cAAI,KAAK,QAAQ,cAAc;AAC7B,mBAAO;AAAA,UACT;AACA,gBAAM,KAAK,OAAO;AAClB,cAAI,CAAC,IAAI,MAAM,WAAW,GAAG;AAC3B,kBAAM,IAAI,MAAM,6BAA6B,GAAG;AAAA,UAClD;AACA,iBAAO;AAAA,QACT;AAEA,QAAAA,gBAAe,UAAU,cAAc,SAAS,KAAK;AACnD,cAAI,KAAK,QAAQ,cAAc;AAC7B,mBAAO;AAAA,UACT;AACA,gBAAM,KAAK,OAAO;AAClB,cAAI,CAAC,IAAI,MAAM,+BAA+B,GAAG;AAC/C,kBAAM,IAAI,MAAM,uBAAuB,GAAG;AAAA,UAC5C;AACA,iBAAO,KAAK,gBAAgB,GAAG;AAAA,QACjC;AAEA,QAAAA,gBAAe,UAAU,gBAAgB,SAAS,KAAK;AACrD,cAAI,KAAK,QAAQ,cAAc;AAC7B,mBAAO;AAAA,UACT;AACA,cAAI,KAAK;AACP,mBAAO;AAAA,UACT,OAAO;AACL,mBAAO;AAAA,UACT;AAAA,QACF;AAEA,QAAAA,gBAAe,UAAU,WAAW,SAAS,KAAK;AAChD,cAAI,KAAK,QAAQ,cAAc;AAC7B,mBAAO;AAAA,UACT;AACA,iBAAO,KAAK,gBAAgB,KAAK,OAAO,EAAE;AAAA,QAC5C;AAEA,QAAAA,gBAAe,UAAU,WAAW,SAAS,KAAK;AAChD,cAAI,KAAK,QAAQ,cAAc;AAC7B,mBAAO;AAAA,UACT;AACA,iBAAO,KAAK,gBAAgB,KAAK,OAAO,EAAE;AAAA,QAC5C;AAEA,QAAAA,gBAAe,UAAU,kBAAkB,SAAS,KAAK;AACvD,cAAI,KAAK,QAAQ,cAAc;AAC7B,mBAAO;AAAA,UACT;AACA,iBAAO,KAAK,gBAAgB,KAAK,OAAO,EAAE;AAAA,QAC5C;AAEA,QAAAA,gBAAe,UAAU,aAAa,SAAS,KAAK;AAClD,cAAI,KAAK,QAAQ,cAAc;AAC7B,mBAAO;AAAA,UACT;AACA,iBAAO,KAAK,gBAAgB,KAAK,OAAO,EAAE;AAAA,QAC5C;AAEA,QAAAA,gBAAe,UAAU,gBAAgB,SAAS,KAAK;AACrD,cAAI,KAAK,QAAQ,cAAc;AAC7B,mBAAO;AAAA,UACT;AACA,iBAAO,KAAK,gBAAgB,KAAK,OAAO,EAAE;AAAA,QAC5C;AAEA,QAAAA,gBAAe,UAAU,iBAAiB,SAAS,KAAK;AACtD,cAAI,KAAK,QAAQ,cAAc;AAC7B,mBAAO;AAAA,UACT;AACA,iBAAO,KAAK,gBAAgB,KAAK,OAAO,EAAE;AAAA,QAC5C;AAEA,QAAAA,gBAAe,UAAU,WAAW,SAAS,KAAK;AAChD,cAAI,KAAK,QAAQ,cAAc;AAC7B,mBAAO;AAAA,UACT;AACA,iBAAO,KAAK,gBAAgB,KAAK,OAAO,EAAE;AAAA,QAC5C;AAEA,QAAAA,gBAAe,UAAU,gBAAgB;AAEzC,QAAAA,gBAAe,UAAU,eAAe;AAExC,QAAAA,gBAAe,UAAU,iBAAiB;AAE1C,QAAAA,gBAAe,UAAU,kBAAkB;AAE3C,QAAAA,gBAAe,UAAU,oBAAoB;AAE7C,QAAAA,gBAAe,UAAU,gBAAgB;AAEzC,QAAAA,gBAAe,UAAU,kBAAkB,SAAS,KAAK;AACvD,cAAI,OAAO;AACX,cAAI,KAAK,QAAQ,cAAc;AAC7B,mBAAO;AAAA,UACT;AACA,kBAAQ;AACR,cAAI,KAAK,QAAQ,YAAY,OAAO;AAClC,oBAAQ;AACR,gBAAI,MAAM,IAAI,MAAM,KAAK,GAAG;AAC1B,oBAAM,IAAI,MAAM,kCAAkC,MAAM,eAAe,IAAI,KAAK;AAAA,YAClF;AAAA,UACF,WAAW,KAAK,QAAQ,YAAY,OAAO;AACzC,oBAAQ;AACR,gBAAI,MAAM,IAAI,MAAM,KAAK,GAAG;AAC1B,oBAAM,IAAI,MAAM,kCAAkC,MAAM,eAAe,IAAI,KAAK;AAAA,YAClF;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AAEA,QAAAA,gBAAe,UAAU,kBAAkB,SAAS,KAAK;AACvD,cAAI;AACJ,cAAI,KAAK,QAAQ,cAAc;AAC7B,mBAAO;AAAA,UACT;AACA,eAAK,gBAAgB,GAAG;AACxB,kBAAQ;AACR,cAAI,CAAC,IAAI,MAAM,KAAK,GAAG;AACrB,kBAAM,IAAI,MAAM,2BAA2B;AAAA,UAC7C;AACA,iBAAO;AAAA,QACT;AAEA,QAAAA,gBAAe,UAAU,aAAa,SAAS,KAAK;AAClD,cAAI;AACJ,cAAI,KAAK,QAAQ,cAAc;AAC7B,mBAAO;AAAA,UACT;AACA,qBAAW,KAAK,QAAQ,mBAAmB,gBAAgB;AAC3D,iBAAO,IAAI,QAAQ,UAAU,OAAO,EAAE,QAAQ,MAAM,MAAM,EAAE,QAAQ,MAAM,MAAM,EAAE,QAAQ,OAAO,OAAO;AAAA,QAC1G;AAEA,QAAAA,gBAAe,UAAU,YAAY,SAAS,KAAK;AACjD,cAAI;AACJ,cAAI,KAAK,QAAQ,cAAc;AAC7B,mBAAO;AAAA,UACT;AACA,qBAAW,KAAK,QAAQ,mBAAmB,gBAAgB;AAC3D,iBAAO,IAAI,QAAQ,UAAU,OAAO,EAAE,QAAQ,MAAM,MAAM,EAAE,QAAQ,MAAM,QAAQ,EAAE,QAAQ,OAAO,OAAO,EAAE,QAAQ,OAAO,OAAO,EAAE,QAAQ,OAAO,OAAO;AAAA,QAC5J;AAEA,eAAOA;AAAA,MAET,EAAG;AAAA,IAEL,GAAG,KAAK,OAAI;AAAA;AAAA;;;AC/OZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,aAAO,UAAU;AAAA,QACf,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW;AAAA,QACX,UAAU;AAAA,MACZ;AAAA,IAEF,GAAG,KAAK,OAAI;AAAA;AAAA;;;ACTZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,UAAU,aAAa,UAAU,YAAY,eAAe,eAAe,cAAc,gBAAgB,gBAAgB,YAAY,UAAU,YAAY,0BAA0B,QAAQ,SAAS,eAAe,QACvN,UAAU,CAAC,EAAE;AAEf,eAAS,kBAAqB;AAE9B,iBAAW;AAEX,uBAAiB;AAEjB,mBAAa;AAEb,iBAAW;AAEX,mBAAa;AAEb,mBAAa;AAEb,eAAS;AAET,gBAAU;AAEV,iCAA2B;AAE3B,iBAAW;AAEX,sBAAgB;AAEhB,sBAAgB;AAEhB,qBAAe;AAEf,uBAAiB;AAEjB,oBAAc;AAEd,aAAO,UAAU,gBAAiB,WAAW;AAC3C,iBAASC,eAAc,SAAS;AAC9B,cAAI,KAAK,KAAK;AACd,sBAAY,UAAU,CAAC;AACvB,eAAK,UAAU;AACf,gBAAM,QAAQ,UAAU,CAAC;AACzB,eAAK,OAAO,KAAK;AACf,gBAAI,CAAC,QAAQ,KAAK,KAAK,GAAG,EAAG;AAC7B,oBAAQ,IAAI,GAAG;AACf,iBAAK,MAAM,GAAG,IAAI,KAAK,GAAG;AAC1B,iBAAK,GAAG,IAAI;AAAA,UACd;AAAA,QACF;AAEA,QAAAA,eAAc,UAAU,gBAAgB,SAAS,SAAS;AACxD,cAAI,iBAAiB,KAAK,MAAM,MAAM,MAAM,MAAM,MAAM;AACxD,sBAAY,UAAU,CAAC;AACvB,oBAAU,OAAO,CAAC,GAAG,KAAK,SAAS,OAAO;AAC1C,4BAAkB;AAAA,YAChB,QAAQ;AAAA,UACV;AACA,0BAAgB,SAAS,QAAQ,UAAU;AAC3C,0BAAgB,aAAa,QAAQ,cAAc;AACnD,0BAAgB,UAAU,MAAM,QAAQ,WAAW,OAAO,MAAM;AAChE,0BAAgB,WAAW,OAAO,QAAQ,YAAY,OAAO,OAAO;AACpE,0BAAgB,UAAU,OAAO,QAAQ,WAAW,OAAO,OAAO;AAClE,0BAAgB,uBAAuB,QAAQ,OAAO,QAAQ,wBAAwB,OAAO,OAAO,QAAQ,wBAAwB,OAAO,OAAO;AAClJ,0BAAgB,oBAAoB,QAAQ,OAAO,QAAQ,qBAAqB,OAAO,OAAO,QAAQ,qBAAqB,OAAO,OAAO;AACzI,cAAI,gBAAgB,qBAAqB,MAAM;AAC7C,4BAAgB,mBAAmB;AAAA,UACrC;AACA,0BAAgB,sBAAsB;AACtC,0BAAgB,OAAO,CAAC;AACxB,0BAAgB,QAAQ,YAAY;AACpC,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,SAAS,SAAS,MAAM,SAAS,OAAO;AAC9D,cAAI;AACJ,cAAI,CAAC,QAAQ,UAAU,QAAQ,qBAAqB;AAClD,mBAAO;AAAA,UACT,WAAW,QAAQ,QAAQ;AACzB,2BAAe,SAAS,KAAK,QAAQ,SAAS;AAC9C,gBAAI,cAAc,GAAG;AACnB,qBAAO,IAAI,MAAM,WAAW,EAAE,KAAK,QAAQ,MAAM;AAAA,YACnD;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,UAAU,SAAS,MAAM,SAAS,OAAO;AAC/D,cAAI,CAAC,QAAQ,UAAU,QAAQ,qBAAqB;AAClD,mBAAO;AAAA,UACT,OAAO;AACL,mBAAO,QAAQ;AAAA,UACjB;AAAA,QACF;AAEA,QAAAA,eAAc,UAAU,YAAY,SAAS,KAAK,SAAS,OAAO;AAChE,cAAI;AACJ,eAAK,cAAc,KAAK,SAAS,KAAK;AACtC,cAAI,MAAM,IAAI,OAAO,OAAO,IAAI,QAAQ;AACxC,eAAK,eAAe,KAAK,SAAS,KAAK;AACvC,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,QAAQ,SAAS,MAAM,SAAS,OAAO;AAC7D,cAAI;AACJ,eAAK,SAAS,MAAM,SAAS,KAAK;AAClC,kBAAQ,QAAQ,YAAY;AAC5B,cAAI,KAAK,OAAO,MAAM,SAAS,KAAK,IAAI;AACxC,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,KAAK;AACV,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,QAAQ,KAAK,QAAQ,MAAM,SAAS,KAAK;AAC9C,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,UAAU,MAAM,SAAS,KAAK;AACnC,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,UAAU,SAAS,MAAM,SAAS,OAAO;AAC/D,cAAI;AACJ,eAAK,SAAS,MAAM,SAAS,KAAK;AAClC,kBAAQ,QAAQ,YAAY;AAC5B,cAAI,KAAK,OAAO,MAAM,SAAS,KAAK,IAAI;AACxC,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,KAAK;AACV,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,SAAS,KAAK,QAAQ,MAAM,SAAS,KAAK;AAC/C,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,UAAU,MAAM,SAAS,KAAK;AACnC,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,cAAc,SAAS,MAAM,SAAS,OAAO;AACnE,cAAI;AACJ,eAAK,SAAS,MAAM,SAAS,KAAK;AAClC,kBAAQ,QAAQ,YAAY;AAC5B,cAAI,KAAK,OAAO,MAAM,SAAS,KAAK,IAAI;AACxC,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,eAAe,KAAK,UAAU;AACnC,cAAI,KAAK,YAAY,MAAM;AACzB,iBAAK,gBAAgB,KAAK,WAAW;AAAA,UACvC;AACA,cAAI,KAAK,cAAc,MAAM;AAC3B,iBAAK,kBAAkB,KAAK,aAAa;AAAA,UAC3C;AACA,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,QAAQ,mBAAmB;AAChC,eAAK,KAAK,QAAQ,MAAM,SAAS,KAAK;AACtC,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,UAAU,MAAM,SAAS,KAAK;AACnC,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,UAAU,SAAS,MAAM,SAAS,OAAO;AAC/D,cAAI,OAAO,GAAG,KAAK,GAAG;AACtB,oBAAU,QAAQ;AAClB,eAAK,SAAS,MAAM,SAAS,KAAK;AAClC,kBAAQ,QAAQ,YAAY;AAC5B,cAAI,KAAK,OAAO,MAAM,SAAS,KAAK;AACpC,eAAK,eAAe,KAAK,KAAK,EAAE;AAChC,cAAI,KAAK,SAAS,KAAK,OAAO;AAC5B,iBAAK,cAAc,KAAK,QAAQ,QAAQ,KAAK,QAAQ;AAAA,UACvD,WAAW,KAAK,OAAO;AACrB,iBAAK,cAAc,KAAK,QAAQ;AAAA,UAClC;AACA,cAAI,KAAK,SAAS,SAAS,GAAG;AAC5B,iBAAK;AACL,iBAAK,KAAK,QAAQ,MAAM,SAAS,KAAK;AACtC,oBAAQ,QAAQ,YAAY;AAC5B,kBAAM,KAAK;AACX,iBAAK,IAAI,GAAG,MAAM,IAAI,QAAQ,IAAI,KAAK,KAAK;AAC1C,sBAAQ,IAAI,CAAC;AACb,mBAAK,KAAK,eAAe,OAAO,SAAS,QAAQ,CAAC;AAAA,YACpD;AACA,oBAAQ,QAAQ,YAAY;AAC5B,iBAAK;AAAA,UACP;AACA,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,QAAQ,mBAAmB;AAChC,eAAK,KAAK,QAAQ,MAAM,SAAS,KAAK;AACtC,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,UAAU,MAAM,SAAS,KAAK;AACnC,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,UAAU,SAAS,MAAM,SAAS,OAAO;AAC/D,cAAI,KAAK,OAAO,gBAAgB,gBAAgB,GAAG,GAAG,KAAK,MAAM,MAAM,kBAAkB,GAAG,KAAK,MAAM;AACvG,oBAAU,QAAQ;AAClB,6BAAmB;AACnB,cAAI;AACJ,eAAK,SAAS,MAAM,SAAS,KAAK;AAClC,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,KAAK,OAAO,MAAM,SAAS,KAAK,IAAI,MAAM,KAAK;AACpD,gBAAM,KAAK;AACX,eAAK,QAAQ,KAAK;AAChB,gBAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,EAAG;AAC9B,kBAAM,IAAI,IAAI;AACd,iBAAK,KAAK,UAAU,KAAK,SAAS,KAAK;AAAA,UACzC;AACA,2BAAiB,KAAK,SAAS;AAC/B,2BAAiB,mBAAmB,IAAI,OAAO,KAAK,SAAS,CAAC;AAC9D,cAAI,mBAAmB,KAAK,KAAK,SAAS,MAAM,SAAS,GAAG;AAC1D,oBAAQ,EAAE,SAAS,SAAS,QAAQ,EAAE,SAAS,SAAS,QAAQ,EAAE,UAAU;AAAA,UAC9E,CAAC,GAAG;AACF,gBAAI,QAAQ,YAAY;AACtB,mBAAK;AACL,sBAAQ,QAAQ,YAAY;AAC5B,mBAAK,OAAO,KAAK,OAAO,MAAM,KAAK,QAAQ,MAAM,SAAS,KAAK;AAAA,YACjE,OAAO;AACL,sBAAQ,QAAQ,YAAY;AAC5B,mBAAK,QAAQ,mBAAmB,OAAO,KAAK,QAAQ,MAAM,SAAS,KAAK;AAAA,YAC1E;AAAA,UACF,WAAW,QAAQ,UAAU,mBAAmB,MAAM,eAAe,SAAS,SAAS,QAAQ,eAAe,SAAS,SAAS,QAAS,eAAe,SAAS,MAAO;AACtK,iBAAK;AACL,oBAAQ,QAAQ,YAAY;AAC5B,oBAAQ;AACR,+BAAmB;AACnB,iBAAK,KAAK,eAAe,gBAAgB,SAAS,QAAQ,CAAC;AAC3D,oBAAQ;AACR,+BAAmB;AACnB,oBAAQ,QAAQ,YAAY;AAC5B,iBAAK,OAAO,KAAK,OAAO,MAAM,KAAK,QAAQ,MAAM,SAAS,KAAK;AAAA,UACjE,OAAO;AACL,gBAAI,QAAQ,qBAAqB;AAC/B,qBAAO,KAAK;AACZ,mBAAK,IAAI,GAAG,MAAM,KAAK,QAAQ,IAAI,KAAK,KAAK;AAC3C,wBAAQ,KAAK,CAAC;AACd,qBAAK,MAAM,SAAS,SAAS,QAAQ,MAAM,SAAS,SAAS,QAAS,MAAM,SAAS,MAAO;AAC1F,0BAAQ;AACR,qCAAmB;AACnB;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AACA,iBAAK,MAAM,KAAK,QAAQ,MAAM,SAAS,KAAK;AAC5C,oBAAQ,QAAQ,YAAY;AAC5B,mBAAO,KAAK;AACZ,iBAAK,IAAI,GAAG,OAAO,KAAK,QAAQ,IAAI,MAAM,KAAK;AAC7C,sBAAQ,KAAK,CAAC;AACd,mBAAK,KAAK,eAAe,OAAO,SAAS,QAAQ,CAAC;AAAA,YACpD;AACA,oBAAQ,QAAQ,YAAY;AAC5B,iBAAK,KAAK,OAAO,MAAM,SAAS,KAAK,IAAI,OAAO,KAAK,OAAO;AAC5D,gBAAI,kBAAkB;AACpB,sBAAQ;AAAA,YACV;AACA,iBAAK,KAAK,QAAQ,MAAM,SAAS,KAAK;AACtC,oBAAQ,QAAQ,YAAY;AAAA,UAC9B;AACA,eAAK,UAAU,MAAM,SAAS,KAAK;AACnC,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,iBAAiB,SAAS,MAAM,SAAS,OAAO;AACtE,kBAAQ,KAAK,MAAM;AAAA,YACjB,KAAK,SAAS;AACZ,qBAAO,KAAK,MAAM,MAAM,SAAS,KAAK;AAAA,YACxC,KAAK,SAAS;AACZ,qBAAO,KAAK,QAAQ,MAAM,SAAS,KAAK;AAAA,YAC1C,KAAK,SAAS;AACZ,qBAAO,KAAK,QAAQ,MAAM,SAAS,KAAK;AAAA,YAC1C,KAAK,SAAS;AACZ,qBAAO,KAAK,IAAI,MAAM,SAAS,KAAK;AAAA,YACtC,KAAK,SAAS;AACZ,qBAAO,KAAK,KAAK,MAAM,SAAS,KAAK;AAAA,YACvC,KAAK,SAAS;AACZ,qBAAO,KAAK,sBAAsB,MAAM,SAAS,KAAK;AAAA,YACxD,KAAK,SAAS;AACZ,qBAAO;AAAA,YACT,KAAK,SAAS;AACZ,qBAAO,KAAK,YAAY,MAAM,SAAS,KAAK;AAAA,YAC9C,KAAK,SAAS;AACZ,qBAAO,KAAK,QAAQ,MAAM,SAAS,KAAK;AAAA,YAC1C,KAAK,SAAS;AACZ,qBAAO,KAAK,WAAW,MAAM,SAAS,KAAK;AAAA,YAC7C,KAAK,SAAS;AACZ,qBAAO,KAAK,WAAW,MAAM,SAAS,KAAK;AAAA,YAC7C,KAAK,SAAS;AACZ,qBAAO,KAAK,UAAU,MAAM,SAAS,KAAK;AAAA,YAC5C,KAAK,SAAS;AACZ,qBAAO,KAAK,YAAY,MAAM,SAAS,KAAK;AAAA,YAC9C;AACE,oBAAM,IAAI,MAAM,4BAA4B,KAAK,YAAY,IAAI;AAAA,UACrE;AAAA,QACF;AAEA,QAAAA,eAAc,UAAU,wBAAwB,SAAS,MAAM,SAAS,OAAO;AAC7E,cAAI;AACJ,eAAK,SAAS,MAAM,SAAS,KAAK;AAClC,kBAAQ,QAAQ,YAAY;AAC5B,cAAI,KAAK,OAAO,MAAM,SAAS,KAAK,IAAI;AACxC,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,KAAK;AACV,cAAI,KAAK,OAAO;AACd,iBAAK,MAAM,KAAK;AAAA,UAClB;AACA,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,QAAQ,mBAAmB;AAChC,eAAK,KAAK,QAAQ,MAAM,SAAS,KAAK;AACtC,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,UAAU,MAAM,SAAS,KAAK;AACnC,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,MAAM,SAAS,MAAM,SAAS,OAAO;AAC3D,cAAI;AACJ,eAAK,SAAS,MAAM,SAAS,KAAK;AAClC,kBAAQ,QAAQ,YAAY;AAC5B,cAAI,KAAK,OAAO,MAAM,SAAS,KAAK;AACpC,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,KAAK;AACV,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,KAAK,QAAQ,MAAM,SAAS,KAAK;AACtC,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,UAAU,MAAM,SAAS,KAAK;AACnC,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,OAAO,SAAS,MAAM,SAAS,OAAO;AAC5D,cAAI;AACJ,eAAK,SAAS,MAAM,SAAS,KAAK;AAClC,kBAAQ,QAAQ,YAAY;AAC5B,cAAI,KAAK,OAAO,MAAM,SAAS,KAAK;AACpC,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,KAAK;AACV,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,KAAK,QAAQ,MAAM,SAAS,KAAK;AACtC,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,UAAU,MAAM,SAAS,KAAK;AACnC,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,aAAa,SAAS,MAAM,SAAS,OAAO;AAClE,cAAI;AACJ,eAAK,SAAS,MAAM,SAAS,KAAK;AAClC,kBAAQ,QAAQ,YAAY;AAC5B,cAAI,KAAK,OAAO,MAAM,SAAS,KAAK,IAAI;AACxC,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,MAAM,KAAK,cAAc,MAAM,KAAK,gBAAgB,MAAM,KAAK;AACpE,cAAI,KAAK,qBAAqB,YAAY;AACxC,iBAAK,MAAM,KAAK;AAAA,UAClB;AACA,cAAI,KAAK,cAAc;AACrB,iBAAK,OAAO,KAAK,eAAe;AAAA,UAClC;AACA,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,QAAQ,mBAAmB,MAAM,KAAK,QAAQ,MAAM,SAAS,KAAK;AACvE,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,UAAU,MAAM,SAAS,KAAK;AACnC,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,aAAa,SAAS,MAAM,SAAS,OAAO;AAClE,cAAI;AACJ,eAAK,SAAS,MAAM,SAAS,KAAK;AAClC,kBAAQ,QAAQ,YAAY;AAC5B,cAAI,KAAK,OAAO,MAAM,SAAS,KAAK,IAAI;AACxC,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,MAAM,KAAK,OAAO,MAAM,KAAK;AAClC,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,QAAQ,mBAAmB,MAAM,KAAK,QAAQ,MAAM,SAAS,KAAK;AACvE,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,UAAU,MAAM,SAAS,KAAK;AACnC,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,YAAY,SAAS,MAAM,SAAS,OAAO;AACjE,cAAI;AACJ,eAAK,SAAS,MAAM,SAAS,KAAK;AAClC,kBAAQ,QAAQ,YAAY;AAC5B,cAAI,KAAK,OAAO,MAAM,SAAS,KAAK,IAAI;AACxC,kBAAQ,QAAQ,YAAY;AAC5B,cAAI,KAAK,IAAI;AACX,iBAAK;AAAA,UACP;AACA,eAAK,MAAM,KAAK;AAChB,cAAI,KAAK,OAAO;AACd,iBAAK,OAAO,KAAK,QAAQ;AAAA,UAC3B,OAAO;AACL,gBAAI,KAAK,SAAS,KAAK,OAAO;AAC5B,mBAAK,cAAc,KAAK,QAAQ,QAAQ,KAAK,QAAQ;AAAA,YACvD,WAAW,KAAK,OAAO;AACrB,mBAAK,cAAc,KAAK,QAAQ;AAAA,YAClC;AACA,gBAAI,KAAK,OAAO;AACd,mBAAK,YAAY,KAAK;AAAA,YACxB;AAAA,UACF;AACA,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,QAAQ,mBAAmB,MAAM,KAAK,QAAQ,MAAM,SAAS,KAAK;AACvE,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,UAAU,MAAM,SAAS,KAAK;AACnC,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,cAAc,SAAS,MAAM,SAAS,OAAO;AACnE,cAAI;AACJ,eAAK,SAAS,MAAM,SAAS,KAAK;AAClC,kBAAQ,QAAQ,YAAY;AAC5B,cAAI,KAAK,OAAO,MAAM,SAAS,KAAK,IAAI;AACxC,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,MAAM,KAAK;AAChB,cAAI,KAAK,SAAS,KAAK,OAAO;AAC5B,iBAAK,cAAc,KAAK,QAAQ,QAAQ,KAAK,QAAQ;AAAA,UACvD,WAAW,KAAK,OAAO;AACrB,iBAAK,cAAc,KAAK,QAAQ;AAAA,UAClC,WAAW,KAAK,OAAO;AACrB,iBAAK,cAAc,KAAK,QAAQ;AAAA,UAClC;AACA,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,QAAQ,mBAAmB,MAAM,KAAK,QAAQ,MAAM,SAAS,KAAK;AACvE,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,UAAU,MAAM,SAAS,KAAK;AACnC,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,WAAW,SAAS,MAAM,SAAS,OAAO;AAAA,QAAC;AAEnE,QAAAA,eAAc,UAAU,YAAY,SAAS,MAAM,SAAS,OAAO;AAAA,QAAC;AAEpE,QAAAA,eAAc,UAAU,gBAAgB,SAAS,KAAK,SAAS,OAAO;AAAA,QAAC;AAEvE,QAAAA,eAAc,UAAU,iBAAiB,SAAS,KAAK,SAAS,OAAO;AAAA,QAAC;AAExE,eAAOA;AAAA,MAET,EAAG;AAAA,IAEL,GAAG,KAAK,OAAI;AAAA;AAAA;;;AC3aZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,iBAAiB,eACnB,SAAS,SAAS,OAAO,QAAQ;AAAE,iBAAS,OAAO,QAAQ;AAAE,cAAI,QAAQ,KAAK,QAAQ,GAAG,EAAG,OAAM,GAAG,IAAI,OAAO,GAAG;AAAA,QAAG;AAAE,iBAAS,OAAO;AAAE,eAAK,cAAc;AAAA,QAAO;AAAE,aAAK,YAAY,OAAO;AAAW,cAAM,YAAY,IAAI,KAAK;AAAG,cAAM,YAAY,OAAO;AAAW,eAAO;AAAA,MAAO,GACzR,UAAU,CAAC,EAAE;AAEf,sBAAgB;AAEhB,aAAO,UAAU,kBAAmB,SAAS,YAAY;AACvD,eAAOC,kBAAiB,UAAU;AAElC,iBAASA,iBAAgB,SAAS;AAChC,UAAAA,iBAAgB,UAAU,YAAY,KAAK,MAAM,OAAO;AAAA,QAC1D;AAEA,QAAAA,iBAAgB,UAAU,WAAW,SAAS,KAAK,SAAS;AAC1D,cAAI,OAAO,GAAG,KAAK,GAAG;AACtB,oBAAU,KAAK,cAAc,OAAO;AACpC,cAAI;AACJ,gBAAM,IAAI;AACV,eAAK,IAAI,GAAG,MAAM,IAAI,QAAQ,IAAI,KAAK,KAAK;AAC1C,oBAAQ,IAAI,CAAC;AACb,iBAAK,KAAK,eAAe,OAAO,SAAS,CAAC;AAAA,UAC5C;AACA,cAAI,QAAQ,UAAU,EAAE,MAAM,CAAC,QAAQ,QAAQ,MAAM,MAAM,QAAQ,SAAS;AAC1E,gBAAI,EAAE,MAAM,GAAG,CAAC,QAAQ,QAAQ,MAAM;AAAA,UACxC;AACA,iBAAO;AAAA,QACT;AAEA,eAAOA;AAAA,MAET,EAAG,aAAa;AAAA,IAElB,GAAG,KAAK,OAAI;AAAA;AAAA;;;AClCZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,UAAU,qBAAqB,sBAAsB,aAAa,SAAS,iBAAiB,gBAAgB,eAC9G,SAAS,SAAS,OAAO,QAAQ;AAAE,iBAAS,OAAO,QAAQ;AAAE,cAAI,QAAQ,KAAK,QAAQ,GAAG,EAAG,OAAM,GAAG,IAAI,OAAO,GAAG;AAAA,QAAG;AAAE,iBAAS,OAAO;AAAE,eAAK,cAAc;AAAA,QAAO;AAAE,aAAK,YAAY,OAAO;AAAW,cAAM,YAAY,IAAI,KAAK;AAAG,cAAM,YAAY,OAAO;AAAW,eAAO;AAAA,MAAO,GACzR,UAAU,CAAC,EAAE;AAEf,sBAAgB,kBAAqB;AAErC,6BAAuB;AAEvB,4BAAsB;AAEtB,gBAAU;AAEV,iBAAW;AAEX,uBAAiB;AAEjB,wBAAkB;AAElB,aAAO,UAAU,cAAe,SAAS,YAAY;AACnD,eAAOC,cAAa,UAAU;AAE9B,iBAASA,aAAY,SAAS;AAC5B,UAAAA,aAAY,UAAU,YAAY,KAAK,MAAM,IAAI;AACjD,eAAK,OAAO;AACZ,eAAK,OAAO,SAAS;AACrB,eAAK,cAAc;AACnB,eAAK,YAAY,IAAI,oBAAoB;AACzC,sBAAY,UAAU,CAAC;AACvB,cAAI,CAAC,QAAQ,QAAQ;AACnB,oBAAQ,SAAS,IAAI,gBAAgB;AAAA,UACvC;AACA,eAAK,UAAU;AACf,eAAK,YAAY,IAAI,eAAe,OAAO;AAAA,QAC7C;AAEA,eAAO,eAAeA,aAAY,WAAW,kBAAkB;AAAA,UAC7D,OAAO,IAAI,qBAAqB;AAAA,QAClC,CAAC;AAED,eAAO,eAAeA,aAAY,WAAW,WAAW;AAAA,UACtD,KAAK,WAAW;AACd,gBAAI,OAAO,GAAG,KAAK;AACnB,kBAAM,KAAK;AACX,iBAAK,IAAI,GAAG,MAAM,IAAI,QAAQ,IAAI,KAAK,KAAK;AAC1C,sBAAQ,IAAI,CAAC;AACb,kBAAI,MAAM,SAAS,SAAS,SAAS;AACnC,uBAAO;AAAA,cACT;AAAA,YACF;AACA,mBAAO;AAAA,UACT;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,aAAY,WAAW,mBAAmB;AAAA,UAC9D,KAAK,WAAW;AACd,mBAAO,KAAK,cAAc;AAAA,UAC5B;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,aAAY,WAAW,iBAAiB;AAAA,UAC5D,KAAK,WAAW;AACd,mBAAO;AAAA,UACT;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,aAAY,WAAW,uBAAuB;AAAA,UAClE,KAAK,WAAW;AACd,mBAAO;AAAA,UACT;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,aAAY,WAAW,eAAe;AAAA,UAC1D,KAAK,WAAW;AACd,gBAAI,KAAK,SAAS,WAAW,KAAK,KAAK,SAAS,CAAC,EAAE,SAAS,SAAS,aAAa;AAChF,qBAAO,KAAK,SAAS,CAAC,EAAE;AAAA,YAC1B,OAAO;AACL,qBAAO;AAAA,YACT;AAAA,UACF;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,aAAY,WAAW,iBAAiB;AAAA,UAC5D,KAAK,WAAW;AACd,gBAAI,KAAK,SAAS,WAAW,KAAK,KAAK,SAAS,CAAC,EAAE,SAAS,SAAS,aAAa;AAChF,qBAAO,KAAK,SAAS,CAAC,EAAE,eAAe;AAAA,YACzC,OAAO;AACL,qBAAO;AAAA,YACT;AAAA,UACF;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,aAAY,WAAW,cAAc;AAAA,UACzD,KAAK,WAAW;AACd,gBAAI,KAAK,SAAS,WAAW,KAAK,KAAK,SAAS,CAAC,EAAE,SAAS,SAAS,aAAa;AAChF,qBAAO,KAAK,SAAS,CAAC,EAAE;AAAA,YAC1B,OAAO;AACL,qBAAO;AAAA,YACT;AAAA,UACF;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,aAAY,WAAW,OAAO;AAAA,UAClD,KAAK,WAAW;AACd,mBAAO,KAAK;AAAA,UACd;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,aAAY,WAAW,UAAU;AAAA,UACrD,KAAK,WAAW;AACd,mBAAO;AAAA,UACT;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,aAAY,WAAW,cAAc;AAAA,UACzD,KAAK,WAAW;AACd,mBAAO;AAAA,UACT;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,aAAY,WAAW,gBAAgB;AAAA,UAC3D,KAAK,WAAW;AACd,mBAAO;AAAA,UACT;AAAA,QACF,CAAC;AAED,eAAO,eAAeA,aAAY,WAAW,eAAe;AAAA,UAC1D,KAAK,WAAW;AACd,mBAAO;AAAA,UACT;AAAA,QACF,CAAC;AAED,QAAAA,aAAY,UAAU,MAAM,SAAS,QAAQ;AAC3C,cAAI;AACJ,0BAAgB,CAAC;AACjB,cAAI,CAAC,QAAQ;AACX,qBAAS,KAAK,QAAQ;AAAA,UACxB,WAAW,cAAc,MAAM,GAAG;AAChC,4BAAgB;AAChB,qBAAS,KAAK,QAAQ;AAAA,UACxB;AACA,iBAAO,OAAO,SAAS,MAAM,OAAO,cAAc,aAAa,CAAC;AAAA,QAClE;AAEA,QAAAA,aAAY,UAAU,WAAW,SAAS,SAAS;AACjD,iBAAO,KAAK,QAAQ,OAAO,SAAS,MAAM,KAAK,QAAQ,OAAO,cAAc,OAAO,CAAC;AAAA,QACtF;AAEA,QAAAA,aAAY,UAAU,gBAAgB,SAAS,SAAS;AACtD,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,aAAY,UAAU,yBAAyB,WAAW;AACxD,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,aAAY,UAAU,iBAAiB,SAAS,MAAM;AACpD,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,aAAY,UAAU,gBAAgB,SAAS,MAAM;AACnD,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,aAAY,UAAU,qBAAqB,SAAS,MAAM;AACxD,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,aAAY,UAAU,8BAA8B,SAAS,QAAQ,MAAM;AACzE,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,aAAY,UAAU,kBAAkB,SAAS,MAAM;AACrD,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,aAAY,UAAU,wBAAwB,SAAS,MAAM;AAC3D,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,aAAY,UAAU,uBAAuB,SAAS,SAAS;AAC7D,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,aAAY,UAAU,aAAa,SAAS,cAAc,MAAM;AAC9D,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,aAAY,UAAU,kBAAkB,SAAS,cAAc,eAAe;AAC5E,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,aAAY,UAAU,oBAAoB,SAAS,cAAc,eAAe;AAC9E,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,aAAY,UAAU,yBAAyB,SAAS,cAAc,WAAW;AAC/E,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,aAAY,UAAU,iBAAiB,SAAS,WAAW;AACzD,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,aAAY,UAAU,YAAY,SAAS,QAAQ;AACjD,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,aAAY,UAAU,oBAAoB,WAAW;AACnD,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,aAAY,UAAU,aAAa,SAAS,MAAM,cAAc,eAAe;AAC7E,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,aAAY,UAAU,yBAAyB,SAAS,YAAY;AAClE,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,aAAY,UAAU,cAAc,SAAS,gBAAgB;AAC3D,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,aAAY,UAAU,cAAc,WAAW;AAC7C,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,aAAY,UAAU,qBAAqB,SAAS,MAAM,YAAY,QAAQ;AAC5E,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,QAAAA,aAAY,UAAU,mBAAmB,SAAS,MAAM,YAAY,QAAQ;AAC1E,gBAAM,IAAI,MAAM,wCAAwC,KAAK,UAAU,CAAC;AAAA,QAC1E;AAEA,eAAOA;AAAA,MAET,EAAG,OAAO;AAAA,IAEZ,GAAG,KAAK,OAAI;AAAA;AAAA;;;ACjPZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,UAAU,aAAa,cAAc,UAAU,YAAY,eAAe,eAAe,cAAc,gBAAgB,gBAAgB,YAAY,aAAa,eAAe,YAAY,0BAA0B,QAAQ,iBAAiB,gBAAgB,SAAS,UAAU,YAAY,UAAU,eAAe,KACxT,UAAU,CAAC,EAAE;AAEf,YAAM,mBAAsB,WAAW,IAAI,UAAU,aAAa,IAAI,YAAY,gBAAgB,IAAI,eAAe,WAAW,IAAI;AAEpI,iBAAW;AAEX,oBAAc;AAEd,mBAAa;AAEb,iBAAW;AAEX,mBAAa;AAEb,eAAS;AAET,gBAAU;AAEV,iCAA2B;AAE3B,uBAAiB;AAEjB,mBAAa;AAEb,sBAAgB;AAEhB,qBAAe;AAEf,sBAAgB;AAEhB,uBAAiB;AAEjB,qBAAe;AAEf,uBAAiB;AAEjB,wBAAkB;AAElB,oBAAc;AAEd,aAAO,UAAU,gBAAiB,WAAW;AAC3C,iBAASC,eAAc,SAAS,QAAQ,OAAO;AAC7C,cAAI;AACJ,eAAK,OAAO;AACZ,eAAK,OAAO,SAAS;AACrB,sBAAY,UAAU,CAAC;AACvB,0BAAgB,CAAC;AACjB,cAAI,CAAC,QAAQ,QAAQ;AACnB,oBAAQ,SAAS,IAAI,gBAAgB;AAAA,UACvC,WAAW,cAAc,QAAQ,MAAM,GAAG;AACxC,4BAAgB,QAAQ;AACxB,oBAAQ,SAAS,IAAI,gBAAgB;AAAA,UACvC;AACA,eAAK,UAAU;AACf,eAAK,SAAS,QAAQ;AACtB,eAAK,gBAAgB,KAAK,OAAO,cAAc,aAAa;AAC5D,eAAK,YAAY,IAAI,eAAe,OAAO;AAC3C,eAAK,iBAAiB,UAAU,WAAW;AAAA,UAAC;AAC5C,eAAK,gBAAgB,SAAS,WAAW;AAAA,UAAC;AAC1C,eAAK,cAAc;AACnB,eAAK,eAAe;AACpB,eAAK,WAAW,CAAC;AACjB,eAAK,kBAAkB;AACvB,eAAK,oBAAoB;AACzB,eAAK,OAAO;AAAA,QACd;AAEA,QAAAA,eAAc,UAAU,kBAAkB,SAAS,MAAM;AACvD,cAAI,KAAK,SAAS,YAAY,OAAO,GAAG,KAAK,MAAM;AACnD,kBAAQ,KAAK,MAAM;AAAA,YACjB,KAAK,SAAS;AACZ,mBAAK,MAAM,KAAK,KAAK;AACrB;AAAA,YACF,KAAK,SAAS;AACZ,mBAAK,QAAQ,KAAK,KAAK;AACvB;AAAA,YACF,KAAK,SAAS;AACZ,2BAAa,CAAC;AACd,qBAAO,KAAK;AACZ,mBAAK,WAAW,MAAM;AACpB,oBAAI,CAAC,QAAQ,KAAK,MAAM,OAAO,EAAG;AAClC,sBAAM,KAAK,OAAO;AAClB,2BAAW,OAAO,IAAI,IAAI;AAAA,cAC5B;AACA,mBAAK,KAAK,KAAK,MAAM,UAAU;AAC/B;AAAA,YACF,KAAK,SAAS;AACZ,mBAAK,MAAM;AACX;AAAA,YACF,KAAK,SAAS;AACZ,mBAAK,IAAI,KAAK,KAAK;AACnB;AAAA,YACF,KAAK,SAAS;AACZ,mBAAK,KAAK,KAAK,KAAK;AACpB;AAAA,YACF,KAAK,SAAS;AACZ,mBAAK,YAAY,KAAK,QAAQ,KAAK,KAAK;AACxC;AAAA,YACF;AACE,oBAAM,IAAI,MAAM,yDAAyD,KAAK,YAAY,IAAI;AAAA,UAClG;AACA,iBAAO,KAAK;AACZ,eAAK,IAAI,GAAG,MAAM,KAAK,QAAQ,IAAI,KAAK,KAAK;AAC3C,oBAAQ,KAAK,CAAC;AACd,iBAAK,gBAAgB,KAAK;AAC1B,gBAAI,MAAM,SAAS,SAAS,SAAS;AACnC,mBAAK,GAAG;AAAA,YACV;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,QAAQ,WAAW;AACzC,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,OAAO,SAAS,MAAM,YAAY,MAAM;AAC9D,cAAI;AACJ,cAAI,QAAQ,MAAM;AAChB,kBAAM,IAAI,MAAM,oBAAoB;AAAA,UACtC;AACA,cAAI,KAAK,QAAQ,KAAK,iBAAiB,IAAI;AACzC,kBAAM,IAAI,MAAM,2CAA2C,KAAK,UAAU,IAAI,CAAC;AAAA,UACjF;AACA,eAAK,YAAY;AACjB,iBAAO,SAAS,IAAI;AACpB,cAAI,cAAc,MAAM;AACtB,yBAAa,CAAC;AAAA,UAChB;AACA,uBAAa,SAAS,UAAU;AAChC,cAAI,CAAC,SAAS,UAAU,GAAG;AACzB,mBAAO,CAAC,YAAY,IAAI,GAAG,OAAO,KAAK,CAAC,GAAG,aAAa,KAAK,CAAC;AAAA,UAChE;AACA,eAAK,cAAc,IAAI,WAAW,MAAM,MAAM,UAAU;AACxD,eAAK,YAAY,WAAW;AAC5B,eAAK;AACL,eAAK,SAAS,KAAK,YAAY,IAAI,KAAK;AACxC,cAAI,QAAQ,MAAM;AAChB,iBAAK,KAAK,IAAI;AAAA,UAChB;AACA,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,UAAU,SAAS,MAAM,YAAY,MAAM;AACjE,cAAI,OAAO,GAAG,KAAK,mBAAmB,MAAM;AAC5C,cAAI,KAAK,eAAe,KAAK,YAAY,SAAS,SAAS,SAAS;AAClE,iBAAK,WAAW,MAAM,MAAM,SAAS;AAAA,UACvC,OAAO;AACL,gBAAI,MAAM,QAAQ,IAAI,KAAK,SAAS,IAAI,KAAK,WAAW,IAAI,GAAG;AAC7D,kCAAoB,KAAK,QAAQ;AACjC,mBAAK,QAAQ,eAAe;AAC5B,qBAAO,IAAI,YAAY,KAAK,OAAO,EAAE,QAAQ,WAAW;AACxD,mBAAK,QAAQ,IAAI;AACjB,mBAAK,QAAQ,eAAe;AAC5B,qBAAO,KAAK;AACZ,mBAAK,IAAI,GAAG,MAAM,KAAK,QAAQ,IAAI,KAAK,KAAK;AAC3C,wBAAQ,KAAK,CAAC;AACd,qBAAK,gBAAgB,KAAK;AAC1B,oBAAI,MAAM,SAAS,SAAS,SAAS;AACnC,uBAAK,GAAG;AAAA,gBACV;AAAA,cACF;AAAA,YACF,OAAO;AACL,mBAAK,KAAK,MAAM,YAAY,IAAI;AAAA,YAClC;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,YAAY,SAAS,MAAM,OAAO;AACxD,cAAI,SAAS;AACb,cAAI,CAAC,KAAK,eAAe,KAAK,YAAY,UAAU;AAClD,kBAAM,IAAI,MAAM,8EAA8E,KAAK,UAAU,IAAI,CAAC;AAAA,UACpH;AACA,cAAI,QAAQ,MAAM;AAChB,mBAAO,SAAS,IAAI;AAAA,UACtB;AACA,cAAI,SAAS,IAAI,GAAG;AAClB,iBAAK,WAAW,MAAM;AACpB,kBAAI,CAAC,QAAQ,KAAK,MAAM,OAAO,EAAG;AAClC,yBAAW,KAAK,OAAO;AACvB,mBAAK,UAAU,SAAS,QAAQ;AAAA,YAClC;AAAA,UACF,OAAO;AACL,gBAAI,WAAW,KAAK,GAAG;AACrB,sBAAQ,MAAM,MAAM;AAAA,YACtB;AACA,gBAAI,KAAK,QAAQ,sBAAuB,SAAS,MAAO;AACtD,mBAAK,YAAY,QAAQ,IAAI,IAAI,IAAI,aAAa,MAAM,MAAM,EAAE;AAAA,YAClE,WAAW,SAAS,MAAM;AACxB,mBAAK,YAAY,QAAQ,IAAI,IAAI,IAAI,aAAa,MAAM,MAAM,KAAK;AAAA,YACrE;AAAA,UACF;AACA,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,OAAO,SAAS,OAAO;AAC7C,cAAI;AACJ,eAAK,YAAY;AACjB,iBAAO,IAAI,QAAQ,MAAM,KAAK;AAC9B,eAAK,OAAO,KAAK,OAAO,KAAK,MAAM,KAAK,eAAe,KAAK,eAAe,CAAC,GAAG,KAAK,eAAe,CAAC;AACpG,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,QAAQ,SAAS,OAAO;AAC9C,cAAI;AACJ,eAAK,YAAY;AACjB,iBAAO,IAAI,SAAS,MAAM,KAAK;AAC/B,eAAK,OAAO,KAAK,OAAO,MAAM,MAAM,KAAK,eAAe,KAAK,eAAe,CAAC,GAAG,KAAK,eAAe,CAAC;AACrG,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,UAAU,SAAS,OAAO;AAChD,cAAI;AACJ,eAAK,YAAY;AACjB,iBAAO,IAAI,WAAW,MAAM,KAAK;AACjC,eAAK,OAAO,KAAK,OAAO,QAAQ,MAAM,KAAK,eAAe,KAAK,eAAe,CAAC,GAAG,KAAK,eAAe,CAAC;AACvG,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,MAAM,SAAS,OAAO;AAC5C,cAAI;AACJ,eAAK,YAAY;AACjB,iBAAO,IAAI,OAAO,MAAM,KAAK;AAC7B,eAAK,OAAO,KAAK,OAAO,IAAI,MAAM,KAAK,eAAe,KAAK,eAAe,CAAC,GAAG,KAAK,eAAe,CAAC;AACnG,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,cAAc,SAAS,QAAQ,OAAO;AAC5D,cAAI,GAAG,WAAW,UAAU,KAAK;AACjC,eAAK,YAAY;AACjB,cAAI,UAAU,MAAM;AAClB,qBAAS,SAAS,MAAM;AAAA,UAC1B;AACA,cAAI,SAAS,MAAM;AACjB,oBAAQ,SAAS,KAAK;AAAA,UACxB;AACA,cAAI,MAAM,QAAQ,MAAM,GAAG;AACzB,iBAAK,IAAI,GAAG,MAAM,OAAO,QAAQ,IAAI,KAAK,KAAK;AAC7C,0BAAY,OAAO,CAAC;AACpB,mBAAK,YAAY,SAAS;AAAA,YAC5B;AAAA,UACF,WAAW,SAAS,MAAM,GAAG;AAC3B,iBAAK,aAAa,QAAQ;AACxB,kBAAI,CAAC,QAAQ,KAAK,QAAQ,SAAS,EAAG;AACtC,yBAAW,OAAO,SAAS;AAC3B,mBAAK,YAAY,WAAW,QAAQ;AAAA,YACtC;AAAA,UACF,OAAO;AACL,gBAAI,WAAW,KAAK,GAAG;AACrB,sBAAQ,MAAM,MAAM;AAAA,YACtB;AACA,mBAAO,IAAI,yBAAyB,MAAM,QAAQ,KAAK;AACvD,iBAAK,OAAO,KAAK,OAAO,sBAAsB,MAAM,KAAK,eAAe,KAAK,eAAe,CAAC,GAAG,KAAK,eAAe,CAAC;AAAA,UACvH;AACA,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,cAAc,SAAS,SAAS,UAAU,YAAY;AAC5E,cAAI;AACJ,eAAK,YAAY;AACjB,cAAI,KAAK,iBAAiB;AACxB,kBAAM,IAAI,MAAM,uCAAuC;AAAA,UACzD;AACA,iBAAO,IAAI,eAAe,MAAM,SAAS,UAAU,UAAU;AAC7D,eAAK,OAAO,KAAK,OAAO,YAAY,MAAM,KAAK,eAAe,KAAK,eAAe,CAAC,GAAG,KAAK,eAAe,CAAC;AAC3G,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,UAAU,SAAS,MAAM,OAAO,OAAO;AAC7D,eAAK,YAAY;AACjB,cAAI,QAAQ,MAAM;AAChB,kBAAM,IAAI,MAAM,yBAAyB;AAAA,UAC3C;AACA,cAAI,KAAK,MAAM;AACb,kBAAM,IAAI,MAAM,uCAAuC;AAAA,UACzD;AACA,eAAK,cAAc,IAAI,WAAW,MAAM,OAAO,KAAK;AACpD,eAAK,YAAY,eAAe;AAChC,eAAK,YAAY,WAAW;AAC5B,eAAK;AACL,eAAK,SAAS,KAAK,YAAY,IAAI,KAAK;AACxC,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,aAAa,SAAS,MAAM,OAAO;AACzD,cAAI;AACJ,eAAK,YAAY;AACjB,iBAAO,IAAI,cAAc,MAAM,MAAM,KAAK;AAC1C,eAAK,OAAO,KAAK,OAAO,WAAW,MAAM,KAAK,eAAe,KAAK,eAAe,CAAC,GAAG,KAAK,eAAe,CAAC;AAC1G,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,UAAU,SAAS,aAAa,eAAe,eAAe,kBAAkB,cAAc;AACpH,cAAI;AACJ,eAAK,YAAY;AACjB,iBAAO,IAAI,cAAc,MAAM,aAAa,eAAe,eAAe,kBAAkB,YAAY;AACxG,eAAK,OAAO,KAAK,OAAO,WAAW,MAAM,KAAK,eAAe,KAAK,eAAe,CAAC,GAAG,KAAK,eAAe,CAAC;AAC1G,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,SAAS,SAAS,MAAM,OAAO;AACrD,cAAI;AACJ,eAAK,YAAY;AACjB,iBAAO,IAAI,aAAa,MAAM,OAAO,MAAM,KAAK;AAChD,eAAK,OAAO,KAAK,OAAO,UAAU,MAAM,KAAK,eAAe,KAAK,eAAe,CAAC,GAAG,KAAK,eAAe,CAAC;AACzG,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,UAAU,SAAS,MAAM,OAAO;AACtD,cAAI;AACJ,eAAK,YAAY;AACjB,iBAAO,IAAI,aAAa,MAAM,MAAM,MAAM,KAAK;AAC/C,eAAK,OAAO,KAAK,OAAO,UAAU,MAAM,KAAK,eAAe,KAAK,eAAe,CAAC,GAAG,KAAK,eAAe,CAAC;AACzG,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,WAAW,SAAS,MAAM,OAAO;AACvD,cAAI;AACJ,eAAK,YAAY;AACjB,iBAAO,IAAI,eAAe,MAAM,MAAM,KAAK;AAC3C,eAAK,OAAO,KAAK,OAAO,YAAY,MAAM,KAAK,eAAe,KAAK,eAAe,CAAC,GAAG,KAAK,eAAe,CAAC;AAC3G,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,KAAK,WAAW;AACtC,cAAI,KAAK,eAAe,GAAG;AACzB,kBAAM,IAAI,MAAM,kCAAkC;AAAA,UACpD;AACA,cAAI,KAAK,aAAa;AACpB,gBAAI,KAAK,YAAY,UAAU;AAC7B,mBAAK,UAAU,KAAK,WAAW;AAAA,YACjC,OAAO;AACL,mBAAK,SAAS,KAAK,WAAW;AAAA,YAChC;AACA,iBAAK,cAAc;AAAA,UACrB,OAAO;AACL,iBAAK,UAAU,KAAK,SAAS,KAAK,YAAY,CAAC;AAAA,UACjD;AACA,iBAAO,KAAK,SAAS,KAAK,YAAY;AACtC,eAAK;AACL,iBAAO;AAAA,QACT;AAEA,QAAAA,eAAc,UAAU,MAAM,WAAW;AACvC,iBAAO,KAAK,gBAAgB,GAAG;AAC7B,iBAAK,GAAG;AAAA,UACV;AACA,iBAAO,KAAK,MAAM;AAAA,QACpB;AAEA,QAAAA,eAAc,UAAU,cAAc,WAAW;AAC/C,cAAI,KAAK,aAAa;AACpB,iBAAK,YAAY,WAAW;AAC5B,mBAAO,KAAK,SAAS,KAAK,WAAW;AAAA,UACvC;AAAA,QACF;AAEA,QAAAA,eAAc,UAAU,WAAW,SAAS,MAAM;AAChD,cAAI,KAAK,OAAO,MAAM;AACtB,cAAI,CAAC,KAAK,QAAQ;AAChB,gBAAI,CAAC,KAAK,QAAQ,KAAK,iBAAiB,KAAK,KAAK,SAAS,SAAS,SAAS;AAC3E,mBAAK,OAAO;AAAA,YACd;AACA,oBAAQ;AACR,gBAAI,KAAK,SAAS,SAAS,SAAS;AAClC,mBAAK,cAAc,QAAQ,YAAY;AACvC,sBAAQ,KAAK,OAAO,OAAO,MAAM,KAAK,eAAe,KAAK,YAAY,IAAI,MAAM,KAAK;AACrF,qBAAO,KAAK;AACZ,mBAAK,QAAQ,MAAM;AACjB,oBAAI,CAAC,QAAQ,KAAK,MAAM,IAAI,EAAG;AAC/B,sBAAM,KAAK,IAAI;AACf,yBAAS,KAAK,OAAO,UAAU,KAAK,KAAK,eAAe,KAAK,YAAY;AAAA,cAC3E;AACA,wBAAU,KAAK,WAAW,MAAM,QAAQ,KAAK,OAAO,QAAQ,MAAM,KAAK,eAAe,KAAK,YAAY;AACvG,mBAAK,cAAc,QAAQ,YAAY;AAAA,YACzC,OAAO;AACL,mBAAK,cAAc,QAAQ,YAAY;AACvC,sBAAQ,KAAK,OAAO,OAAO,MAAM,KAAK,eAAe,KAAK,YAAY,IAAI,eAAe,KAAK;AAC9F,kBAAI,KAAK,SAAS,KAAK,OAAO;AAC5B,yBAAS,cAAc,KAAK,QAAQ,QAAQ,KAAK,QAAQ;AAAA,cAC3D,WAAW,KAAK,OAAO;AACrB,yBAAS,cAAc,KAAK,QAAQ;AAAA,cACtC;AACA,kBAAI,KAAK,UAAU;AACjB,yBAAS;AACT,qBAAK,cAAc,QAAQ,YAAY;AAAA,cACzC,OAAO;AACL,qBAAK,cAAc,QAAQ,YAAY;AACvC,yBAAS;AAAA,cACX;AACA,uBAAS,KAAK,OAAO,QAAQ,MAAM,KAAK,eAAe,KAAK,YAAY;AAAA,YAC1E;AACA,iBAAK,OAAO,OAAO,KAAK,YAAY;AACpC,mBAAO,KAAK,SAAS;AAAA,UACvB;AAAA,QACF;AAEA,QAAAA,eAAc,UAAU,YAAY,SAAS,MAAM;AACjD,cAAI;AACJ,cAAI,CAAC,KAAK,UAAU;AAClB,oBAAQ;AACR,iBAAK,cAAc,QAAQ,YAAY;AACvC,gBAAI,KAAK,SAAS,SAAS,SAAS;AAClC,sBAAQ,KAAK,OAAO,OAAO,MAAM,KAAK,eAAe,KAAK,YAAY,IAAI,OAAO,KAAK,OAAO,MAAM,KAAK,OAAO,QAAQ,MAAM,KAAK,eAAe,KAAK,YAAY;AAAA,YACpK,OAAO;AACL,sBAAQ,KAAK,OAAO,OAAO,MAAM,KAAK,eAAe,KAAK,YAAY,IAAI,OAAO,KAAK,OAAO,QAAQ,MAAM,KAAK,eAAe,KAAK,YAAY;AAAA,YAClJ;AACA,iBAAK,cAAc,QAAQ,YAAY;AACvC,iBAAK,OAAO,OAAO,KAAK,YAAY;AACpC,mBAAO,KAAK,WAAW;AAAA,UACzB;AAAA,QACF;AAEA,QAAAA,eAAc,UAAU,SAAS,SAAS,OAAO,OAAO;AACtD,eAAK,kBAAkB;AACvB,iBAAO,KAAK,eAAe,OAAO,QAAQ,CAAC;AAAA,QAC7C;AAEA,QAAAA,eAAc,UAAU,QAAQ,WAAW;AACzC,eAAK,oBAAoB;AACzB,iBAAO,KAAK,cAAc;AAAA,QAC5B;AAEA,QAAAA,eAAc,UAAU,YAAY,SAAS,MAAM;AACjD,cAAI,QAAQ,MAAM;AAChB,mBAAO;AAAA,UACT,OAAO;AACL,mBAAO,YAAY,OAAO;AAAA,UAC5B;AAAA,QACF;AAEA,QAAAA,eAAc,UAAU,MAAM,WAAW;AACvC,iBAAO,KAAK,QAAQ,MAAM,MAAM,SAAS;AAAA,QAC3C;AAEA,QAAAA,eAAc,UAAU,MAAM,SAAS,MAAM,YAAY,MAAM;AAC7D,iBAAO,KAAK,KAAK,MAAM,YAAY,IAAI;AAAA,QACzC;AAEA,QAAAA,eAAc,UAAU,MAAM,SAAS,OAAO;AAC5C,iBAAO,KAAK,KAAK,KAAK;AAAA,QACxB;AAEA,QAAAA,eAAc,UAAU,MAAM,SAAS,OAAO;AAC5C,iBAAO,KAAK,MAAM,KAAK;AAAA,QACzB;AAEA,QAAAA,eAAc,UAAU,MAAM,SAAS,OAAO;AAC5C,iBAAO,KAAK,QAAQ,KAAK;AAAA,QAC3B;AAEA,QAAAA,eAAc,UAAU,MAAM,SAAS,QAAQ,OAAO;AACpD,iBAAO,KAAK,YAAY,QAAQ,KAAK;AAAA,QACvC;AAEA,QAAAA,eAAc,UAAU,MAAM,SAAS,SAAS,UAAU,YAAY;AACpE,iBAAO,KAAK,YAAY,SAAS,UAAU,UAAU;AAAA,QACvD;AAEA,QAAAA,eAAc,UAAU,MAAM,SAAS,MAAM,OAAO,OAAO;AACzD,iBAAO,KAAK,QAAQ,MAAM,OAAO,KAAK;AAAA,QACxC;AAEA,QAAAA,eAAc,UAAU,IAAI,SAAS,MAAM,YAAY,MAAM;AAC3D,iBAAO,KAAK,QAAQ,MAAM,YAAY,IAAI;AAAA,QAC5C;AAEA,QAAAA,eAAc,UAAU,IAAI,SAAS,MAAM,YAAY,MAAM;AAC3D,iBAAO,KAAK,KAAK,MAAM,YAAY,IAAI;AAAA,QACzC;AAEA,QAAAA,eAAc,UAAU,IAAI,SAAS,OAAO;AAC1C,iBAAO,KAAK,KAAK,KAAK;AAAA,QACxB;AAEA,QAAAA,eAAc,UAAU,IAAI,SAAS,OAAO;AAC1C,iBAAO,KAAK,MAAM,KAAK;AAAA,QACzB;AAEA,QAAAA,eAAc,UAAU,IAAI,SAAS,OAAO;AAC1C,iBAAO,KAAK,QAAQ,KAAK;AAAA,QAC3B;AAEA,QAAAA,eAAc,UAAU,IAAI,SAAS,OAAO;AAC1C,iBAAO,KAAK,IAAI,KAAK;AAAA,QACvB;AAEA,QAAAA,eAAc,UAAU,IAAI,SAAS,QAAQ,OAAO;AAClD,iBAAO,KAAK,YAAY,QAAQ,KAAK;AAAA,QACvC;AAEA,QAAAA,eAAc,UAAU,MAAM,WAAW;AACvC,cAAI,KAAK,eAAe,KAAK,YAAY,SAAS,SAAS,SAAS;AAClE,mBAAO,KAAK,QAAQ,MAAM,MAAM,SAAS;AAAA,UAC3C,OAAO;AACL,mBAAO,KAAK,UAAU,MAAM,MAAM,SAAS;AAAA,UAC7C;AAAA,QACF;AAEA,QAAAA,eAAc,UAAU,IAAI,WAAW;AACrC,cAAI,KAAK,eAAe,KAAK,YAAY,SAAS,SAAS,SAAS;AAClE,mBAAO,KAAK,QAAQ,MAAM,MAAM,SAAS;AAAA,UAC3C,OAAO;AACL,mBAAO,KAAK,UAAU,MAAM,MAAM,SAAS;AAAA,UAC7C;AAAA,QACF;AAEA,QAAAA,eAAc,UAAU,MAAM,SAAS,MAAM,OAAO;AAClD,iBAAO,KAAK,OAAO,MAAM,KAAK;AAAA,QAChC;AAEA,QAAAA,eAAc,UAAU,OAAO,SAAS,MAAM,OAAO;AACnD,iBAAO,KAAK,QAAQ,MAAM,KAAK;AAAA,QACjC;AAEA,QAAAA,eAAc,UAAU,MAAM,SAAS,MAAM,OAAO;AAClD,iBAAO,KAAK,SAAS,MAAM,KAAK;AAAA,QAClC;AAEA,eAAOA;AAAA,MAET,EAAG;AAAA,IAEL,GAAG,KAAK,OAAI;AAAA;AAAA;;;AC/gBZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,UAAU,aAAa,iBAAiB,eAC1C,SAAS,SAAS,OAAO,QAAQ;AAAE,iBAAS,OAAO,QAAQ;AAAE,cAAI,QAAQ,KAAK,QAAQ,GAAG,EAAG,OAAM,GAAG,IAAI,OAAO,GAAG;AAAA,QAAG;AAAE,iBAAS,OAAO;AAAE,eAAK,cAAc;AAAA,QAAO;AAAE,aAAK,YAAY,OAAO;AAAW,cAAM,YAAY,IAAI,KAAK;AAAG,cAAM,YAAY,OAAO;AAAW,eAAO;AAAA,MAAO,GACzR,UAAU,CAAC,EAAE;AAEf,iBAAW;AAEX,sBAAgB;AAEhB,oBAAc;AAEd,aAAO,UAAU,kBAAmB,SAAS,YAAY;AACvD,eAAOC,kBAAiB,UAAU;AAElC,iBAASA,iBAAgB,QAAQ,SAAS;AACxC,eAAK,SAAS;AACd,UAAAA,iBAAgB,UAAU,YAAY,KAAK,MAAM,OAAO;AAAA,QAC1D;AAEA,QAAAA,iBAAgB,UAAU,UAAU,SAAS,MAAM,SAAS,OAAO;AACjE,cAAI,KAAK,kBAAkB,QAAQ,UAAU,YAAY,UAAU;AACjE,mBAAO;AAAA,UACT,OAAO;AACL,mBAAOA,iBAAgB,UAAU,QAAQ,KAAK,MAAM,MAAM,SAAS,KAAK;AAAA,UAC1E;AAAA,QACF;AAEA,QAAAA,iBAAgB,UAAU,WAAW,SAAS,KAAK,SAAS;AAC1D,cAAI,OAAO,GAAG,GAAG,GAAG,KAAK,MAAM,KAAK,MAAM;AAC1C,gBAAM,IAAI;AACV,eAAK,IAAI,IAAI,GAAG,MAAM,IAAI,QAAQ,IAAI,KAAK,IAAI,EAAE,GAAG;AAClD,oBAAQ,IAAI,CAAC;AACb,kBAAM,iBAAiB,MAAM,IAAI,SAAS,SAAS;AAAA,UACrD;AACA,oBAAU,KAAK,cAAc,OAAO;AACpC,iBAAO,IAAI;AACX,oBAAU,CAAC;AACX,eAAK,IAAI,GAAG,OAAO,KAAK,QAAQ,IAAI,MAAM,KAAK;AAC7C,oBAAQ,KAAK,CAAC;AACd,oBAAQ,KAAK,KAAK,eAAe,OAAO,SAAS,CAAC,CAAC;AAAA,UACrD;AACA,iBAAO;AAAA,QACT;AAEA,QAAAA,iBAAgB,UAAU,YAAY,SAAS,KAAK,SAAS,OAAO;AAClE,iBAAO,KAAK,OAAO,MAAMA,iBAAgB,UAAU,UAAU,KAAK,MAAM,KAAK,SAAS,KAAK,CAAC;AAAA,QAC9F;AAEA,QAAAA,iBAAgB,UAAU,QAAQ,SAAS,MAAM,SAAS,OAAO;AAC/D,iBAAO,KAAK,OAAO,MAAMA,iBAAgB,UAAU,MAAM,KAAK,MAAM,MAAM,SAAS,KAAK,CAAC;AAAA,QAC3F;AAEA,QAAAA,iBAAgB,UAAU,UAAU,SAAS,MAAM,SAAS,OAAO;AACjE,iBAAO,KAAK,OAAO,MAAMA,iBAAgB,UAAU,QAAQ,KAAK,MAAM,MAAM,SAAS,KAAK,CAAC;AAAA,QAC7F;AAEA,QAAAA,iBAAgB,UAAU,cAAc,SAAS,MAAM,SAAS,OAAO;AACrE,iBAAO,KAAK,OAAO,MAAMA,iBAAgB,UAAU,YAAY,KAAK,MAAM,MAAM,SAAS,KAAK,CAAC;AAAA,QACjG;AAEA,QAAAA,iBAAgB,UAAU,UAAU,SAAS,MAAM,SAAS,OAAO;AACjE,cAAI,OAAO,GAAG,KAAK;AACnB,oBAAU,QAAQ;AAClB,eAAK,SAAS,MAAM,SAAS,KAAK;AAClC,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,OAAO,MAAM,KAAK,OAAO,MAAM,SAAS,KAAK,CAAC;AACnD,eAAK,OAAO,MAAM,eAAe,KAAK,KAAK,EAAE,IAAI;AACjD,cAAI,KAAK,SAAS,KAAK,OAAO;AAC5B,iBAAK,OAAO,MAAM,cAAc,KAAK,QAAQ,QAAQ,KAAK,QAAQ,GAAG;AAAA,UACvE,WAAW,KAAK,OAAO;AACrB,iBAAK,OAAO,MAAM,cAAc,KAAK,QAAQ,GAAG;AAAA,UAClD;AACA,cAAI,KAAK,SAAS,SAAS,GAAG;AAC5B,iBAAK,OAAO,MAAM,IAAI;AACtB,iBAAK,OAAO,MAAM,KAAK,QAAQ,MAAM,SAAS,KAAK,CAAC;AACpD,oBAAQ,QAAQ,YAAY;AAC5B,kBAAM,KAAK;AACX,iBAAK,IAAI,GAAG,MAAM,IAAI,QAAQ,IAAI,KAAK,KAAK;AAC1C,sBAAQ,IAAI,CAAC;AACb,mBAAK,eAAe,OAAO,SAAS,QAAQ,CAAC;AAAA,YAC/C;AACA,oBAAQ,QAAQ,YAAY;AAC5B,iBAAK,OAAO,MAAM,GAAG;AAAA,UACvB;AACA,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,OAAO,MAAM,QAAQ,mBAAmB,GAAG;AAChD,eAAK,OAAO,MAAM,KAAK,QAAQ,MAAM,SAAS,KAAK,CAAC;AACpD,kBAAQ,QAAQ,YAAY;AAC5B,iBAAO,KAAK,UAAU,MAAM,SAAS,KAAK;AAAA,QAC5C;AAEA,QAAAA,iBAAgB,UAAU,UAAU,SAAS,MAAM,SAAS,OAAO;AACjE,cAAI,KAAK,OAAO,gBAAgB,gBAAgB,GAAG,KAAK,MAAM,kBAAkB,KAAK;AACrF,oBAAU,QAAQ;AAClB,eAAK,SAAS,MAAM,SAAS,KAAK;AAClC,kBAAQ,QAAQ,YAAY;AAC5B,eAAK,OAAO,MAAM,KAAK,OAAO,MAAM,SAAS,KAAK,IAAI,MAAM,KAAK,IAAI;AACrE,gBAAM,KAAK;AACX,eAAK,QAAQ,KAAK;AAChB,gBAAI,CAAC,QAAQ,KAAK,KAAK,IAAI,EAAG;AAC9B,kBAAM,IAAI,IAAI;AACd,iBAAK,UAAU,KAAK,SAAS,KAAK;AAAA,UACpC;AACA,2BAAiB,KAAK,SAAS;AAC/B,2BAAiB,mBAAmB,IAAI,OAAO,KAAK,SAAS,CAAC;AAC9D,cAAI,mBAAmB,KAAK,KAAK,SAAS,MAAM,SAAS,GAAG;AAC1D,oBAAQ,EAAE,SAAS,SAAS,QAAQ,EAAE,SAAS,SAAS,QAAQ,EAAE,UAAU;AAAA,UAC9E,CAAC,GAAG;AACF,gBAAI,QAAQ,YAAY;AACtB,mBAAK,OAAO,MAAM,GAAG;AACrB,sBAAQ,QAAQ,YAAY;AAC5B,mBAAK,OAAO,MAAM,OAAO,KAAK,OAAO,GAAG;AAAA,YAC1C,OAAO;AACL,sBAAQ,QAAQ,YAAY;AAC5B,mBAAK,OAAO,MAAM,QAAQ,mBAAmB,IAAI;AAAA,YACnD;AAAA,UACF,WAAW,QAAQ,UAAU,mBAAmB,MAAM,eAAe,SAAS,SAAS,QAAQ,eAAe,SAAS,SAAS,QAAS,eAAe,SAAS,MAAO;AACtK,iBAAK,OAAO,MAAM,GAAG;AACrB,oBAAQ,QAAQ,YAAY;AAC5B,oBAAQ;AACR,+BAAmB;AACnB,iBAAK,eAAe,gBAAgB,SAAS,QAAQ,CAAC;AACtD,oBAAQ;AACR,+BAAmB;AACnB,oBAAQ,QAAQ,YAAY;AAC5B,iBAAK,OAAO,MAAM,OAAO,KAAK,OAAO,GAAG;AAAA,UAC1C,OAAO;AACL,iBAAK,OAAO,MAAM,MAAM,KAAK,QAAQ,MAAM,SAAS,KAAK,CAAC;AAC1D,oBAAQ,QAAQ,YAAY;AAC5B,mBAAO,KAAK;AACZ,iBAAK,IAAI,GAAG,MAAM,KAAK,QAAQ,IAAI,KAAK,KAAK;AAC3C,sBAAQ,KAAK,CAAC;AACd,mBAAK,eAAe,OAAO,SAAS,QAAQ,CAAC;AAAA,YAC/C;AACA,oBAAQ,QAAQ,YAAY;AAC5B,iBAAK,OAAO,MAAM,KAAK,OAAO,MAAM,SAAS,KAAK,IAAI,OAAO,KAAK,OAAO,GAAG;AAAA,UAC9E;AACA,eAAK,OAAO,MAAM,KAAK,QAAQ,MAAM,SAAS,KAAK,CAAC;AACpD,kBAAQ,QAAQ,YAAY;AAC5B,iBAAO,KAAK,UAAU,MAAM,SAAS,KAAK;AAAA,QAC5C;AAEA,QAAAA,iBAAgB,UAAU,wBAAwB,SAAS,MAAM,SAAS,OAAO;AAC/E,iBAAO,KAAK,OAAO,MAAMA,iBAAgB,UAAU,sBAAsB,KAAK,MAAM,MAAM,SAAS,KAAK,CAAC;AAAA,QAC3G;AAEA,QAAAA,iBAAgB,UAAU,MAAM,SAAS,MAAM,SAAS,OAAO;AAC7D,iBAAO,KAAK,OAAO,MAAMA,iBAAgB,UAAU,IAAI,KAAK,MAAM,MAAM,SAAS,KAAK,CAAC;AAAA,QACzF;AAEA,QAAAA,iBAAgB,UAAU,OAAO,SAAS,MAAM,SAAS,OAAO;AAC9D,iBAAO,KAAK,OAAO,MAAMA,iBAAgB,UAAU,KAAK,KAAK,MAAM,MAAM,SAAS,KAAK,CAAC;AAAA,QAC1F;AAEA,QAAAA,iBAAgB,UAAU,aAAa,SAAS,MAAM,SAAS,OAAO;AACpE,iBAAO,KAAK,OAAO,MAAMA,iBAAgB,UAAU,WAAW,KAAK,MAAM,MAAM,SAAS,KAAK,CAAC;AAAA,QAChG;AAEA,QAAAA,iBAAgB,UAAU,aAAa,SAAS,MAAM,SAAS,OAAO;AACpE,iBAAO,KAAK,OAAO,MAAMA,iBAAgB,UAAU,WAAW,KAAK,MAAM,MAAM,SAAS,KAAK,CAAC;AAAA,QAChG;AAEA,QAAAA,iBAAgB,UAAU,YAAY,SAAS,MAAM,SAAS,OAAO;AACnE,iBAAO,KAAK,OAAO,MAAMA,iBAAgB,UAAU,UAAU,KAAK,MAAM,MAAM,SAAS,KAAK,CAAC;AAAA,QAC/F;AAEA,QAAAA,iBAAgB,UAAU,cAAc,SAAS,MAAM,SAAS,OAAO;AACrE,iBAAO,KAAK,OAAO,MAAMA,iBAAgB,UAAU,YAAY,KAAK,MAAM,MAAM,SAAS,KAAK,CAAC;AAAA,QACjG;AAEA,eAAOA;AAAA,MAET,EAAG,aAAa;AAAA,IAElB,GAAG,KAAK,OAAI;AAAA;AAAA;;;AC/KZ,IAAAC,eAAA;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV,UAAI,UAAU,aAAa,sBAAsB,aAAa,eAAe,iBAAiB,iBAAiB,QAAQ,YAAY;AAEnI,YAAM,mBAAsB,SAAS,IAAI,QAAQ,aAAa,IAAI;AAElE,6BAAuB;AAEvB,oBAAc;AAEd,sBAAgB;AAEhB,wBAAkB;AAElB,wBAAkB;AAElB,iBAAW;AAEX,oBAAc;AAEd,aAAO,QAAQ,SAAS,SAAS,MAAM,QAAQ,SAAS,SAAS;AAC/D,YAAI,KAAK;AACT,YAAI,QAAQ,MAAM;AAChB,gBAAM,IAAI,MAAM,4BAA4B;AAAA,QAC9C;AACA,kBAAU,OAAO,CAAC,GAAG,QAAQ,SAAS,OAAO;AAC7C,cAAM,IAAI,YAAY,OAAO;AAC7B,eAAO,IAAI,QAAQ,IAAI;AACvB,YAAI,CAAC,QAAQ,UAAU;AACrB,cAAI,YAAY,OAAO;AACvB,cAAK,QAAQ,SAAS,QAAU,QAAQ,SAAS,MAAO;AACtD,gBAAI,IAAI,OAAO;AAAA,UACjB;AAAA,QACF;AACA,eAAO;AAAA,MACT;AAEA,aAAO,QAAQ,QAAQ,SAAS,SAAS,QAAQ,OAAO;AACtD,YAAI;AACJ,YAAI,WAAW,OAAO,GAAG;AACvB,iBAAO,CAAC,SAAS,MAAM,GAAG,SAAS,KAAK,CAAC,GAAG,QAAQ,KAAK,CAAC;AAC1D,oBAAU,CAAC;AAAA,QACb;AACA,YAAI,QAAQ;AACV,iBAAO,IAAI,cAAc,SAAS,QAAQ,KAAK;AAAA,QACjD,OAAO;AACL,iBAAO,IAAI,YAAY,OAAO;AAAA,QAChC;AAAA,MACF;AAEA,aAAO,QAAQ,eAAe,SAAS,SAAS;AAC9C,eAAO,IAAI,gBAAgB,OAAO;AAAA,MACpC;AAEA,aAAO,QAAQ,eAAe,SAAS,QAAQ,SAAS;AACtD,eAAO,IAAI,gBAAgB,QAAQ,OAAO;AAAA,MAC5C;AAEA,aAAO,QAAQ,iBAAiB,IAAI,qBAAqB;AAEzD,aAAO,QAAQ,WAAW;AAE1B,aAAO,QAAQ,cAAc;AAAA,IAE/B,GAAG,KAAK,OAAI;AAAA;AAAA;;;AChEZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV;AACA,UAAI,SAAS,UAAU,aAAa,eAAe,WACjD,UAAU,CAAC,EAAE;AAEf,gBAAU;AAEV,iBAAW,mBAAsB;AAEjC,sBAAgB,SAAS,OAAO;AAC9B,eAAO,OAAO,UAAU,aAAa,MAAM,QAAQ,GAAG,KAAK,KAAK,MAAM,QAAQ,GAAG,KAAK,KAAK,MAAM,QAAQ,GAAG,KAAK;AAAA,MACnH;AAEA,kBAAY,SAAS,OAAO;AAC1B,eAAO,cAAe,YAAY,KAAK,IAAK;AAAA,MAC9C;AAEA,oBAAc,SAAS,OAAO;AAC5B,eAAO,MAAM,QAAQ,OAAO,iBAAiB;AAAA,MAC/C;AAEA,cAAQ,UAAW,WAAW;AAC5B,iBAAS,QAAQ,MAAM;AACrB,cAAI,KAAK,KAAK;AACd,eAAK,UAAU,CAAC;AAChB,gBAAM,SAAS,KAAK;AACpB,eAAK,OAAO,KAAK;AACf,gBAAI,CAAC,QAAQ,KAAK,KAAK,GAAG,EAAG;AAC7B,oBAAQ,IAAI,GAAG;AACf,iBAAK,QAAQ,GAAG,IAAI;AAAA,UACtB;AACA,eAAK,OAAO,MAAM;AAChB,gBAAI,CAAC,QAAQ,KAAK,MAAM,GAAG,EAAG;AAC9B,oBAAQ,KAAK,GAAG;AAChB,iBAAK,QAAQ,GAAG,IAAI;AAAA,UACtB;AAAA,QACF;AAEA,gBAAQ,UAAU,cAAc,SAAS,SAAS;AAChD,cAAI,SAAS,SAAS,QAAQ,aAAa;AAC3C,oBAAU,KAAK,QAAQ;AACvB,oBAAU,KAAK,QAAQ;AACvB,cAAK,OAAO,KAAK,OAAO,EAAE,WAAW,KAAO,KAAK,QAAQ,aAAa,SAAS,KAAK,EAAE,UAAW;AAC/F,uBAAW,OAAO,KAAK,OAAO,EAAE,CAAC;AACjC,sBAAU,QAAQ,QAAQ;AAAA,UAC5B,OAAO;AACL,uBAAW,KAAK,QAAQ;AAAA,UAC1B;AACA,mBAAU,yBAAS,OAAO;AACxB,mBAAO,SAAS,SAAS,KAAK;AAC5B,kBAAI,MAAM,OAAO,OAAO,OAAO,KAAK;AACpC,kBAAI,OAAO,QAAQ,UAAU;AAC3B,oBAAI,MAAM,QAAQ,SAAS,cAAc,GAAG,GAAG;AAC7C,0BAAQ,IAAI,UAAU,GAAG,CAAC;AAAA,gBAC5B,OAAO;AACL,0BAAQ,IAAI,GAAG;AAAA,gBACjB;AAAA,cACF,WAAW,MAAM,QAAQ,GAAG,GAAG;AAC7B,qBAAK,SAAS,KAAK;AACjB,sBAAI,CAAC,QAAQ,KAAK,KAAK,KAAK,EAAG;AAC/B,0BAAQ,IAAI,KAAK;AACjB,uBAAK,OAAO,OAAO;AACjB,4BAAQ,MAAM,GAAG;AACjB,8BAAU,OAAO,QAAQ,IAAI,GAAG,GAAG,KAAK,EAAE,GAAG;AAAA,kBAC/C;AAAA,gBACF;AAAA,cACF,OAAO;AACL,qBAAK,OAAO,KAAK;AACf,sBAAI,CAAC,QAAQ,KAAK,KAAK,GAAG,EAAG;AAC7B,0BAAQ,IAAI,GAAG;AACf,sBAAI,QAAQ,SAAS;AACnB,wBAAI,OAAO,UAAU,UAAU;AAC7B,2BAAK,QAAQ,OAAO;AAClB,gCAAQ,MAAM,IAAI;AAClB,kCAAU,QAAQ,IAAI,MAAM,KAAK;AAAA,sBACnC;AAAA,oBACF;AAAA,kBACF,WAAW,QAAQ,SAAS;AAC1B,wBAAI,MAAM,QAAQ,SAAS,cAAc,KAAK,GAAG;AAC/C,gCAAU,QAAQ,IAAI,UAAU,KAAK,CAAC;AAAA,oBACxC,OAAO;AACL,gCAAU,QAAQ,IAAI,KAAK;AAAA,oBAC7B;AAAA,kBACF,WAAW,MAAM,QAAQ,KAAK,GAAG;AAC/B,yBAAK,SAAS,OAAO;AACnB,0BAAI,CAAC,QAAQ,KAAK,OAAO,KAAK,EAAG;AACjC,8BAAQ,MAAM,KAAK;AACnB,0BAAI,OAAO,UAAU,UAAU;AAC7B,4BAAI,MAAM,QAAQ,SAAS,cAAc,KAAK,GAAG;AAC/C,oCAAU,QAAQ,IAAI,GAAG,EAAE,IAAI,UAAU,KAAK,CAAC,EAAE,GAAG;AAAA,wBACtD,OAAO;AACL,oCAAU,QAAQ,IAAI,KAAK,KAAK,EAAE,GAAG;AAAA,wBACvC;AAAA,sBACF,OAAO;AACL,kCAAU,OAAO,QAAQ,IAAI,GAAG,GAAG,KAAK,EAAE,GAAG;AAAA,sBAC/C;AAAA,oBACF;AAAA,kBACF,WAAW,OAAO,UAAU,UAAU;AACpC,8BAAU,OAAO,QAAQ,IAAI,GAAG,GAAG,KAAK,EAAE,GAAG;AAAA,kBAC/C,OAAO;AACL,wBAAI,OAAO,UAAU,YAAY,MAAM,QAAQ,SAAS,cAAc,KAAK,GAAG;AAC5E,gCAAU,QAAQ,IAAI,GAAG,EAAE,IAAI,UAAU,KAAK,CAAC,EAAE,GAAG;AAAA,oBACtD,OAAO;AACL,0BAAI,SAAS,MAAM;AACjB,gCAAQ;AAAA,sBACV;AACA,gCAAU,QAAQ,IAAI,KAAK,MAAM,SAAS,CAAC,EAAE,GAAG;AAAA,oBAClD;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AACA,qBAAO;AAAA,YACT;AAAA,UACF,EAAG,IAAI;AACP,wBAAc,QAAQ,OAAO,UAAU,KAAK,QAAQ,QAAQ,KAAK,QAAQ,SAAS;AAAA,YAChF,UAAU,KAAK,QAAQ;AAAA,YACvB,qBAAqB,KAAK,QAAQ;AAAA,UACpC,CAAC;AACD,iBAAO,OAAO,aAAa,OAAO,EAAE,IAAI,KAAK,QAAQ,UAAU;AAAA,QACjE;AAEA,eAAO;AAAA,MAET,EAAG;AAAA,IAEL,GAAG,KAAK,OAAI;AAAA;AAAA;;;AC9HZ;AAAA;AAAA;AAAA;AAAC,KAAC,SAAU,KAAK;AACf,UAAI,SAAS,SAAU,QAAQ,KAAK;AAAE,eAAO,IAAI,UAAU,QAAQ,GAAG;AAAA,MAAE;AACxE,UAAI,YAAY;AAChB,UAAI,YAAY;AAChB,UAAI,eAAe;AAWnB,UAAI,oBAAoB,KAAK;AAE7B,UAAI,UAAU;AAAA,QACZ;AAAA,QAAW;AAAA,QAAY;AAAA,QAAY;AAAA,QAAW;AAAA,QAC9C;AAAA,QAAgB;AAAA,QAAgB;AAAA,QAAU;AAAA,QAC1C;AAAA,QAAe;AAAA,QAAS;AAAA,MAC1B;AAEA,UAAI,SAAS;AAAA,QACX;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAEA,eAAS,UAAW,QAAQ,KAAK;AAC/B,YAAI,EAAE,gBAAgB,YAAY;AAChC,iBAAO,IAAI,UAAU,QAAQ,GAAG;AAAA,QAClC;AAEA,YAAI,SAAS;AACb,qBAAa,MAAM;AACnB,eAAO,IAAI,OAAO,IAAI;AACtB,eAAO,sBAAsB,IAAI;AACjC,eAAO,MAAM,OAAO,CAAC;AACrB,eAAO,IAAI,YAAY,OAAO,IAAI,aAAa,OAAO,IAAI;AAC1D,eAAO,YAAY,OAAO,IAAI,YAAY,gBAAgB;AAC1D,eAAO,OAAO,CAAC;AACf,eAAO,SAAS,OAAO,aAAa,OAAO,UAAU;AACrD,eAAO,MAAM,OAAO,QAAQ;AAC5B,eAAO,SAAS,CAAC,CAAC;AAClB,eAAO,WAAW,CAAC,EAAE,UAAU,OAAO,IAAI;AAC1C,eAAO,QAAQ,EAAE;AACjB,eAAO,iBAAiB,OAAO,IAAI;AACnC,eAAO,WAAW,OAAO,iBAAiB,OAAO,OAAO,IAAI,YAAY,IAAI,OAAO,OAAO,IAAI,QAAQ;AACtG,eAAO,aAAa,CAAC;AAKrB,YAAI,OAAO,IAAI,OAAO;AACpB,iBAAO,KAAK,OAAO,OAAO,MAAM;AAAA,QAClC;AAIA,YAAI,OAAO,IAAI,4BAA4B,QAAW;AACpD,iBAAO,IAAI,0BAA0B,CAAC;AAAA,QACxC;AAGA,eAAO,gBAAgB,OAAO,IAAI,aAAa;AAC/C,YAAI,OAAO,eAAe;AACxB,iBAAO,WAAW,OAAO,OAAO,OAAO,SAAS;AAAA,QAClD;AACA,aAAK,QAAQ,SAAS;AAAA,MACxB;AAEA,UAAI,CAAC,OAAO,QAAQ;AAClB,eAAO,SAAS,SAAU,GAAG;AAC3B,mBAAS,IAAK;AAAA,UAAC;AACf,YAAE,YAAY;AACd,cAAI,OAAO,IAAI,EAAE;AACjB,iBAAO;AAAA,QACT;AAAA,MACF;AAEA,UAAI,CAAC,OAAO,MAAM;AAChB,eAAO,OAAO,SAAU,GAAG;AACzB,cAAI,IAAI,CAAC;AACT,mBAAS,KAAK,EAAG,KAAI,EAAE,eAAe,CAAC,EAAG,GAAE,KAAK,CAAC;AAClD,iBAAO;AAAA,QACT;AAAA,MACF;AAEA,eAAS,kBAAmB,QAAQ;AAClC,YAAI,aAAa,KAAK,IAAI,IAAI,mBAAmB,EAAE;AACnD,YAAI,YAAY;AAChB,iBAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,IAAI,GAAG,KAAK;AAC9C,cAAI,MAAM,OAAO,QAAQ,CAAC,CAAC,EAAE;AAC7B,cAAI,MAAM,YAAY;AAKpB,oBAAQ,QAAQ,CAAC,GAAG;AAAA,cAClB,KAAK;AACH,0BAAU,MAAM;AAChB;AAAA,cAEF,KAAK;AACH,yBAAS,QAAQ,WAAW,OAAO,KAAK;AACxC,uBAAO,QAAQ;AACf;AAAA,cAEF,KAAK;AACH,yBAAS,QAAQ,YAAY,OAAO,MAAM;AAC1C,uBAAO,SAAS;AAChB;AAAA,cAEF;AACE,sBAAM,QAAQ,iCAAiC,QAAQ,CAAC,CAAC;AAAA,YAC7D;AAAA,UACF;AACA,sBAAY,KAAK,IAAI,WAAW,GAAG;AAAA,QACrC;AAEA,YAAI,IAAI,IAAI,oBAAoB;AAChC,eAAO,sBAAsB,IAAI,OAAO;AAAA,MAC1C;AAEA,eAAS,aAAc,QAAQ;AAC7B,iBAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,IAAI,GAAG,KAAK;AAC9C,iBAAO,QAAQ,CAAC,CAAC,IAAI;AAAA,QACvB;AAAA,MACF;AAEA,eAAS,aAAc,QAAQ;AAC7B,kBAAU,MAAM;AAChB,YAAI,OAAO,UAAU,IAAI;AACvB,mBAAS,QAAQ,WAAW,OAAO,KAAK;AACxC,iBAAO,QAAQ;AAAA,QACjB;AACA,YAAI,OAAO,WAAW,IAAI;AACxB,mBAAS,QAAQ,YAAY,OAAO,MAAM;AAC1C,iBAAO,SAAS;AAAA,QAClB;AAAA,MACF;AAEA,gBAAU,YAAY;AAAA,QACpB,KAAK,WAAY;AAAE,cAAI,IAAI;AAAA,QAAE;AAAA,QAC7B;AAAA,QACA,QAAQ,WAAY;AAAE,eAAK,QAAQ;AAAM,iBAAO;AAAA,QAAK;AAAA,QACrD,OAAO,WAAY;AAAE,iBAAO,KAAK,MAAM,IAAI;AAAA,QAAE;AAAA,QAC7C,OAAO,WAAY;AAAE,uBAAa,IAAI;AAAA,QAAE;AAAA,MAC1C;AAEA,UAAI;AACJ,UAAI;AACF,iBAAS,UAAQ,QAAQ,EAAE;AAAA,MAC7B,SAAS,IAAI;AACX,iBAAS,WAAY;AAAA,QAAC;AAAA,MACxB;AACA,UAAI,CAAC,OAAQ,UAAS,WAAY;AAAA,MAAC;AAEnC,UAAI,cAAc,IAAI,OAAO,OAAO,SAAU,IAAI;AAChD,eAAO,OAAO,WAAW,OAAO;AAAA,MAClC,CAAC;AAED,eAAS,aAAc,QAAQ,KAAK;AAClC,eAAO,IAAI,UAAU,QAAQ,GAAG;AAAA,MAClC;AAEA,eAAS,UAAW,QAAQ,KAAK;AAC/B,YAAI,EAAE,gBAAgB,YAAY;AAChC,iBAAO,IAAI,UAAU,QAAQ,GAAG;AAAA,QAClC;AAEA,eAAO,MAAM,IAAI;AAEjB,aAAK,UAAU,IAAI,UAAU,QAAQ,GAAG;AACxC,aAAK,WAAW;AAChB,aAAK,WAAW;AAEhB,YAAI,KAAK;AAET,aAAK,QAAQ,QAAQ,WAAY;AAC/B,aAAG,KAAK,KAAK;AAAA,QACf;AAEA,aAAK,QAAQ,UAAU,SAAU,IAAI;AACnC,aAAG,KAAK,SAAS,EAAE;AAInB,aAAG,QAAQ,QAAQ;AAAA,QACrB;AAEA,aAAK,WAAW;AAEhB,oBAAY,QAAQ,SAAU,IAAI;AAChC,iBAAO,eAAe,IAAI,OAAO,IAAI;AAAA,YACnC,KAAK,WAAY;AACf,qBAAO,GAAG,QAAQ,OAAO,EAAE;AAAA,YAC7B;AAAA,YACA,KAAK,SAAU,GAAG;AAChB,kBAAI,CAAC,GAAG;AACN,mBAAG,mBAAmB,EAAE;AACxB,mBAAG,QAAQ,OAAO,EAAE,IAAI;AACxB,uBAAO;AAAA,cACT;AACA,iBAAG,GAAG,IAAI,CAAC;AAAA,YACb;AAAA,YACA,YAAY;AAAA,YACZ,cAAc;AAAA,UAChB,CAAC;AAAA,QACH,CAAC;AAAA,MACH;AAEA,gBAAU,YAAY,OAAO,OAAO,OAAO,WAAW;AAAA,QACpD,aAAa;AAAA,UACX,OAAO;AAAA,QACT;AAAA,MACF,CAAC;AAED,gBAAU,UAAU,QAAQ,SAAU,MAAM;AAC1C,YAAI,OAAO,WAAW,cACpB,OAAO,OAAO,aAAa,cAC3B,OAAO,SAAS,IAAI,GAAG;AACvB,cAAI,CAAC,KAAK,UAAU;AAClB,gBAAI,KAAK,UAAQ,gBAAgB,EAAE;AACnC,iBAAK,WAAW,IAAI,GAAG,MAAM;AAAA,UAC/B;AACA,iBAAO,KAAK,SAAS,MAAM,IAAI;AAAA,QACjC;AAEA,aAAK,QAAQ,MAAM,KAAK,SAAS,CAAC;AAClC,aAAK,KAAK,QAAQ,IAAI;AACtB,eAAO;AAAA,MACT;AAEA,gBAAU,UAAU,MAAM,SAAU,OAAO;AACzC,YAAI,SAAS,MAAM,QAAQ;AACzB,eAAK,MAAM,KAAK;AAAA,QAClB;AACA,aAAK,QAAQ,IAAI;AACjB,eAAO;AAAA,MACT;AAEA,gBAAU,UAAU,KAAK,SAAU,IAAI,SAAS;AAC9C,YAAI,KAAK;AACT,YAAI,CAAC,GAAG,QAAQ,OAAO,EAAE,KAAK,YAAY,QAAQ,EAAE,MAAM,IAAI;AAC5D,aAAG,QAAQ,OAAO,EAAE,IAAI,WAAY;AAClC,gBAAI,OAAO,UAAU,WAAW,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,MAAM,MAAM,MAAM,SAAS;AAChF,iBAAK,OAAO,GAAG,GAAG,EAAE;AACpB,eAAG,KAAK,MAAM,IAAI,IAAI;AAAA,UACxB;AAAA,QACF;AAEA,eAAO,OAAO,UAAU,GAAG,KAAK,IAAI,IAAI,OAAO;AAAA,MACjD;AAIA,UAAI,QAAQ;AACZ,UAAI,UAAU;AACd,UAAI,gBAAgB;AACpB,UAAI,kBAAkB;AACtB,UAAI,SAAS,EAAE,KAAK,eAAe,OAAO,gBAAgB;AAQ1D,UAAI,YAAY;AAEhB,UAAI,WAAW;AAEf,UAAI,cAAc;AAClB,UAAI,aAAa;AAEjB,eAAS,aAAc,GAAG;AACxB,eAAO,MAAM,OAAO,MAAM,QAAQ,MAAM,QAAQ,MAAM;AAAA,MACxD;AAEA,eAAS,QAAS,GAAG;AACnB,eAAO,MAAM,OAAO,MAAM;AAAA,MAC5B;AAEA,eAAS,YAAa,GAAG;AACvB,eAAO,MAAM,OAAO,aAAa,CAAC;AAAA,MACpC;AAEA,eAAS,QAAS,OAAO,GAAG;AAC1B,eAAO,MAAM,KAAK,CAAC;AAAA,MACrB;AAEA,eAAS,SAAU,OAAO,GAAG;AAC3B,eAAO,CAAC,QAAQ,OAAO,CAAC;AAAA,MAC1B;AAEA,UAAI,IAAI;AACR,UAAI,QAAQ;AAAA,QACV,OAAO;AAAA;AAAA,QACP,kBAAkB;AAAA;AAAA,QAClB,MAAM;AAAA;AAAA,QACN,aAAa;AAAA;AAAA,QACb,WAAW;AAAA;AAAA,QACX,WAAW;AAAA;AAAA,QACX,kBAAkB;AAAA;AAAA,QAClB,SAAS;AAAA;AAAA,QACT,gBAAgB;AAAA;AAAA,QAChB,aAAa;AAAA;AAAA,QACb,oBAAoB;AAAA;AAAA,QACpB,kBAAkB;AAAA;AAAA,QAClB,SAAS;AAAA;AAAA,QACT,gBAAgB;AAAA;AAAA,QAChB,eAAe;AAAA;AAAA,QACf,OAAO;AAAA;AAAA,QACP,cAAc;AAAA;AAAA,QACd,gBAAgB;AAAA;AAAA,QAChB,WAAW;AAAA;AAAA,QACX,gBAAgB;AAAA;AAAA,QAChB,kBAAkB;AAAA;AAAA,QAClB,UAAU;AAAA;AAAA,QACV,gBAAgB;AAAA;AAAA,QAChB,QAAQ;AAAA;AAAA,QACR,aAAa;AAAA;AAAA,QACb,uBAAuB;AAAA;AAAA,QACvB,cAAc;AAAA;AAAA,QACd,qBAAqB;AAAA;AAAA,QACrB,qBAAqB;AAAA;AAAA,QACrB,uBAAuB;AAAA;AAAA,QACvB,uBAAuB;AAAA;AAAA,QACvB,uBAAuB;AAAA;AAAA,QACvB,WAAW;AAAA;AAAA,QACX,qBAAqB;AAAA;AAAA,QACrB,QAAQ;AAAA;AAAA,QACR,eAAe;AAAA;AAAA,MACjB;AAEA,UAAI,eAAe;AAAA,QACjB,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,MACV;AAEA,UAAI,WAAW;AAAA,QACb,OAAO;AAAA,QACP,MAAM;AAAA,QACN,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,OAAO;AAAA,QACP,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,QACV,UAAU;AAAA,QACV,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,UAAU;AAAA,QACV,SAAS;AAAA,QACT,SAAS;AAAA,QACT,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,QACV,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,QACV,UAAU;AAAA,QACV,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,SAAS;AAAA,QACT,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,UAAU;AAAA,QACV,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,OAAO;AAAA,QACP,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,UAAU;AAAA,QACV,UAAU;AAAA,QACV,UAAU;AAAA,QACV,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,QACV,SAAS;AAAA,QACT,SAAS;AAAA,QACT,UAAU;AAAA,QACV,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,UAAU;AAAA,QACV,MAAM;AAAA,QACN,MAAM;AAAA,QACN,MAAM;AAAA,QACN,WAAW;AAAA,QACX,MAAM;AAAA,QACN,OAAO;AAAA,QACP,SAAS;AAAA,QACT,OAAO;AAAA,QACP,WAAW;AAAA,QACX,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS;AAAA,QACT,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,UAAU;AAAA,QACV,MAAM;AAAA,QACN,MAAM;AAAA,QACN,MAAM;AAAA,QACN,WAAW;AAAA,QACX,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,SAAS;AAAA,QACT,OAAO;AAAA,QACP,WAAW;AAAA,QACX,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS;AAAA,QACT,YAAY;AAAA,QACZ,SAAS;AAAA,QACT,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,QACT,UAAU;AAAA,QACV,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,UAAU;AAAA,QACV,SAAS;AAAA,QACT,SAAS;AAAA,QACT,UAAU;AAAA,QACV,UAAU;AAAA,QACV,SAAS;AAAA,QACT,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,SAAS;AAAA,QACT,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,SAAS;AAAA,QACT,UAAU;AAAA,QACV,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,QACP,OAAO;AAAA,QACP,UAAU;AAAA,QACV,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,MAAM;AAAA,QACN,SAAS;AAAA,QACT,MAAM;AAAA,QACN,MAAM;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,SAAS;AAAA,QACT,SAAS;AAAA,QACT,UAAU;AAAA,QACV,UAAU;AAAA,QACV,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,QACV,SAAS;AAAA,MACX;AAEA,aAAO,KAAK,IAAI,QAAQ,EAAE,QAAQ,SAAU,KAAK;AAC/C,YAAI,IAAI,IAAI,SAAS,GAAG;AACxB,YAAIC,KAAI,OAAO,MAAM,WAAW,OAAO,aAAa,CAAC,IAAI;AACzD,YAAI,SAAS,GAAG,IAAIA;AAAA,MACtB,CAAC;AAED,eAAS,KAAK,IAAI,OAAO;AACvB,YAAI,MAAM,IAAI,MAAM,CAAC,CAAC,IAAI;AAAA,MAC5B;AAGA,UAAI,IAAI;AAER,eAAS,KAAM,QAAQ,OAAO,MAAM;AAClC,eAAO,KAAK,KAAK,OAAO,KAAK,EAAE,IAAI;AAAA,MACrC;AAEA,eAAS,SAAU,QAAQ,UAAU,MAAM;AACzC,YAAI,OAAO,SAAU,WAAU,MAAM;AACrC,aAAK,QAAQ,UAAU,IAAI;AAAA,MAC7B;AAEA,eAAS,UAAW,QAAQ;AAC1B,eAAO,WAAW,SAAS,OAAO,KAAK,OAAO,QAAQ;AACtD,YAAI,OAAO,SAAU,MAAK,QAAQ,UAAU,OAAO,QAAQ;AAC3D,eAAO,WAAW;AAAA,MACpB;AAEA,eAAS,SAAU,KAAK,MAAM;AAC5B,YAAI,IAAI,KAAM,QAAO,KAAK,KAAK;AAC/B,YAAI,IAAI,UAAW,QAAO,KAAK,QAAQ,QAAQ,GAAG;AAClD,eAAO;AAAA,MACT;AAEA,eAAS,MAAO,QAAQ,IAAI;AAC1B,kBAAU,MAAM;AAChB,YAAI,OAAO,eAAe;AACxB,gBAAM,aAAa,OAAO,OACxB,eAAe,OAAO,SACtB,aAAa,OAAO;AAAA,QACxB;AACA,aAAK,IAAI,MAAM,EAAE;AACjB,eAAO,QAAQ;AACf,aAAK,QAAQ,WAAW,EAAE;AAC1B,eAAO;AAAA,MACT;AAEA,eAAS,IAAK,QAAQ;AACpB,YAAI,OAAO,WAAW,CAAC,OAAO,WAAY,YAAW,QAAQ,mBAAmB;AAChF,YAAK,OAAO,UAAU,EAAE,SACrB,OAAO,UAAU,EAAE,oBACnB,OAAO,UAAU,EAAE,MAAO;AAC3B,gBAAM,QAAQ,gBAAgB;AAAA,QAChC;AACA,kBAAU,MAAM;AAChB,eAAO,IAAI;AACX,eAAO,SAAS;AAChB,aAAK,QAAQ,OAAO;AACpB,kBAAU,KAAK,QAAQ,OAAO,QAAQ,OAAO,GAAG;AAChD,eAAO;AAAA,MACT;AAEA,eAAS,WAAY,QAAQ,SAAS;AACpC,YAAI,OAAO,WAAW,YAAY,EAAE,kBAAkB,YAAY;AAChE,gBAAM,IAAI,MAAM,wBAAwB;AAAA,QAC1C;AACA,YAAI,OAAO,QAAQ;AACjB,gBAAM,QAAQ,OAAO;AAAA,QACvB;AAAA,MACF;AAEA,eAAS,OAAQ,QAAQ;AACvB,YAAI,CAAC,OAAO,OAAQ,QAAO,UAAU,OAAO,QAAQ,OAAO,SAAS,EAAE;AACtE,YAAI,SAAS,OAAO,KAAK,OAAO,KAAK,SAAS,CAAC,KAAK;AACpD,YAAI,MAAM,OAAO,MAAM,EAAE,MAAM,OAAO,SAAS,YAAY,CAAC,EAAE;AAG9D,YAAI,OAAO,IAAI,OAAO;AACpB,cAAI,KAAK,OAAO;AAAA,QAClB;AACA,eAAO,WAAW,SAAS;AAC3B,iBAAS,QAAQ,kBAAkB,GAAG;AAAA,MACxC;AAEA,eAAS,MAAO,MAAM,WAAW;AAC/B,YAAI,IAAI,KAAK,QAAQ,GAAG;AACxB,YAAI,WAAW,IAAI,IAAI,CAAE,IAAI,IAAK,IAAI,KAAK,MAAM,GAAG;AACpD,YAAI,SAAS,SAAS,CAAC;AACvB,YAAI,QAAQ,SAAS,CAAC;AAGtB,YAAI,aAAa,SAAS,SAAS;AACjC,mBAAS;AACT,kBAAQ;AAAA,QACV;AAEA,eAAO,EAAE,QAAgB,MAAa;AAAA,MACxC;AAEA,eAAS,OAAQ,QAAQ;AACvB,YAAI,CAAC,OAAO,QAAQ;AAClB,iBAAO,aAAa,OAAO,WAAW,OAAO,SAAS,EAAE;AAAA,QAC1D;AAEA,YAAI,OAAO,WAAW,QAAQ,OAAO,UAAU,MAAM,MACnD,OAAO,IAAI,WAAW,eAAe,OAAO,UAAU,GAAG;AACzD,iBAAO,aAAa,OAAO,cAAc;AACzC;AAAA,QACF;AAEA,YAAI,OAAO,IAAI,OAAO;AACpB,cAAI,KAAK,MAAM,OAAO,YAAY,IAAI;AACtC,cAAI,SAAS,GAAG;AAChB,cAAI,QAAQ,GAAG;AAEf,cAAI,WAAW,SAAS;AAEtB,gBAAI,UAAU,SAAS,OAAO,gBAAgB,eAAe;AAC3D;AAAA,gBAAW;AAAA,gBACT,kCAAkC,gBAAgB,eACrC,OAAO;AAAA,cAAW;AAAA,YACnC,WAAW,UAAU,WAAW,OAAO,gBAAgB,iBAAiB;AACtE;AAAA,gBAAW;AAAA,gBACT,oCAAoC,kBAAkB,eACzC,OAAO;AAAA,cAAW;AAAA,YACnC,OAAO;AACL,kBAAI,MAAM,OAAO;AACjB,kBAAI,SAAS,OAAO,KAAK,OAAO,KAAK,SAAS,CAAC,KAAK;AACpD,kBAAI,IAAI,OAAO,OAAO,IAAI;AACxB,oBAAI,KAAK,OAAO,OAAO,OAAO,EAAE;AAAA,cAClC;AACA,kBAAI,GAAG,KAAK,IAAI,OAAO;AAAA,YACzB;AAAA,UACF;AAKA,iBAAO,WAAW,KAAK,CAAC,OAAO,YAAY,OAAO,WAAW,CAAC;AAAA,QAChE,OAAO;AAEL,iBAAO,IAAI,WAAW,OAAO,UAAU,IAAI,OAAO;AAClD,mBAAS,QAAQ,eAAe;AAAA,YAC9B,MAAM,OAAO;AAAA,YACb,OAAO,OAAO;AAAA,UAChB,CAAC;AAAA,QACH;AAEA,eAAO,aAAa,OAAO,cAAc;AAAA,MAC3C;AAEA,eAAS,QAAS,QAAQ,aAAa;AACrC,YAAI,OAAO,IAAI,OAAO;AAEpB,cAAI,MAAM,OAAO;AAGjB,cAAI,KAAK,MAAM,OAAO,OAAO;AAC7B,cAAI,SAAS,GAAG;AAChB,cAAI,QAAQ,GAAG;AACf,cAAI,MAAM,IAAI,GAAG,GAAG,MAAM,KAAK;AAE/B,cAAI,IAAI,UAAU,CAAC,IAAI,KAAK;AAC1B,uBAAW,QAAQ,+BACjB,KAAK,UAAU,OAAO,OAAO,CAAC;AAChC,gBAAI,MAAM,GAAG;AAAA,UACf;AAEA,cAAI,SAAS,OAAO,KAAK,OAAO,KAAK,SAAS,CAAC,KAAK;AACpD,cAAI,IAAI,MAAM,OAAO,OAAO,IAAI,IAAI;AAClC,mBAAO,KAAK,IAAI,EAAE,EAAE,QAAQ,SAAU,GAAG;AACvC,uBAAS,QAAQ,mBAAmB;AAAA,gBAClC,QAAQ;AAAA,gBACR,KAAK,IAAI,GAAG,CAAC;AAAA,cACf,CAAC;AAAA,YACH,CAAC;AAAA,UACH;AAKA,mBAAS,IAAI,GAAG,IAAI,OAAO,WAAW,QAAQ,IAAI,GAAG,KAAK;AACxD,gBAAI,KAAK,OAAO,WAAW,CAAC;AAC5B,gBAAI,OAAO,GAAG,CAAC;AACf,gBAAI,QAAQ,GAAG,CAAC;AAChB,gBAAI,WAAW,MAAM,MAAM,IAAI;AAC/B,gBAAI,SAAS,SAAS;AACtB,gBAAI,QAAQ,SAAS;AACrB,gBAAI,MAAM,WAAW,KAAK,KAAM,IAAI,GAAG,MAAM,KAAK;AAClD,gBAAI,IAAI;AAAA,cACN;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF;AAIA,gBAAI,UAAU,WAAW,WAAW,CAAC,KAAK;AACxC,yBAAW,QAAQ,+BACjB,KAAK,UAAU,MAAM,CAAC;AACxB,gBAAE,MAAM;AAAA,YACV;AACA,mBAAO,IAAI,WAAW,IAAI,IAAI;AAC9B,qBAAS,QAAQ,eAAe,CAAC;AAAA,UACnC;AACA,iBAAO,WAAW,SAAS;AAAA,QAC7B;AAEA,eAAO,IAAI,gBAAgB,CAAC,CAAC;AAG7B,eAAO,UAAU;AACjB,eAAO,KAAK,KAAK,OAAO,GAAG;AAC3B,iBAAS,QAAQ,aAAa,OAAO,GAAG;AACxC,YAAI,CAAC,aAAa;AAEhB,cAAI,CAAC,OAAO,YAAY,OAAO,QAAQ,YAAY,MAAM,UAAU;AACjE,mBAAO,QAAQ,EAAE;AAAA,UACnB,OAAO;AACL,mBAAO,QAAQ,EAAE;AAAA,UACnB;AACA,iBAAO,MAAM;AACb,iBAAO,UAAU;AAAA,QACnB;AACA,eAAO,aAAa,OAAO,cAAc;AACzC,eAAO,WAAW,SAAS;AAAA,MAC7B;AAEA,eAAS,SAAU,QAAQ;AACzB,YAAI,CAAC,OAAO,SAAS;AACnB,qBAAW,QAAQ,wBAAwB;AAC3C,iBAAO,YAAY;AACnB,iBAAO,QAAQ,EAAE;AACjB;AAAA,QACF;AAEA,YAAI,OAAO,QAAQ;AACjB,cAAI,OAAO,YAAY,UAAU;AAC/B,mBAAO,UAAU,OAAO,OAAO,UAAU;AACzC,mBAAO,UAAU;AACjB,mBAAO,QAAQ,EAAE;AACjB;AAAA,UACF;AACA,mBAAS,QAAQ,YAAY,OAAO,MAAM;AAC1C,iBAAO,SAAS;AAAA,QAClB;AAIA,YAAI,IAAI,OAAO,KAAK;AACpB,YAAI,UAAU,OAAO;AACrB,YAAI,CAAC,OAAO,QAAQ;AAClB,oBAAU,QAAQ,OAAO,SAAS,EAAE;AAAA,QACtC;AACA,YAAI,UAAU;AACd,eAAO,KAAK;AACV,cAAI,QAAQ,OAAO,KAAK,CAAC;AACzB,cAAI,MAAM,SAAS,SAAS;AAE1B,uBAAW,QAAQ,sBAAsB;AAAA,UAC3C,OAAO;AACL;AAAA,UACF;AAAA,QACF;AAGA,YAAI,IAAI,GAAG;AACT,qBAAW,QAAQ,4BAA4B,OAAO,OAAO;AAC7D,iBAAO,YAAY,OAAO,OAAO,UAAU;AAC3C,iBAAO,QAAQ,EAAE;AACjB;AAAA,QACF;AACA,eAAO,UAAU;AACjB,YAAIA,KAAI,OAAO,KAAK;AACpB,eAAOA,OAAM,GAAG;AACd,cAAI,MAAM,OAAO,MAAM,OAAO,KAAK,IAAI;AACvC,iBAAO,UAAU,OAAO,IAAI;AAC5B,mBAAS,QAAQ,cAAc,OAAO,OAAO;AAE7C,cAAI,IAAI,CAAC;AACT,mBAAS,KAAK,IAAI,IAAI;AACpB,cAAE,CAAC,IAAI,IAAI,GAAG,CAAC;AAAA,UACjB;AAEA,cAAI,SAAS,OAAO,KAAK,OAAO,KAAK,SAAS,CAAC,KAAK;AACpD,cAAI,OAAO,IAAI,SAAS,IAAI,OAAO,OAAO,IAAI;AAE5C,mBAAO,KAAK,IAAI,EAAE,EAAE,QAAQ,SAAU,GAAG;AACvC,kBAAI,IAAI,IAAI,GAAG,CAAC;AAChB,uBAAS,QAAQ,oBAAoB,EAAE,QAAQ,GAAG,KAAK,EAAE,CAAC;AAAA,YAC5D,CAAC;AAAA,UACH;AAAA,QACF;AACA,YAAI,MAAM,EAAG,QAAO,aAAa;AACjC,eAAO,UAAU,OAAO,cAAc,OAAO,aAAa;AAC1D,eAAO,WAAW,SAAS;AAC3B,eAAO,QAAQ,EAAE;AAAA,MACnB;AAEA,eAAS,YAAa,QAAQ;AAC5B,YAAI,SAAS,OAAO;AACpB,YAAI,WAAW,OAAO,YAAY;AAClC,YAAI;AACJ,YAAI,SAAS;AAEb,YAAI,OAAO,SAAS,MAAM,GAAG;AAC3B,iBAAO,OAAO,SAAS,MAAM;AAAA,QAC/B;AACA,YAAI,OAAO,SAAS,QAAQ,GAAG;AAC7B,iBAAO,OAAO,SAAS,QAAQ;AAAA,QACjC;AACA,iBAAS;AACT,YAAI,OAAO,OAAO,CAAC,MAAM,KAAK;AAC5B,cAAI,OAAO,OAAO,CAAC,MAAM,KAAK;AAC5B,qBAAS,OAAO,MAAM,CAAC;AACvB,kBAAM,SAAS,QAAQ,EAAE;AACzB,qBAAS,IAAI,SAAS,EAAE;AAAA,UAC1B,OAAO;AACL,qBAAS,OAAO,MAAM,CAAC;AACvB,kBAAM,SAAS,QAAQ,EAAE;AACzB,qBAAS,IAAI,SAAS,EAAE;AAAA,UAC1B;AAAA,QACF;AACA,iBAAS,OAAO,QAAQ,OAAO,EAAE;AACjC,YAAI,MAAM,GAAG,KAAK,OAAO,YAAY,MAAM,QAAQ;AACjD,qBAAW,QAAQ,0BAA0B;AAC7C,iBAAO,MAAM,OAAO,SAAS;AAAA,QAC/B;AAEA,eAAO,OAAO,cAAc,GAAG;AAAA,MACjC;AAEA,eAAS,gBAAiB,QAAQ,GAAG;AACnC,YAAI,MAAM,KAAK;AACb,iBAAO,QAAQ,EAAE;AACjB,iBAAO,mBAAmB,OAAO;AAAA,QACnC,WAAW,CAAC,aAAa,CAAC,GAAG;AAG3B,qBAAW,QAAQ,kCAAkC;AACrD,iBAAO,WAAW;AAClB,iBAAO,QAAQ,EAAE;AAAA,QACnB;AAAA,MACF;AAEA,eAAS,OAAQ,OAAO,GAAG;AACzB,YAAI,SAAS;AACb,YAAI,IAAI,MAAM,QAAQ;AACpB,mBAAS,MAAM,OAAO,CAAC;AAAA,QACzB;AACA,eAAO;AAAA,MACT;AAEA,eAAS,MAAO,OAAO;AACrB,YAAI,SAAS;AACb,YAAI,KAAK,OAAO;AACd,gBAAM,KAAK;AAAA,QACb;AACA,YAAI,OAAO,QAAQ;AACjB,iBAAO;AAAA,YAAM;AAAA,YACX;AAAA,UAAsD;AAAA,QAC1D;AACA,YAAI,UAAU,MAAM;AAClB,iBAAO,IAAI,MAAM;AAAA,QACnB;AACA,YAAI,OAAO,UAAU,UAAU;AAC7B,kBAAQ,MAAM,SAAS;AAAA,QACzB;AACA,YAAI,IAAI;AACR,YAAI,IAAI;AACR,eAAO,MAAM;AACX,cAAI,OAAO,OAAO,GAAG;AACrB,iBAAO,IAAI;AAEX,cAAI,CAAC,GAAG;AACN;AAAA,UACF;AAEA,cAAI,OAAO,eAAe;AACxB,mBAAO;AACP,gBAAI,MAAM,MAAM;AACd,qBAAO;AACP,qBAAO,SAAS;AAAA,YAClB,OAAO;AACL,qBAAO;AAAA,YACT;AAAA,UACF;AAEA,kBAAQ,OAAO,OAAO;AAAA,YACpB,KAAK,EAAE;AACL,qBAAO,QAAQ,EAAE;AACjB,kBAAI,MAAM,UAAU;AAClB;AAAA,cACF;AACA,8BAAgB,QAAQ,CAAC;AACzB;AAAA,YAEF,KAAK,EAAE;AACL,8BAAgB,QAAQ,CAAC;AACzB;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,OAAO,WAAW,CAAC,OAAO,YAAY;AACxC,oBAAI,SAAS,IAAI;AACjB,uBAAO,KAAK,MAAM,OAAO,MAAM,KAAK;AAClC,sBAAI,OAAO,OAAO,GAAG;AACrB,sBAAI,KAAK,OAAO,eAAe;AAC7B,2BAAO;AACP,wBAAI,MAAM,MAAM;AACd,6BAAO;AACP,6BAAO,SAAS;AAAA,oBAClB,OAAO;AACL,6BAAO;AAAA,oBACT;AAAA,kBACF;AAAA,gBACF;AACA,uBAAO,YAAY,MAAM,UAAU,QAAQ,IAAI,CAAC;AAAA,cAClD;AACA,kBAAI,MAAM,OAAO,EAAE,OAAO,WAAW,OAAO,cAAc,CAAC,OAAO,SAAS;AACzE,uBAAO,QAAQ,EAAE;AACjB,uBAAO,mBAAmB,OAAO;AAAA,cACnC,OAAO;AACL,oBAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,WAAW,OAAO,aAAa;AAC9D,6BAAW,QAAQ,iCAAiC;AAAA,gBACtD;AACA,oBAAI,MAAM,KAAK;AACb,yBAAO,QAAQ,EAAE;AAAA,gBACnB,OAAO;AACL,yBAAO,YAAY;AAAA,gBACrB;AAAA,cACF;AACA;AAAA,YAEF,KAAK,EAAE;AAEL,kBAAI,MAAM,KAAK;AACb,uBAAO,QAAQ,EAAE;AAAA,cACnB,OAAO;AACL,uBAAO,UAAU;AAAA,cACnB;AACA;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,MAAM,KAAK;AACb,uBAAO,QAAQ,EAAE;AAAA,cACnB,OAAO;AACL,uBAAO,UAAU,MAAM;AACvB,uBAAO,QAAQ,EAAE;AAAA,cACnB;AACA;AAAA,YAEF,KAAK,EAAE;AAEL,kBAAI,MAAM,KAAK;AACb,uBAAO,QAAQ,EAAE;AACjB,uBAAO,WAAW;AAAA,cACpB,WAAW,aAAa,CAAC,GAAG;AAAA,cAE5B,WAAW,QAAQ,WAAW,CAAC,GAAG;AAChC,uBAAO,QAAQ,EAAE;AACjB,uBAAO,UAAU;AAAA,cACnB,WAAW,MAAM,KAAK;AACpB,uBAAO,QAAQ,EAAE;AACjB,uBAAO,UAAU;AAAA,cACnB,WAAW,MAAM,KAAK;AACpB,uBAAO,QAAQ,EAAE;AACjB,uBAAO,eAAe,OAAO,eAAe;AAAA,cAC9C,OAAO;AACL,2BAAW,QAAQ,aAAa;AAEhC,oBAAI,OAAO,mBAAmB,IAAI,OAAO,UAAU;AACjD,sBAAI,MAAM,OAAO,WAAW,OAAO;AACnC,sBAAI,IAAI,MAAM,GAAG,EAAE,KAAK,GAAG,IAAI;AAAA,gBACjC;AACA,uBAAO,YAAY,MAAM;AACzB,uBAAO,QAAQ,EAAE;AAAA,cACnB;AACA;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,OAAO,WAAW,MAAM,MAAM;AAChC,uBAAO,QAAQ,EAAE;AACjB,uBAAO,UAAU;AACjB,uBAAO,WAAW;AAClB;AAAA,cACF;AAEA,kBAAI,OAAO,WAAW,OAAO,YAAY,QAAQ,OAAO,UAAU;AAChE,uBAAO,QAAQ,EAAE;AACjB,uBAAO,WAAW,OAAO,OAAO,WAAW;AAC3C,uBAAO,WAAW;AAAA,cACpB,YAAY,OAAO,WAAW,GAAG,YAAY,MAAM,OAAO;AACxD,yBAAS,QAAQ,aAAa;AAC9B,uBAAO,QAAQ,EAAE;AACjB,uBAAO,WAAW;AAClB,uBAAO,QAAQ;AAAA,cACjB,YAAY,OAAO,WAAW,GAAG,YAAY,MAAM,SAAS;AAC1D,uBAAO,QAAQ,EAAE;AACjB,oBAAI,OAAO,WAAW,OAAO,SAAS;AACpC;AAAA,oBAAW;AAAA,oBACT;AAAA,kBAA6C;AAAA,gBACjD;AACA,uBAAO,UAAU;AACjB,uBAAO,WAAW;AAAA,cACpB,WAAW,MAAM,KAAK;AACpB,yBAAS,QAAQ,qBAAqB,OAAO,QAAQ;AACrD,uBAAO,WAAW;AAClB,uBAAO,QAAQ,EAAE;AAAA,cACnB,WAAW,QAAQ,CAAC,GAAG;AACrB,uBAAO,QAAQ,EAAE;AACjB,uBAAO,YAAY;AAAA,cACrB,OAAO;AACL,uBAAO,YAAY;AAAA,cACrB;AACA;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,MAAM,OAAO,GAAG;AAClB,uBAAO,QAAQ,EAAE;AACjB,uBAAO,IAAI;AAAA,cACb;AACA,qBAAO,YAAY;AACnB;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,MAAM,KAAK;AACb,uBAAO,QAAQ,EAAE;AACjB,yBAAS,QAAQ,aAAa,OAAO,OAAO;AAC5C,uBAAO,UAAU;AAAA,cACnB,OAAO;AACL,uBAAO,WAAW;AAClB,oBAAI,MAAM,KAAK;AACb,yBAAO,QAAQ,EAAE;AAAA,gBACnB,WAAW,QAAQ,CAAC,GAAG;AACrB,yBAAO,QAAQ,EAAE;AACjB,yBAAO,IAAI;AAAA,gBACb;AAAA,cACF;AACA;AAAA,YAEF,KAAK,EAAE;AACL,qBAAO,WAAW;AAClB,kBAAI,MAAM,OAAO,GAAG;AAClB,uBAAO,IAAI;AACX,uBAAO,QAAQ,EAAE;AAAA,cACnB;AACA;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,MAAM,KAAK;AACb,uBAAO,WAAW;AAClB,uBAAO,QAAQ,EAAE;AAAA,cACnB,WAAW,MAAM,KAAK;AACpB,uBAAO,QAAQ,EAAE;AACjB,uBAAO,mBAAmB,OAAO;AAAA,cACnC,WAAW,QAAQ,CAAC,GAAG;AACrB,uBAAO,WAAW;AAClB,uBAAO,QAAQ,EAAE;AACjB,uBAAO,IAAI;AAAA,cACb,OAAO;AACL,uBAAO,WAAW;AAAA,cACpB;AACA;AAAA,YAEF,KAAK,EAAE;AACL,qBAAO,WAAW;AAClB,kBAAI,MAAM,OAAO,GAAG;AAClB,uBAAO,QAAQ,EAAE;AACjB,uBAAO,IAAI;AAAA,cACb;AACA;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,MAAM,KAAK;AACb,uBAAO,QAAQ,EAAE;AAAA,cACnB,OAAO;AACL,uBAAO,WAAW;AAAA,cACpB;AACA;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,MAAM,KAAK;AACb,uBAAO,QAAQ,EAAE;AACjB,uBAAO,UAAU,SAAS,OAAO,KAAK,OAAO,OAAO;AACpD,oBAAI,OAAO,SAAS;AAClB,2BAAS,QAAQ,aAAa,OAAO,OAAO;AAAA,gBAC9C;AACA,uBAAO,UAAU;AAAA,cACnB,OAAO;AACL,uBAAO,WAAW,MAAM;AACxB,uBAAO,QAAQ,EAAE;AAAA,cACnB;AACA;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,MAAM,KAAK;AACb,2BAAW,QAAQ,mBAAmB;AAGtC,uBAAO,WAAW,OAAO;AACzB,uBAAO,QAAQ,EAAE;AAAA,cACnB,WAAW,OAAO,WAAW,OAAO,YAAY,MAAM;AACpD,uBAAO,QAAQ,EAAE;AAAA,cACnB,OAAO;AACL,uBAAO,QAAQ,EAAE;AAAA,cACnB;AACA;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,MAAM,KAAK;AACb,uBAAO,QAAQ,EAAE;AAAA,cACnB,OAAO;AACL,uBAAO,SAAS;AAAA,cAClB;AACA;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,MAAM,KAAK;AACb,uBAAO,QAAQ,EAAE;AAAA,cACnB,OAAO;AACL,uBAAO,SAAS,MAAM;AACtB,uBAAO,QAAQ,EAAE;AAAA,cACnB;AACA;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,MAAM,KAAK;AACb,oBAAI,OAAO,OAAO;AAChB,2BAAS,QAAQ,WAAW,OAAO,KAAK;AAAA,gBAC1C;AACA,yBAAS,QAAQ,cAAc;AAC/B,uBAAO,QAAQ;AACf,uBAAO,QAAQ,EAAE;AAAA,cACnB,WAAW,MAAM,KAAK;AACpB,uBAAO,SAAS;AAAA,cAClB,OAAO;AACL,uBAAO,SAAS,OAAO;AACvB,uBAAO,QAAQ,EAAE;AAAA,cACnB;AACA;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,MAAM,KAAK;AACb,uBAAO,QAAQ,EAAE;AAAA,cACnB,WAAW,aAAa,CAAC,GAAG;AAC1B,uBAAO,QAAQ,EAAE;AAAA,cACnB,OAAO;AACL,uBAAO,gBAAgB;AAAA,cACzB;AACA;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,CAAC,OAAO,gBAAgB,aAAa,CAAC,GAAG;AAC3C;AAAA,cACF,WAAW,MAAM,KAAK;AACpB,uBAAO,QAAQ,EAAE;AAAA,cACnB,OAAO;AACL,uBAAO,gBAAgB;AAAA,cACzB;AACA;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,MAAM,KAAK;AACb,yBAAS,QAAQ,2BAA2B;AAAA,kBAC1C,MAAM,OAAO;AAAA,kBACb,MAAM,OAAO;AAAA,gBACf,CAAC;AACD,uBAAO,eAAe,OAAO,eAAe;AAC5C,uBAAO,QAAQ,EAAE;AAAA,cACnB,OAAO;AACL,uBAAO,gBAAgB,MAAM;AAC7B,uBAAO,QAAQ,EAAE;AAAA,cACnB;AACA;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,QAAQ,UAAU,CAAC,GAAG;AACxB,uBAAO,WAAW;AAAA,cACpB,OAAO;AACL,uBAAO,MAAM;AACb,oBAAI,MAAM,KAAK;AACb,0BAAQ,MAAM;AAAA,gBAChB,WAAW,MAAM,KAAK;AACpB,yBAAO,QAAQ,EAAE;AAAA,gBACnB,OAAO;AACL,sBAAI,CAAC,aAAa,CAAC,GAAG;AACpB,+BAAW,QAAQ,+BAA+B;AAAA,kBACpD;AACA,yBAAO,QAAQ,EAAE;AAAA,gBACnB;AAAA,cACF;AACA;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,MAAM,KAAK;AACb,wBAAQ,QAAQ,IAAI;AACpB,yBAAS,MAAM;AAAA,cACjB,OAAO;AACL,2BAAW,QAAQ,gDAAgD;AACnE,uBAAO,QAAQ,EAAE;AAAA,cACnB;AACA;AAAA,YAEF,KAAK,EAAE;AAEL,kBAAI,aAAa,CAAC,GAAG;AACnB;AAAA,cACF,WAAW,MAAM,KAAK;AACpB,wBAAQ,MAAM;AAAA,cAChB,WAAW,MAAM,KAAK;AACpB,uBAAO,QAAQ,EAAE;AAAA,cACnB,WAAW,QAAQ,WAAW,CAAC,GAAG;AAChC,uBAAO,aAAa;AACpB,uBAAO,cAAc;AACrB,uBAAO,QAAQ,EAAE;AAAA,cACnB,OAAO;AACL,2BAAW,QAAQ,wBAAwB;AAAA,cAC7C;AACA;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,MAAM,KAAK;AACb,uBAAO,QAAQ,EAAE;AAAA,cACnB,WAAW,MAAM,KAAK;AACpB,2BAAW,QAAQ,yBAAyB;AAC5C,uBAAO,cAAc,OAAO;AAC5B,uBAAO,MAAM;AACb,wBAAQ,MAAM;AAAA,cAChB,WAAW,aAAa,CAAC,GAAG;AAC1B,uBAAO,QAAQ,EAAE;AAAA,cACnB,WAAW,QAAQ,UAAU,CAAC,GAAG;AAC/B,uBAAO,cAAc;AAAA,cACvB,OAAO;AACL,2BAAW,QAAQ,wBAAwB;AAAA,cAC7C;AACA;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,MAAM,KAAK;AACb,uBAAO,QAAQ,EAAE;AAAA,cACnB,WAAW,aAAa,CAAC,GAAG;AAC1B;AAAA,cACF,OAAO;AACL,2BAAW,QAAQ,yBAAyB;AAC5C,uBAAO,IAAI,WAAW,OAAO,UAAU,IAAI;AAC3C,uBAAO,cAAc;AACrB,yBAAS,QAAQ,eAAe;AAAA,kBAC9B,MAAM,OAAO;AAAA,kBACb,OAAO;AAAA,gBACT,CAAC;AACD,uBAAO,aAAa;AACpB,oBAAI,MAAM,KAAK;AACb,0BAAQ,MAAM;AAAA,gBAChB,WAAW,QAAQ,WAAW,CAAC,GAAG;AAChC,yBAAO,aAAa;AACpB,yBAAO,QAAQ,EAAE;AAAA,gBACnB,OAAO;AACL,6BAAW,QAAQ,wBAAwB;AAC3C,yBAAO,QAAQ,EAAE;AAAA,gBACnB;AAAA,cACF;AACA;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,aAAa,CAAC,GAAG;AACnB;AAAA,cACF,WAAW,QAAQ,CAAC,GAAG;AACrB,uBAAO,IAAI;AACX,uBAAO,QAAQ,EAAE;AAAA,cACnB,OAAO;AACL,oBAAI,CAAC,OAAO,IAAI,yBAAyB;AACvC,wBAAM,QAAQ,0BAA0B;AAAA,gBAC1C;AACA,uBAAO,QAAQ,EAAE;AACjB,uBAAO,cAAc;AAAA,cACvB;AACA;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,MAAM,OAAO,GAAG;AAClB,oBAAI,MAAM,KAAK;AACb,yBAAO,QAAQ,EAAE;AAAA,gBACnB,OAAO;AACL,yBAAO,eAAe;AAAA,gBACxB;AACA;AAAA,cACF;AACA,qBAAO,MAAM;AACb,qBAAO,IAAI;AACX,qBAAO,QAAQ,EAAE;AACjB;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,aAAa,CAAC,GAAG;AACnB,uBAAO,QAAQ,EAAE;AAAA,cACnB,WAAW,MAAM,KAAK;AACpB,wBAAQ,MAAM;AAAA,cAChB,WAAW,MAAM,KAAK;AACpB,uBAAO,QAAQ,EAAE;AAAA,cACnB,WAAW,QAAQ,WAAW,CAAC,GAAG;AAChC,2BAAW,QAAQ,kCAAkC;AACrD,uBAAO,aAAa;AACpB,uBAAO,cAAc;AACrB,uBAAO,QAAQ,EAAE;AAAA,cACnB,OAAO;AACL,2BAAW,QAAQ,wBAAwB;AAAA,cAC7C;AACA;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,CAAC,YAAY,CAAC,GAAG;AACnB,oBAAI,MAAM,KAAK;AACb,yBAAO,QAAQ,EAAE;AAAA,gBACnB,OAAO;AACL,yBAAO,eAAe;AAAA,gBACxB;AACA;AAAA,cACF;AACA,qBAAO,MAAM;AACb,kBAAI,MAAM,KAAK;AACb,wBAAQ,MAAM;AAAA,cAChB,OAAO;AACL,uBAAO,QAAQ,EAAE;AAAA,cACnB;AACA;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,CAAC,OAAO,SAAS;AACnB,oBAAI,aAAa,CAAC,GAAG;AACnB;AAAA,gBACF,WAAW,SAAS,WAAW,CAAC,GAAG;AACjC,sBAAI,OAAO,QAAQ;AACjB,2BAAO,UAAU,OAAO;AACxB,2BAAO,QAAQ,EAAE;AAAA,kBACnB,OAAO;AACL,+BAAW,QAAQ,iCAAiC;AAAA,kBACtD;AAAA,gBACF,OAAO;AACL,yBAAO,UAAU;AAAA,gBACnB;AAAA,cACF,WAAW,MAAM,KAAK;AACpB,yBAAS,MAAM;AAAA,cACjB,WAAW,QAAQ,UAAU,CAAC,GAAG;AAC/B,uBAAO,WAAW;AAAA,cACpB,WAAW,OAAO,QAAQ;AACxB,uBAAO,UAAU,OAAO,OAAO;AAC/B,uBAAO,UAAU;AACjB,uBAAO,QAAQ,EAAE;AAAA,cACnB,OAAO;AACL,oBAAI,CAAC,aAAa,CAAC,GAAG;AACpB,6BAAW,QAAQ,gCAAgC;AAAA,gBACrD;AACA,uBAAO,QAAQ,EAAE;AAAA,cACnB;AACA;AAAA,YAEF,KAAK,EAAE;AACL,kBAAI,aAAa,CAAC,GAAG;AACnB;AAAA,cACF;AACA,kBAAI,MAAM,KAAK;AACb,yBAAS,MAAM;AAAA,cACjB,OAAO;AACL,2BAAW,QAAQ,mCAAmC;AAAA,cACxD;AACA;AAAA,YAEF,KAAK,EAAE;AAAA,YACP,KAAK,EAAE;AAAA,YACP,KAAK,EAAE;AACL,kBAAI;AACJ,kBAAI;AACJ,sBAAQ,OAAO,OAAO;AAAA,gBACpB,KAAK,EAAE;AACL,gCAAc,EAAE;AAChB,2BAAS;AACT;AAAA,gBAEF,KAAK,EAAE;AACL,gCAAc,EAAE;AAChB,2BAAS;AACT;AAAA,gBAEF,KAAK,EAAE;AACL,gCAAc,EAAE;AAChB,2BAAS;AACT;AAAA,cACJ;AAEA,kBAAI,MAAM,KAAK;AACb,oBAAI,eAAe,YAAY,MAAM;AACrC,oBAAI,OAAO,IAAI,oBAAoB,CAAC,OAAO,OAAO,IAAI,YAAY,EAAE,SAAS,YAAY,GAAG;AAC1F,yBAAO,SAAS;AAChB,yBAAO,QAAQ;AACf,yBAAO,MAAM,YAAY;AAAA,gBAC3B,OAAO;AACL,yBAAO,MAAM,KAAK;AAClB,yBAAO,SAAS;AAChB,yBAAO,QAAQ;AAAA,gBACjB;AAAA,cACF,WAAW,QAAQ,OAAO,OAAO,SAAS,aAAa,aAAa,CAAC,GAAG;AACtE,uBAAO,UAAU;AAAA,cACnB,OAAO;AACL,2BAAW,QAAQ,kCAAkC;AACrD,uBAAO,MAAM,KAAK,MAAM,OAAO,SAAS;AACxC,uBAAO,SAAS;AAChB,uBAAO,QAAQ;AAAA,cACjB;AAEA;AAAA,YAEF,SAAoC;AAClC,oBAAM,IAAI,MAAM,QAAQ,oBAAoB,OAAO,KAAK;AAAA,YAC1D;AAAA,UACF;AAAA,QACF;AAEA,YAAI,OAAO,YAAY,OAAO,qBAAqB;AACjD,4BAAkB,MAAM;AAAA,QAC1B;AACA,eAAO;AAAA,MACT;AAIA,UAAI,CAAC,OAAO,eAAe;AACzB,SAAC,WAAY;AACX,cAAI,qBAAqB,OAAO;AAChC,cAAI,QAAQ,KAAK;AACjB,cAAI,gBAAgB,WAAY;AAC9B,gBAAI,WAAW;AACf,gBAAI,YAAY,CAAC;AACjB,gBAAI;AACJ,gBAAI;AACJ,gBAAI,QAAQ;AACZ,gBAAI,SAAS,UAAU;AACvB,gBAAI,CAAC,QAAQ;AACX,qBAAO;AAAA,YACT;AACA,gBAAI,SAAS;AACb,mBAAO,EAAE,QAAQ,QAAQ;AACvB,kBAAI,YAAY,OAAO,UAAU,KAAK,CAAC;AACvC,kBACE,CAAC,SAAS,SAAS;AAAA,cACnB,YAAY;AAAA,cACZ,YAAY;AAAA,cACZ,MAAM,SAAS,MAAM,WACrB;AACA,sBAAM,WAAW,yBAAyB,SAAS;AAAA,cACrD;AACA,kBAAI,aAAa,OAAQ;AACvB,0BAAU,KAAK,SAAS;AAAA,cAC1B,OAAO;AAEL,6BAAa;AACb,iCAAiB,aAAa,MAAM;AACpC,+BAAgB,YAAY,OAAS;AACrC,0BAAU,KAAK,eAAe,YAAY;AAAA,cAC5C;AACA,kBAAI,QAAQ,MAAM,UAAU,UAAU,SAAS,UAAU;AACvD,0BAAU,mBAAmB,MAAM,MAAM,SAAS;AAClD,0BAAU,SAAS;AAAA,cACrB;AAAA,YACF;AACA,mBAAO;AAAA,UACT;AAEA,cAAI,OAAO,gBAAgB;AACzB,mBAAO,eAAe,QAAQ,iBAAiB;AAAA,cAC7C,OAAO;AAAA,cACP,cAAc;AAAA,cACd,UAAU;AAAA,YACZ,CAAC;AAAA,UACH,OAAO;AACL,mBAAO,gBAAgB;AAAA,UACzB;AAAA,QACF,GAAE;AAAA,MACJ;AAAA,IACF,GAAG,OAAO,YAAY,cAAc,QAAK,MAAM,CAAC,IAAI,OAAO;AAAA;AAAA;;;AC5jD3D;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV;AACA,cAAQ,WAAW,SAAS,KAAK;AAC/B,YAAI,IAAI,CAAC,MAAM,UAAU;AACvB,iBAAO,IAAI,UAAU,CAAC;AAAA,QACxB,OAAO;AACL,iBAAO;AAAA,QACT;AAAA,MACF;AAAA,IAEF,GAAG,KAAK,OAAI;AAAA;AAAA;;;ACXZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV;AACA,UAAI;AAEJ,oBAAc,IAAI,OAAO,eAAe;AAExC,cAAQ,YAAY,SAAS,KAAK;AAChC,eAAO,IAAI,YAAY;AAAA,MACzB;AAEA,cAAQ,qBAAqB,SAAS,KAAK;AACzC,eAAO,IAAI,OAAO,CAAC,EAAE,YAAY,IAAI,IAAI,MAAM,CAAC;AAAA,MAClD;AAEA,cAAQ,cAAc,SAAS,KAAK;AAClC,eAAO,IAAI,QAAQ,aAAa,EAAE;AAAA,MACpC;AAEA,cAAQ,eAAe,SAAS,KAAK;AACnC,YAAI,CAAC,MAAM,GAAG,GAAG;AACf,gBAAM,MAAM,MAAM,IAAI,SAAS,KAAK,EAAE,IAAI,WAAW,GAAG;AAAA,QAC1D;AACA,eAAO;AAAA,MACT;AAEA,cAAQ,gBAAgB,SAAS,KAAK;AACpC,YAAI,oBAAoB,KAAK,GAAG,GAAG;AACjC,gBAAM,IAAI,YAAY,MAAM;AAAA,QAC9B;AACA,eAAO;AAAA,MACT;AAAA,IAEF,GAAG,KAAK,OAAI;AAAA;AAAA;;;ACjCZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV;AACA,UAAI,KAAK,UAAU,gBAAgB,QAAQ,SAAS,aAAa,YAAY,KAAK,cAChF,OAAO,SAAS,IAAI,IAAG;AAAE,eAAO,WAAU;AAAE,iBAAO,GAAG,MAAM,IAAI,SAAS;AAAA,QAAG;AAAA,MAAG,GAC/E,SAAS,SAAS,OAAO,QAAQ;AAAE,iBAAS,OAAO,QAAQ;AAAE,cAAI,QAAQ,KAAK,QAAQ,GAAG,EAAG,OAAM,GAAG,IAAI,OAAO,GAAG;AAAA,QAAG;AAAE,iBAAS,OAAO;AAAE,eAAK,cAAc;AAAA,QAAO;AAAE,aAAK,YAAY,OAAO;AAAW,cAAM,YAAY,IAAI,KAAK;AAAG,cAAM,YAAY,OAAO;AAAW,eAAO;AAAA,MAAO,GACzR,UAAU,CAAC,EAAE;AAEf,YAAM;AAEN,eAAS,UAAQ,QAAQ;AAEzB,YAAM;AAEN,mBAAa;AAEb,qBAAe,UAAQ,QAAQ,EAAE;AAEjC,iBAAW,mBAAsB;AAEjC,gBAAU,SAAS,OAAO;AACxB,eAAO,OAAO,UAAU,YAAa,SAAS,QAAS,OAAO,KAAK,KAAK,EAAE,WAAW;AAAA,MACvF;AAEA,oBAAc,SAASC,aAAY,MAAM,KAAK;AAC5C,YAAI,GAAG,KAAK;AACZ,aAAK,IAAI,GAAG,MAAMA,YAAW,QAAQ,IAAI,KAAK,KAAK;AACjD,oBAAUA,YAAW,CAAC;AACtB,iBAAO,QAAQ,MAAM,GAAG;AAAA,QAC1B;AACA,eAAO;AAAA,MACT;AAEA,uBAAiB,SAAS,KAAK,KAAK,OAAO;AACzC,YAAI;AACJ,qBAAa,uBAAO,OAAO,IAAI;AAC/B,mBAAW,QAAQ;AACnB,mBAAW,WAAW;AACtB,mBAAW,aAAa;AACxB,mBAAW,eAAe;AAC1B,eAAO,OAAO,eAAe,KAAK,KAAK,UAAU;AAAA,MACnD;AAEA,cAAQ,SAAU,SAAS,YAAY;AACrC,eAAO,QAAQ,UAAU;AAEzB,iBAAS,OAAO,MAAM;AACpB,eAAK,qBAAqB,KAAK,KAAK,oBAAoB,IAAI;AAC5D,eAAK,cAAc,KAAK,KAAK,aAAa,IAAI;AAC9C,eAAK,QAAQ,KAAK,KAAK,OAAO,IAAI;AAClC,eAAK,eAAe,KAAK,KAAK,cAAc,IAAI;AAChD,eAAK,eAAe,KAAK,KAAK,cAAc,IAAI;AAChD,cAAI,KAAK,KAAK;AACd,cAAI,EAAE,gBAAgB,QAAQ,SAAS;AACrC,mBAAO,IAAI,QAAQ,OAAO,IAAI;AAAA,UAChC;AACA,eAAK,UAAU,CAAC;AAChB,gBAAM,SAAS,KAAK;AACpB,eAAK,OAAO,KAAK;AACf,gBAAI,CAAC,QAAQ,KAAK,KAAK,GAAG,EAAG;AAC7B,oBAAQ,IAAI,GAAG;AACf,iBAAK,QAAQ,GAAG,IAAI;AAAA,UACtB;AACA,eAAK,OAAO,MAAM;AAChB,gBAAI,CAAC,QAAQ,KAAK,MAAM,GAAG,EAAG;AAC9B,oBAAQ,KAAK,GAAG;AAChB,iBAAK,QAAQ,GAAG,IAAI;AAAA,UACtB;AACA,cAAI,KAAK,QAAQ,OAAO;AACtB,iBAAK,QAAQ,WAAW,KAAK,QAAQ,UAAU;AAAA,UACjD;AACA,cAAI,KAAK,QAAQ,eAAe;AAC9B,gBAAI,CAAC,KAAK,QAAQ,mBAAmB;AACnC,mBAAK,QAAQ,oBAAoB,CAAC;AAAA,YACpC;AACA,iBAAK,QAAQ,kBAAkB,QAAQ,WAAW,SAAS;AAAA,UAC7D;AACA,eAAK,MAAM;AAAA,QACb;AAEA,eAAO,UAAU,eAAe,WAAW;AACzC,cAAI,OAAO;AACX,cAAI;AACF,gBAAI,KAAK,UAAU,UAAU,KAAK,QAAQ,WAAW;AACnD,sBAAQ,KAAK;AACb,mBAAK,YAAY;AACjB,mBAAK,YAAY,KAAK,UAAU,MAAM,KAAK;AAC3C,qBAAO,KAAK,UAAU,MAAM;AAAA,YAC9B,OAAO;AACL,sBAAQ,KAAK,UAAU,OAAO,GAAG,KAAK,QAAQ,SAAS;AACvD,mBAAK,YAAY,KAAK,UAAU,OAAO,KAAK,QAAQ,WAAW,KAAK,UAAU,MAAM;AACpF,mBAAK,YAAY,KAAK,UAAU,MAAM,KAAK;AAC3C,qBAAO,aAAa,KAAK,YAAY;AAAA,YACvC;AAAA,UACF,SAAS,QAAQ;AACf,kBAAM;AACN,gBAAI,CAAC,KAAK,UAAU,WAAW;AAC7B,mBAAK,UAAU,YAAY;AAC3B,qBAAO,KAAK,KAAK,GAAG;AAAA,YACtB;AAAA,UACF;AAAA,QACF;AAEA,eAAO,UAAU,eAAe,SAAS,KAAK,KAAK,UAAU;AAC3D,cAAI,EAAE,OAAO,MAAM;AACjB,gBAAI,CAAC,KAAK,QAAQ,eAAe;AAC/B,qBAAO,eAAe,KAAK,KAAK,QAAQ;AAAA,YAC1C,OAAO;AACL,qBAAO,eAAe,KAAK,KAAK,CAAC,QAAQ,CAAC;AAAA,YAC5C;AAAA,UACF,OAAO;AACL,gBAAI,EAAE,IAAI,GAAG,aAAa,QAAQ;AAChC,6BAAe,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;AAAA,YACrC;AACA,mBAAO,IAAI,GAAG,EAAE,KAAK,QAAQ;AAAA,UAC/B;AAAA,QACF;AAEA,eAAO,UAAU,QAAQ,WAAW;AAClC,cAAI,SAAS,SAAS,QAAQ;AAC9B,eAAK,mBAAmB;AACxB,eAAK,YAAY,IAAI,OAAO,KAAK,QAAQ,QAAQ;AAAA,YAC/C,MAAM;AAAA,YACN,WAAW;AAAA,YACX,OAAO,KAAK,QAAQ;AAAA,UACtB,CAAC;AACD,eAAK,UAAU,YAAY;AAC3B,eAAK,UAAU,UAAW,yBAAS,OAAO;AACxC,mBAAO,SAAS,OAAO;AACrB,oBAAM,UAAU,OAAO;AACvB,kBAAI,CAAC,MAAM,UAAU,WAAW;AAC9B,sBAAM,UAAU,YAAY;AAC5B,uBAAO,MAAM,KAAK,SAAS,KAAK;AAAA,cAClC;AAAA,YACF;AAAA,UACF,EAAG,IAAI;AACP,eAAK,UAAU,QAAS,yBAAS,OAAO;AACtC,mBAAO,WAAW;AAChB,kBAAI,CAAC,MAAM,UAAU,OAAO;AAC1B,sBAAM,UAAU,QAAQ;AACxB,uBAAO,MAAM,KAAK,OAAO,MAAM,YAAY;AAAA,cAC7C;AAAA,YACF;AAAA,UACF,EAAG,IAAI;AACP,eAAK,UAAU,QAAQ;AACvB,eAAK,mBAAmB,KAAK,QAAQ;AACrC,eAAK,eAAe;AACpB,kBAAQ,CAAC;AACT,oBAAU,KAAK,QAAQ;AACvB,oBAAU,KAAK,QAAQ;AACvB,eAAK,UAAU,YAAa,yBAAS,OAAO;AAC1C,mBAAO,SAAS,MAAM;AACpB,kBAAI,KAAK,UAAU,KAAK,cAAc;AACtC,oBAAM,CAAC;AACP,kBAAI,OAAO,IAAI;AACf,kBAAI,CAAC,MAAM,QAAQ,aAAa;AAC9B,sBAAM,KAAK;AACX,qBAAK,OAAO,KAAK;AACf,sBAAI,CAAC,QAAQ,KAAK,KAAK,GAAG,EAAG;AAC7B,sBAAI,EAAE,WAAW,QAAQ,CAAC,MAAM,QAAQ,YAAY;AAClD,wBAAI,OAAO,IAAI,CAAC;AAAA,kBAClB;AACA,6BAAW,MAAM,QAAQ,sBAAsB,YAAY,MAAM,QAAQ,qBAAqB,KAAK,WAAW,GAAG,GAAG,GAAG,IAAI,KAAK,WAAW,GAAG;AAC9I,iCAAe,MAAM,QAAQ,qBAAqB,YAAY,MAAM,QAAQ,oBAAoB,GAAG,IAAI;AACvG,sBAAI,MAAM,QAAQ,YAAY;AAC5B,0BAAM,aAAa,KAAK,cAAc,QAAQ;AAAA,kBAChD,OAAO;AACL,mCAAe,IAAI,OAAO,GAAG,cAAc,QAAQ;AAAA,kBACrD;AAAA,gBACF;AAAA,cACF;AACA,kBAAI,OAAO,IAAI,MAAM,QAAQ,oBAAoB,YAAY,MAAM,QAAQ,mBAAmB,KAAK,IAAI,IAAI,KAAK;AAChH,kBAAI,MAAM,QAAQ,OAAO;AACvB,oBAAI,MAAM,QAAQ,QAAQ,IAAI;AAAA,kBAC5B,KAAK,KAAK;AAAA,kBACV,OAAO,KAAK;AAAA,gBACd;AAAA,cACF;AACA,qBAAO,MAAM,KAAK,GAAG;AAAA,YACvB;AAAA,UACF,EAAG,IAAI;AACP,eAAK,UAAU,aAAc,yBAAS,OAAO;AAC3C,mBAAO,WAAW;AAChB,kBAAI,OAAO,UAAU,KAAK,MAAM,UAAU,KAAK,UAAU,KAAK,GAAG;AACjE,oBAAM,MAAM,IAAI;AAChB,yBAAW,IAAI,OAAO;AACtB,kBAAI,CAAC,MAAM,QAAQ,oBAAoB,CAAC,MAAM,QAAQ,uBAAuB;AAC3E,uBAAO,IAAI,OAAO;AAAA,cACpB;AACA,kBAAI,IAAI,UAAU,MAAM;AACtB,wBAAQ,IAAI;AACZ,uBAAO,IAAI;AAAA,cACb;AACA,kBAAI,MAAM,MAAM,SAAS,CAAC;AAC1B,kBAAI,IAAI,OAAO,EAAE,MAAM,OAAO,KAAK,CAAC,OAAO;AACzC,2BAAW,IAAI,OAAO;AACtB,uBAAO,IAAI,OAAO;AAAA,cACpB,OAAO;AACL,oBAAI,MAAM,QAAQ,MAAM;AACtB,sBAAI,OAAO,IAAI,IAAI,OAAO,EAAE,KAAK;AAAA,gBACnC;AACA,oBAAI,MAAM,QAAQ,WAAW;AAC3B,sBAAI,OAAO,IAAI,IAAI,OAAO,EAAE,QAAQ,WAAW,GAAG,EAAE,KAAK;AAAA,gBAC3D;AACA,oBAAI,OAAO,IAAI,MAAM,QAAQ,kBAAkB,YAAY,MAAM,QAAQ,iBAAiB,IAAI,OAAO,GAAG,QAAQ,IAAI,IAAI,OAAO;AAC/H,oBAAI,OAAO,KAAK,GAAG,EAAE,WAAW,KAAK,WAAW,OAAO,CAAC,MAAM,kBAAkB;AAC9E,wBAAM,IAAI,OAAO;AAAA,gBACnB;AAAA,cACF;AACA,kBAAI,QAAQ,GAAG,GAAG;AAChB,oBAAI,OAAO,MAAM,QAAQ,aAAa,YAAY;AAChD,wBAAM,MAAM,QAAQ,SAAS;AAAA,gBAC/B,OAAO;AACL,wBAAM,MAAM,QAAQ,aAAa,KAAK,MAAM,QAAQ,WAAW;AAAA,gBACjE;AAAA,cACF;AACA,kBAAI,MAAM,QAAQ,aAAa,MAAM;AACnC,wBAAQ,MAAQ,WAAW;AACzB,sBAAI,GAAG,KAAK;AACZ,4BAAU,CAAC;AACX,uBAAK,IAAI,GAAG,MAAM,MAAM,QAAQ,IAAI,KAAK,KAAK;AAC5C,2BAAO,MAAM,CAAC;AACd,4BAAQ,KAAK,KAAK,OAAO,CAAC;AAAA,kBAC5B;AACA,yBAAO;AAAA,gBACT,EAAG,EAAG,OAAO,QAAQ,EAAE,KAAK,GAAG;AAC/B,iBAAC,WAAW;AACV,sBAAI;AACJ,sBAAI;AACF,2BAAO,MAAM,MAAM,QAAQ,UAAU,OAAO,KAAK,EAAE,QAAQ,GAAG,GAAG;AAAA,kBACnE,SAAS,QAAQ;AACf,0BAAM;AACN,2BAAO,MAAM,KAAK,SAAS,GAAG;AAAA,kBAChC;AAAA,gBACF,GAAG;AAAA,cACL;AACA,kBAAI,MAAM,QAAQ,oBAAoB,CAAC,MAAM,QAAQ,cAAc,OAAO,QAAQ,UAAU;AAC1F,oBAAI,CAAC,MAAM,QAAQ,uBAAuB;AACxC,yBAAO,CAAC;AACR,sBAAI,MAAM,QAAQ,WAAW,KAAK;AAChC,yBAAK,MAAM,QAAQ,OAAO,IAAI,IAAI,MAAM,QAAQ,OAAO;AACvD,2BAAO,IAAI,MAAM,QAAQ,OAAO;AAAA,kBAClC;AACA,sBAAI,CAAC,MAAM,QAAQ,mBAAmB,MAAM,QAAQ,WAAW,KAAK;AAClE,yBAAK,MAAM,QAAQ,OAAO,IAAI,IAAI,MAAM,QAAQ,OAAO;AACvD,2BAAO,IAAI,MAAM,QAAQ,OAAO;AAAA,kBAClC;AACA,sBAAI,OAAO,oBAAoB,GAAG,EAAE,SAAS,GAAG;AAC9C,yBAAK,MAAM,QAAQ,QAAQ,IAAI;AAAA,kBACjC;AACA,wBAAM;AAAA,gBACR,WAAW,GAAG;AACZ,oBAAE,MAAM,QAAQ,QAAQ,IAAI,EAAE,MAAM,QAAQ,QAAQ,KAAK,CAAC;AAC1D,6BAAW,CAAC;AACZ,uBAAK,OAAO,KAAK;AACf,wBAAI,CAAC,QAAQ,KAAK,KAAK,GAAG,EAAG;AAC7B,mCAAe,UAAU,KAAK,IAAI,GAAG,CAAC;AAAA,kBACxC;AACA,oBAAE,MAAM,QAAQ,QAAQ,EAAE,KAAK,QAAQ;AACvC,yBAAO,IAAI,OAAO;AAClB,sBAAI,OAAO,KAAK,GAAG,EAAE,WAAW,KAAK,WAAW,OAAO,CAAC,MAAM,kBAAkB;AAC9E,0BAAM,IAAI,OAAO;AAAA,kBACnB;AAAA,gBACF;AAAA,cACF;AACA,kBAAI,MAAM,SAAS,GAAG;AACpB,uBAAO,MAAM,aAAa,GAAG,UAAU,GAAG;AAAA,cAC5C,OAAO;AACL,oBAAI,MAAM,QAAQ,cAAc;AAC9B,wBAAM;AACN,wBAAM,CAAC;AACP,iCAAe,KAAK,UAAU,GAAG;AAAA,gBACnC;AACA,sBAAM,eAAe;AACrB,sBAAM,UAAU,QAAQ;AACxB,uBAAO,MAAM,KAAK,OAAO,MAAM,YAAY;AAAA,cAC7C;AAAA,YACF;AAAA,UACF,EAAG,IAAI;AACP,mBAAU,yBAAS,OAAO;AACxB,mBAAO,SAAS,MAAM;AACpB,kBAAI,WAAW;AACf,kBAAI,MAAM,MAAM,SAAS,CAAC;AAC1B,kBAAI,GAAG;AACL,kBAAE,OAAO,KAAK;AACd,oBAAI,MAAM,QAAQ,oBAAoB,MAAM,QAAQ,yBAAyB,MAAM,QAAQ,oBAAoB,MAAM,QAAQ,qBAAqB,KAAK,QAAQ,QAAQ,EAAE,EAAE,KAAK,MAAM,KAAK;AACzL,oBAAE,MAAM,QAAQ,QAAQ,IAAI,EAAE,MAAM,QAAQ,QAAQ,KAAK,CAAC;AAC1D,8BAAY;AAAA,oBACV,SAAS;AAAA,kBACX;AACA,4BAAU,OAAO,IAAI;AACrB,sBAAI,MAAM,QAAQ,WAAW;AAC3B,8BAAU,OAAO,IAAI,UAAU,OAAO,EAAE,QAAQ,WAAW,GAAG,EAAE,KAAK;AAAA,kBACvE;AACA,oBAAE,MAAM,QAAQ,QAAQ,EAAE,KAAK,SAAS;AAAA,gBAC1C;AACA,uBAAO;AAAA,cACT;AAAA,YACF;AAAA,UACF,EAAG,IAAI;AACP,eAAK,UAAU,SAAS;AACxB,iBAAO,KAAK,UAAU,UAAW,yBAAS,OAAO;AAC/C,mBAAO,SAAS,MAAM;AACpB,kBAAI;AACJ,kBAAI,OAAO,IAAI;AACf,kBAAI,GAAG;AACL,uBAAO,EAAE,QAAQ;AAAA,cACnB;AAAA,YACF;AAAA,UACF,EAAG,IAAI;AAAA,QACT;AAEA,eAAO,UAAU,cAAc,SAAS,KAAK,IAAI;AAC/C,cAAI;AACJ,cAAK,MAAM,QAAS,OAAO,OAAO,YAAY;AAC5C,iBAAK,GAAG,OAAO,SAAS,QAAQ;AAC9B,mBAAK,MAAM;AACX,qBAAO,GAAG,MAAM,MAAM;AAAA,YACxB,CAAC;AACD,iBAAK,GAAG,SAAS,SAASC,MAAK;AAC7B,mBAAK,MAAM;AACX,qBAAO,GAAGA,IAAG;AAAA,YACf,CAAC;AAAA,UACH;AACA,cAAI;AACF,kBAAM,IAAI,SAAS;AACnB,gBAAI,IAAI,KAAK,MAAM,IAAI;AACrB,mBAAK,KAAK,OAAO,IAAI;AACrB,qBAAO;AAAA,YACT;AACA,kBAAM,IAAI,SAAS,GAAG;AACtB,gBAAI,KAAK,QAAQ,OAAO;AACtB,mBAAK,YAAY;AACjB,2BAAa,KAAK,YAAY;AAC9B,qBAAO,KAAK;AAAA,YACd;AACA,mBAAO,KAAK,UAAU,MAAM,GAAG,EAAE,MAAM;AAAA,UACzC,SAAS,QAAQ;AACf,kBAAM;AACN,gBAAI,EAAE,KAAK,UAAU,aAAa,KAAK,UAAU,QAAQ;AACvD,mBAAK,KAAK,SAAS,GAAG;AACtB,qBAAO,KAAK,UAAU,YAAY;AAAA,YACpC,WAAW,KAAK,UAAU,OAAO;AAC/B,oBAAM;AAAA,YACR;AAAA,UACF;AAAA,QACF;AAEA,eAAO,UAAU,qBAAqB,SAAS,KAAK;AAClD,iBAAO,IAAI,QAAS,yBAAS,OAAO;AAClC,mBAAO,SAAS,SAAS,QAAQ;AAC/B,qBAAO,MAAM,YAAY,KAAK,SAAS,KAAK,OAAO;AACjD,oBAAI,KAAK;AACP,yBAAO,OAAO,GAAG;AAAA,gBACnB,OAAO;AACL,yBAAO,QAAQ,KAAK;AAAA,gBACtB;AAAA,cACF,CAAC;AAAA,YACH;AAAA,UACF,EAAG,IAAI,CAAC;AAAA,QACV;AAEA,eAAO;AAAA,MAET,EAAG,MAAM;AAET,cAAQ,cAAc,SAAS,KAAK,GAAG,GAAG;AACxC,YAAI,IAAI,SAAS;AACjB,YAAI,KAAK,MAAM;AACb,cAAI,OAAO,MAAM,YAAY;AAC3B,iBAAK;AAAA,UACP;AACA,cAAI,OAAO,MAAM,UAAU;AACzB,sBAAU;AAAA,UACZ;AAAA,QACF,OAAO;AACL,cAAI,OAAO,MAAM,YAAY;AAC3B,iBAAK;AAAA,UACP;AACA,oBAAU,CAAC;AAAA,QACb;AACA,iBAAS,IAAI,QAAQ,OAAO,OAAO;AACnC,eAAO,OAAO,YAAY,KAAK,EAAE;AAAA,MACnC;AAEA,cAAQ,qBAAqB,SAAS,KAAK,GAAG;AAC5C,YAAI,SAAS;AACb,YAAI,OAAO,MAAM,UAAU;AACzB,oBAAU;AAAA,QACZ;AACA,iBAAS,IAAI,QAAQ,OAAO,OAAO;AACnC,eAAO,OAAO,mBAAmB,GAAG;AAAA,MACtC;AAAA,IAEF,GAAG,KAAK,OAAI;AAAA;AAAA;;;AC1YZ;AAAA;AAAA;AAAA;AACA,KAAC,WAAW;AACV;AACA,UAAI,SAAS,UAAU,QAAQ,YAC7B,SAAS,SAAS,OAAO,QAAQ;AAAE,iBAAS,OAAO,QAAQ;AAAE,cAAI,QAAQ,KAAK,QAAQ,GAAG,EAAG,OAAM,GAAG,IAAI,OAAO,GAAG;AAAA,QAAG;AAAE,iBAAS,OAAO;AAAE,eAAK,cAAc;AAAA,QAAO;AAAE,aAAK,YAAY,OAAO;AAAW,cAAM,YAAY,IAAI,KAAK;AAAG,cAAM,YAAY,OAAO;AAAW,eAAO;AAAA,MAAO,GACzR,UAAU,CAAC,EAAE;AAEf,iBAAW;AAEX,gBAAU;AAEV,eAAS;AAET,mBAAa;AAEb,cAAQ,WAAW,SAAS;AAE5B,cAAQ,aAAa;AAErB,cAAQ,kBAAmB,SAAS,YAAY;AAC9C,eAAO,iBAAiB,UAAU;AAElC,iBAAS,gBAAgB,SAAS;AAChC,eAAK,UAAU;AAAA,QACjB;AAEA,eAAO;AAAA,MAET,EAAG,KAAK;AAER,cAAQ,UAAU,QAAQ;AAE1B,cAAQ,SAAS,OAAO;AAExB,cAAQ,cAAc,OAAO;AAE7B,cAAQ,qBAAqB,OAAO;AAAA,IAEtC,GAAG,KAAK,OAAI;AAAA;AAAA;;;ACtCZ;AAAA,IAAAC,gBAAkB;;;ACAlB;AAAA,IAAAC,gBAAkB;;;ACAlB;AAAA,IAAAC,gBAA2D;AAG3D,qBAAsB;;;ACHtB;;;ACAA;;;ACAA;;;ACAA;;;ACAA;AAAA,oBAAmC;;;ACAnC;AAAO,IAAM,aAAa,oBAAI,IAAI,CAAC,QAAQ,YAAY,CAAC;AACjD,IAAM,oBAAoB;AAAA,EAC7B,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,SAAS;AAAA,EACT,UAAU;AAAA,EACV,WAAW;AAAA,EACX,cAAc;AAAA,EACd,MAAM;AAAA,EACN,8CAA8C;AAAA,EAC9C,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,qBAAqB;AAAA,EACrB,iBAAiB;AAAA,EACjB,4DAA4D;AAAA,EAC5D,kBAAkB;AAAA,EAClB,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,eAAe;AAAA,EACf,eAAe;AAAA,EACf,cAAc;AAAA,EACd,wBAAwB;AAAA,EACxB,kBAAkB;AAAA,EAClB,aAAa;AAAA,EACb,cAAc;AAAA,EACd,SAAS;AAAA,EACT,aAAa;AAAA,EACb,oBAAoB;AAAA,EACpB,WAAW;AAAA,EACX,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,WAAW;AAAA,EACX,eAAe;AAAA,EACf,cAAc;AAAA,EACd,SAAS;AAAA,EACT,aAAa;AAAA,EACb,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,eAAe;AAAA,EACf,cAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,OAAO;AAAA,EACP,eAAe;AAAA,EACf,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,kBAAkB;AAAA,EAClB,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,UAAU;AAAA,EACV,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,oBAAoB;AAAA,EACpB,WAAW;AAAA,EACX,SAAS;AAAA,EACT,eAAe;AAAA,EACf,cAAc;AAAA,EACd,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,SAAS;AAAA,EACT,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,WAAW;AAAA,EACX,sBAAsB;AAAA,EACtB,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,UAAU;AAAA,EACV,aAAa;AAAA,EACb,cAAc;AAAA,EACd,qBAAqB;AAAA,EACrB,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB,UAAU;AAAA,EACV,UAAU;AAAA,EACV,gBAAgB;AAAA,EAChB,sBAAsB;AAAA,EACtB,sBAAsB;AAAA,EACtB,OAAO;AAAA,EACP,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,uBAAuB;AAAA,EACvB,gBAAgB;AAAA,EAChB,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,sBAAsB;AAAA,EACtB,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB,kBAAkB;AAAA,EAClB,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,oEAAoE;AAAA,EACpE,6CAA6C;AAAA,EAC7C,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,oBAAoB;AAAA,EACpB,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,4BAA4B;AAAA,EAC5B,qBAAqB;AAAA,EACrB,2BAA2B;AAAA,EAC3B,aAAa;AAAA,EACb,WAAW;AAAA,EACX,oBAAoB;AAAA,EACpB,aAAa;AAAA,EACb,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,SAAS;AAAA,EACT,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,MAAM;AAAA,EACN,eAAe;AAAA,EACf,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,mBAAmB;AAAA,EACnB,OAAO;AAAA,EACP,UAAU;AAAA,EACV,UAAU;AAAA,EACV,qBAAqB;AAAA,EACrB,8BAA8B;AAAA,EAC9B,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,aAAa;AAAA,EACb,SAAS;AAAA,EACT,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,WAAW;AAAA,EACX,cAAc;AAAA,EACd,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB,yBAAyB;AAAA,EACzB,mBAAmB;AAAA,EACnB,8BAA8B;AAAA,EAC9B,UAAU;AAAA,EACV,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,qBAAqB;AAAA,EACrB,MAAM;AAAA,EACN,UAAU;AAAA,EACV,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,eAAe;AAAA,EACf,mBAAmB;AAAA,EACnB,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB,SAAS;AAAA,EACT,cAAc;AAAA,EACd,SAAS;AAAA,EACT,eAAe;AAAA,EACf,eAAe;AAAA,EACf,oBAAoB;AAAA,EACpB,eAAe;AAAA,EACf,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,aAAa;AAAA,EACb,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,MAAM;AAAA,EACN,cAAc;AAAA,EACd,oBAAoB;AAAA,EACpB,eAAe;AAAA,EACf,cAAc;AAAA,EACd,eAAe;AAAA,EACf,aAAa;AAAA,EACb,SAAS;AAAA,EACT,iBAAiB;AAAA,EACjB,wBAAwB;AAAA,EACxB,iBAAiB;AAAA,EACjB,mBAAmB;AAAA,EACnB,aAAa;AAAA,EACb,sBAAsB;AAAA,EACtB,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,kBAAkB;AAAA,EAClB,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,uBAAuB;AAAA,EACvB,MAAM;AAAA,EACN,aAAa;AAAA,EACb,oBAAoB;AAAA,EACpB,YAAY;AAAA,EACZ,sBAAsB;AAAA,EACtB,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,aAAa;AAAA,EACb,WAAW;AAAA,EACX,cAAc;AAAA,EACd,qBAAqB;AAAA,EACrB,0BAA0B;AAAA,EAC1B,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,WAAW;AAAA,EACX,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,YAAY;AAAA,EACZ,oBAAoB;AAAA,EACpB,gBAAgB;AAAA,EAChB,wBAAwB;AAAA,EACxB,SAAS;AAAA,EACT,UAAU;AAAA,EACV,MAAM;AAAA,EACN,UAAU;AAAA,EACV,aAAa;AAAA,EACb,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,sBAAsB;AAAA,EACtB,aAAa;AAAA,EACb,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,qBAAqB;AAAA,EACrB,mBAAmB;AAAA,EACnB,gBAAgB;AAAA,EAChB,sBAAsB;AAAA,EACtB,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,uBAAuB;AAAA,EACvB,wBAAwB;AAAA,EACxB,cAAc;AAAA,EACd,eAAe;AAAA,EACf,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,4BAA4B;AAAA,EAC5B,eAAe;AAAA,EACf,cAAc;AAAA,EACd,aAAa;AAAA,EACb,eAAe;AAAA,EACf,uBAAuB;AAAA,EACvB,mBAAmB;AAAA,EACnB,mBAAmB;AAAA,EACnB,uBAAuB;AAAA,EACvB,uBAAuB;AAAA,EACvB,iBAAiB;AAAA,EACjB,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,WAAW;AAAA,EACX,cAAc;AAAA,EACd,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,UAAU;AACd;;;ADrTA,IAAM,qBAAqB,OAAO,kBAAkB;AAChD,QAAM,YAAY,UAAM,kCAAmB,aAAa;AACxD,QAAM,eAAe,OAAO,KAAK,SAAS;AAC1C,MAAI,aAAa,WAAW,KAAK,CAAC,WAAW,IAAI,aAAa,CAAC,CAAC,GAAG;AAC/D,UAAM,IAAI,MAAM,mBAAmB;AAAA,EACvC;AACA,SAAO;AACX;AACA,IAAM,uBAAuB,CAAC,SAAS,QAAQ;AAC/C,IAAM,kBAAkB,CAAC,8BAA8B,MAAM,aAAa;AACtE,QAAM,EAAE,GAAG,GAAG,GAAG,eAAe,IAAI;AACpC,MAAI,EAAE,UAAU;AACZ,iCAA6B,EAAE,QAAQ,IAAI,qBAAqB,QAAQ,IAAI,kBAAkB,QAAQ,IAAI;AAAA,EAC9G;AACA,aAAW,CAAC,MAAMC,SAAQ,KAAK,OAAO,QAAQ,cAAc,GAAG;AAC3D,eAAW,SAASA,WAAU;AAC1B,sBAAgB,8BAA8B,OAAO,IAAI;AAAA,IAC7D;AAAA,EACJ;AACJ;AACO,IAAM,kCAAkC,OAAO,aAAa;AAC/D,QAAM,+BAA+B,CAAC;AACtC,QAAM,YAAY,MAAM,mBAAmB,SAAS,UAAU,OAAO;AACrE,QAAM,UAAU,OAAO,KAAK,SAAS,EAAE,CAAC;AACxC,kBAAgB,8BAA8B,UAAU,OAAO,GAAG,OAAO;AACzE,SAAO;AACX;;;AF1BO,IAAM,4BAA4B,OAAO,yBAAyB,sBAAsB;AAC3F,QAAM,sBAAsB,MAAM,2BAAyB,mBAAmB,uBAAuB;AACrG,QAAM,uBAAuB,OAAO,EAAE,MAAM,MAAM;AAC9C,UAAM,mBAAmB,CAAC;AAC1B,UAAM,mBAAmB,CAAC;AAC1B,eAAW,CAAC,QAAQ,QAAQ,KAAK,OAAO,QAAQ,KAAK,GAAG;AACpD,UAAI,UAAU;AACV,yBAAiB,KAAK;AAAA,UAClB,IAAI;AAAA,UACJ,UAAU,MAAM,gCAAgC,SAAS,IAAI;AAAA,QACjE,CAAC;AAAA,MACL,OACK;AACD,yBAAiB,KAAK,EAAE,IAAI,OAAO,CAAC;AAAA,MACxC;AAAA,IACJ;AACA,WAAO;AAAA,MACH;AAAA,MACA;AAAA,IACJ;AAAA,EACJ;AACA,SAAO;AAAA,IACH,WAAW,OAAO,aAAa;AAC3B,YAAM,EAAE,iBAAiB,IAAI,MAAM,qBAAqB,QAAQ;AAChE,YAAM,oBAAoB,SAAS,EAAE,cAAc,iBAAiB,CAAC;AAAA,IACzE;AAAA,IACA,aAAa,OAAO,aAAa;AAC7B,YAAM,EAAE,kBAAkB,iBAAiB,IAAI,MAAM,qBAAqB,QAAQ;AAClF,UAAI,iBAAiB,SAAS,GAAG;AAC7B,cAAM,oBAAoB,UAAU,gBAAgB;AAAA,MACxD;AACA,UAAI,iBAAiB,SAAS,GAAG;AAC7B,cAAM,oBAAoB,YAAY,gBAAgB;AAAA,MAC1D;AAAA,IACJ;AAAA,EACJ;AACJ;;;AItCA;;;ANQA,eAAsBC,2BACpB,eACA,uBACA;AACA,QAAM,UAAU,MAAM;AAAA,IACpB;AAAA,IACA;AAAA,EACF,EAAE,MAAM,CAAC,UAAmB;AAC1B,UAAM,IAAI,SAAS;AAAA,MACjB,MAAM,aAAa,kCAAkC;AAAA,MACrD,OAAO;AAAA,IACT,CAAC;AAAA,EACH,CAAC;AAED,SAAO;AAAA,IACL,WAAW,OAAO,aAA2B;AAC3C,UAAI;AACF,cAAM,QAAQ,UAAU,QAAQ;AAAA,MAClC,SAAS,OAAO;AACd,cAAM,IAAI,SAAS;AAAA,UACjB,MAAM,aAAa,qCAAqC;AAAA,UACxD,OAAO;AAAA,QACT,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,aAAa,OAAO,aAA6B;AAC/C,UAAI;AACF,cAAM,QAAQ,YAAY,QAAQ;AAAA,MACpC,SAAS,OAAO;AACd,cAAM,IAAI,SAAS;AAAA,UACjB,MAAM,aAAa,uCAAuC;AAAA,UAC1D,OAAO;AAAA,QACT,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AACF;;;AO5CA;AAAA,mBAA4B;AAMrB,SAAS,UAAU;AACxB,QAAM,EAAE,MAAM,IAAI,gBAAgB;AAClC,QAAM,aAAa,cAAc;AAEjC,QAAM,uBAAmB;AAAA,IACvB,OAAO,SAAmB;AACxB,YAAM,YAAY,MAAM,qBAAqB,MAAM,aAAa;AAEhE,aAAO,WAAW,iBAAiB;AAAA,QACjC,GAAG;AAAA,QACH,OAAO,KAAK,MAAM,OAAO,SAAS;AAAA,QAClC,QAAQ,cAAc,KAAK,MAAM;AAAA,MACnC,CAAC;AAAA,IACH;AAAA,IACA,CAAC,MAAM,eAAe,UAAU;AAAA,EAClC;AAEA,QAAM,qBAAiB;AAAA,IACrB,CAAC,OAAe,eAA+B;AAC7C,aAAO,WAAW,eAAe,OAAO;AAAA,QACtC,GAAG;AAAA,QACH,QAAQ,cAAc,WAAW,MAAM;AAAA,MACzC,CAAC;AAAA,IACH;AAAA,IACA,CAAC,UAAU;AAAA,EACb;AAEA,SAAO,EAAE,kBAAkB,eAAe;AAC5C;;;AClCA;AAAA,IAAAC,gBAAoC;AACpC,sBAAsB;AAMf,SAAS,aAAa,eAAuB;AAClD,QAAM,EAAE,YAAY,IAAI,iBAAiB;AAEzC,QAAM,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC,QAAI,wBAAS,MAAM;AACjD,UAAMC,eAAU,uBAAM,KAAK;AAAA,MACzB,KAAK,gBAAgB,aAAa;AAAA,MAClC,eAAe;AAAA,MACf,iBAAiB;AAAA,IACnB,CAAC;AAED,WAAO;AAAA,MACL,SAAAA;AAAA,MACA,eAAe,CAAC,iBAA+C;AAC7D,cAAM,mBAAmB;AAAA,UACvB,CAAC,WAA+D;AAC9D,kBAAM,aAAa,IAAI,IAAI,MAAM;AACjC,kBAAM,SAAqB,CAAC;AAE5B,uBAAW,CAAC,MAAM,MAAM,KAAK,YAAY;AACvC,qBAAO,KAAK,EAAE,MAAM,OAAO,CAAC;AAAA,YAC9B;AAEA,yBAAa,MAAM;AAAA,UACrB;AAAA,UACA;AAAA,QACF;AAEA,QAAAA,SAAQ,GAAG,UAAU,CAAC,SAAS,iBAAiB,MAAM,QAAQ,CAAC;AAC/D,QAAAA,SAAQ,GAAG,OAAO,CAAC,SAAS,iBAAiB,MAAM,QAAQ,CAAC;AAC5D,QAAAA,SAAQ,GAAG,UAAU,CAAC,SAAS,iBAAiB,MAAM,QAAQ,CAAC;AAAA,MACjE;AAAA,IACF;AAAA,EACF,CAAC;AAED,+BAAU,MAAM;AACd,WAAO,MAAM;AACX,cAAQ,MAAM,EAAE,MAAM,WAAW;AAAA,IACnC;AAAA,EACF,GAAG,CAAC,SAAS,WAAW,CAAC;AAEzB,SAAO;AACT;;;AChDA;AAAA,IAAAC,gBAA4B;AAKrB,SAAS,kBAAkB;AAChC,QAAM,EAAE,MAAM,IAAI,gBAAgB;AAClC,QAAM,eAAe,UAAU;AAE/B,aAAO;AAAA,IACL,OAAO;AAAA,MACL,aAAa;AAAA,MACb;AAAA,MACA;AAAA,IACF,MAIM;AACJ,YAAM,EAAE,iBAAiB,IAAI,iBAAiB;AAC9C,YAAM,MAAM,IAAI;AAAA,QACd,MAAM;AAAA,QACN,oBAAoB;AAAA,MACtB;AAEA,YAAM,cAAc,kBAChB,kBAAkB,MAAM,aAAa,UAAU,GAAG,GAAG,IACrD;AAEJ,YAAM,YAAY,eAAe;AAEjC,UAAI,aAAa,IAAI,aAAa,OAAO,UAAU,CAAC;AACpD,UAAI,aAAa,IAAI,0BAA0B,SAAS;AACxD,UAAI,aAAa,IAAI,oBAAoB,SAAS;AAClD,UAAI,aAAa,IAAI,WAAW,MAAM;AAEtC,aAAO,IAAI,SAAS;AAAA,IACtB;AAAA,IACA,CAAC,MAAM,YAAY,YAAY;AAAA,EACjC;AACF;AAEA,IAAM,mBAAmB,CAAC,UAAkB;AAC1C,QAAM,MAAM,IAAI,IAAI,KAAK;AACzB,MAAI,WAAW,IAAI,aAAa,UAAU,OAAO;AACjD,SAAO,IAAI,SAAS;AACtB;;;AC9CA;AAAA,IAAAC,gBAAoC;AAM7B,SAAS,qBAAqB;AACnC,QAAM,EAAE,YAAY,IAAI,iBAAiB;AACzC,QAAM,CAAC,MAAM,QAAI,wBAAS,MAAM;AAC9B,UAAM,WAAW,oBAAoB;AAErC,WAAO;AAAA,MACL,GAAG;AAAA,MACH,MAAM,mBAAmB,UAA4B;AACnD,YAAI;AACF,iBAAO,MAAM,SAAS,mBAAmB,QAAQ;AAAA,QACnD,SAAS,OAAO;AACd,gBAAM,IAAI,SAAS;AAAA,YACjB,MAAM,aAAa,wCAAwC;AAAA,YAC3D,OAAO;AAAA,UACT,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,+BAAU,MAAM;AACd,WAAO,MAAM;AACX,aAAO,MAAM,EAAE,MAAM,WAAW;AAAA,IAClC;AAAA,EACF,GAAG,CAAC,QAAQ,WAAW,CAAC;AAExB,SAAO;AACT;;;AXZA,IAAM,4BAAwB,6BAAqC,IAAI;AAEhE,IAAM,yBAGR,CAAC,EAAE,UAAAC,WAAU,WAAW,gBAAgB,MAAM;AACjD,QAAM,OAAO,QAAQ;AACrB,QAAM,EAAE,MAAM,IAAI,gBAAgB;AAClC,QAAM,EAAE,kBAAkB,eAAe,IAAI,QAAQ;AACrD,QAAM,kBAAkB,gBAAgB;AACxC,QAAM,WAAW,mBAAmB;AACpC,QAAM,YAAY,aAAa,MAAM,aAAa;AAElD,QAAM,CAAC,WAAW,YAAY,QAAI,wBAAS,KAAK;AAChD,QAAM,CAAC,sBAAsB,uBAAuB,QAAI,wBAAS,KAAK;AAEtE,QAAM,EAAE,OAAO,IAAI,SAAS,YAAY;AACtC,UAAM,UAAU,OAAO,CAAC;AACxB,UAAM,gBAAgB,MAAM,oBAAoB,MAAM,aAAa;AACnE,UAAM,sBAAsB,MAAMC;AAAA,MAChC,MAAM;AAAA,MACN,cAAc;AAAA,IAChB;AAEA,UAAM,CAAC,MAAM,QAAQ,IAAI,MAAM,QAAQ,IAAI;AAAA,MACzC,cAAc,QAAQ;AAAA,MACtB,cAAc,YAAY;AAAA,IAC5B,CAAC;AAED,UAAM,CAAC,EAAE,IAAI,MAAM,CAAC,IAAI,MAAM,QAAQ,IAAI;AAAA,MACxC,iBAAiB,IAAI;AAAA,MACrB,oBAAoB,UAAU,QAAQ;AAAA,IACxC,CAAC;AAED,aAAS,GAAG,aAAa,MAAM;AAC7B,8BAAwB,IAAI;AAAA,IAC9B,CAAC;AACD,aAAS,GAAG,gBAAgB,MAAM;AAChC,8BAAwB,KAAK;AAAA,IAC/B,CAAC;AACD,aAAS,GAAG,kBAAkB,OAAOC,cAAa;AAChD,UAAI;AACF,cAAM,QAAQ,YAAY;AACxB,uBAAa,IAAI;AACjB,gBAAM,cAAc,qBAAqB,EAAE,UAAAA,UAAS,CAAC;AACrD,gBAAM,oBAAoB,YAAYA,SAAQ;AAAA,QAChD,CAAC;AAAA,MACH,SAAS,OAAO;AACd,aAAK,KAAK;AAAA,MACZ,UAAE;AACA,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF,CAAC;AAED,UAAM,EAAE,MAAM,MAAM,IAAI,MAAM,SAAS,MAAM,OAAO;AAAA,MAClD,aAAa,cAAc;AAAA,MAC3B,mBAAmB;AAAA,IACrB,CAAC;AAED,cAAU,cAAc,OAAO,WAAW;AACxC,UAAI;AACF,cAAM,QAAQ,YAAY;AACxB,uBAAa,IAAI;AAEjB,gBAAM,EAAE,UAAAA,WAAU,MAAAC,MAAK,IAAI,MAAM,cAAc,eAAe,MAAM;AAEpE,gBAAM,QAAQ,IAAI;AAAA,YAChBA,SAAQ,eAAe,OAAOA,KAAI;AAAA,YAClCD,aAAY,SAAS,mBAAmBA,SAAQ;AAAA,YAChDA,aAAY,oBAAoB,YAAYA,SAAQ;AAAA,UACtD,CAAC;AAAA,QACH,CAAC;AAAA,MACH,SAAS,OAAO;AACd,aAAK,KAAK;AAAA,MACZ,UAAE;AACA,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF,CAAC;AAED,UAAM,eAAe,MAAM,gBAAgB;AAAA,MACzC,aAAa;AAAA,MACb,YAAY;AAAA,MACZ;AAAA,IACF,CAAC;AAED,UAAM,YAAY,YAAY;AAE9B,WAAO,EAAE,aAAa;AAAA,EACxB,GAAG,CAAC,CAAC;AAEL,aAAO,sBAAM,QAAQ;AAAA,IACnB,OAAO,MAAM;AAAA,IACb,SAAS,MACP,8BAAAE,QAAA,cAAC,WAAQ,MAAM,8BAAAA,QAAA,cAAC,SAAM,SAAQ,uCAAsC,GAAI;AAAA,IAE1E,SAAS,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,MACnC,8BAAAA,QAAA;AAAA,MAAC,sBAAsB;AAAA,MAAtB;AAAA,QACC,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,kBAAkB;AAAA,QACpB;AAAA;AAAA,MAECJ;AAAA,IACH;AAAA,EAEJ,CAAC;AACH;AAEO,SAAS,oBAAoC;AAClD,QAAM,cAAU,0BAAW,qBAAqB;AAChD,MAAI,WAAW,MAAM;AACnB,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;;;AD3HO,IAAM,mBAAuB,MAAM;AACxC,QAAM,EAAE,cAAc,sBAAsB,iBAAiB,IAC3D,kBAAkB;AACpB,QAAM,EAAE,SAAS,cAAc,IAAI;AAAA,IAAiB,MAClD,YAAY,YAAY;AAAA,EAC1B;AAEA,oBAAS,CAAC,UAAU;AAClB,QAAI,UAAU,OAAO,CAAC,sBAAsB;AAC1C,WAAK,cAAc;AAAA,IACrB;AAAA,EACF,CAAC;AAED,SACE,8BAAAK,QAAA,4BAAAA,QAAA,gBACE,8BAAAA,QAAA,cAAC,SAAM,MAAK,aACV,8BAAAA,QAAA,cAAC,SAAM,MAAK,aACV,8BAAAA,QAAA,cAAC,SAAM,SAAQ,mBAAkB,CACnC,GAAS,KACT,8BAAAA,QAAA,cAAC,SAAM,SAAQ,uCAAsC,CACvD,GACA,8BAAAA,QAAA,cAAC,eAAI,WAAW,GAAG,YAAY,KAC5B,CAAC,wBACA,8BAAAA,QAAA,cAAC,SAAM,MAAK,aACV,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,YAAY,CAAC,8BAAAA,QAAA,cAAC,OAAI,OAAM,KAAI,CAAE;AAAA;AAAA,EAChC,CACF,GAED,wBACC,8BAAAA,QAAA,4BAAAA,QAAA,gBACG,mBACC,8BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACC,MAAM,8BAAAA,QAAA,cAAC,SAAM,SAAQ,oCAAmC;AAAA;AAAA,EAC1D,IAEA,8BAAAA,QAAA,cAAC,SAAM,MAAK,aACV,8BAAAA,QAAA,cAAC,SAAM,SAAQ,oCAAmC,CACpD,CAEJ,CAEJ,CACF;AAEJ;;;ADxDO,IAAM,aAAyC,CAAC,EAAE,WAAAC,WAAU,MAAM;AACvE,SACE,8BAAAC,QAAA,cAAC,0BAAuB,WAAWD,cACjC,8BAAAC,QAAA,cAAC,sBAAiB,CACpB;AAEJ;","names":["XMLDOMImplementation","XMLDOMErrorHandler","XMLDOMStringList","XMLDOMConfiguration","XMLAttribute","XMLNamedNodeMap","XMLElement","XMLCharacterData","XMLCData","XMLComment","XMLDeclaration","XMLDTDAttList","XMLDTDEntity","XMLDTDElement","XMLDTDNotation","XMLDocType","XMLRaw","XMLText","XMLProcessingInstruction","XMLDummy","XMLNodeList","XMLNode","XMLStringifier","XMLWriterBase","XMLStringWriter","XMLDocument","XMLDocumentCB","XMLStreamWriter","require_lib","s","processors","err","import_react","import_react","import_react","children","createIntellisenseAdapter","import_react","watcher","import_react","import_react","children","createIntellisenseAdapter","document","code","React","React","useTunnel","React"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/xml2js/lib/defaults.js","../../../node_modules/xmlbuilder/lib/Utility.js","../../../node_modules/xmlbuilder/lib/XMLDOMImplementation.js","../../../node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js","../../../node_modules/xmlbuilder/lib/XMLDOMStringList.js","../../../node_modules/xmlbuilder/lib/XMLDOMConfiguration.js","../../../node_modules/xmlbuilder/lib/NodeType.js","../../../node_modules/xmlbuilder/lib/XMLAttribute.js","../../../node_modules/xmlbuilder/lib/XMLNamedNodeMap.js","../../../node_modules/xmlbuilder/lib/XMLElement.js","../../../node_modules/xmlbuilder/lib/XMLCharacterData.js","../../../node_modules/xmlbuilder/lib/XMLCData.js","../../../node_modules/xmlbuilder/lib/XMLComment.js","../../../node_modules/xmlbuilder/lib/XMLDeclaration.js","../../../node_modules/xmlbuilder/lib/XMLDTDAttList.js","../../../node_modules/xmlbuilder/lib/XMLDTDEntity.js","../../../node_modules/xmlbuilder/lib/XMLDTDElement.js","../../../node_modules/xmlbuilder/lib/XMLDTDNotation.js","../../../node_modules/xmlbuilder/lib/XMLDocType.js","../../../node_modules/xmlbuilder/lib/XMLRaw.js","../../../node_modules/xmlbuilder/lib/XMLText.js","../../../node_modules/xmlbuilder/lib/XMLProcessingInstruction.js","../../../node_modules/xmlbuilder/lib/XMLDummy.js","../../../node_modules/xmlbuilder/lib/XMLNodeList.js","../../../node_modules/xmlbuilder/lib/DocumentPosition.js","../../../node_modules/xmlbuilder/lib/XMLNode.js","../../../node_modules/xmlbuilder/lib/XMLStringifier.js","../../../node_modules/xmlbuilder/lib/WriterState.js","../../../node_modules/xmlbuilder/lib/XMLWriterBase.js","../../../node_modules/xmlbuilder/lib/XMLStringWriter.js","../../../node_modules/xmlbuilder/lib/XMLDocument.js","../../../node_modules/xmlbuilder/lib/XMLDocumentCB.js","../../../node_modules/xmlbuilder/lib/XMLStreamWriter.js","../../../node_modules/xmlbuilder/lib/index.js","../../../node_modules/xml2js/lib/builder.js","../../../node_modules/sax/lib/sax.js","../../../node_modules/xml2js/lib/bom.js","../../../node_modules/xml2js/lib/processors.js","../../../node_modules/xml2js/lib/parser.js","../../../node_modules/xml2js/lib/xml2js.js","../../cli-site/src/components/DevCommand/DevCommand.tsx","../../cli-site/src/components/DevCommand/DevCommandScreen.tsx","../../cli-site/src/components/DevCommand/DevEnvironment.tsx","../../cli-site/src/intellisense-adapter.ts","../../../node_modules/@wix/anyide-intellisense-adapter/dist/index.js","../../../node_modules/@wix/anyide-intellisense-adapter/dist/intellisenseAdapter.js","../../../node_modules/@wix/anyide-document-utils/dist/index.js","../../../node_modules/@wix/anyide-document-utils/dist/getNicknamesToComponentTypesMap.js","../../../node_modules/@wix/anyide-document-utils/dist/constants.js","../../../node_modules/@wix/anyide-intellisense-adapter/dist/types.js","../../cli-site/src/components/DevCommand/useVelo.ts","../../cli-site/src/components/DevCommand/useFsWatcher.ts","../../cli-site/src/components/DevCommand/useDevEditorUrl.ts","../../cli-site/src/components/DevCommand/useWebSocketServer.ts"],"sourcesContent":["// Generated by CoffeeScript 1.12.7\n(function() {\n exports.defaults = {\n \"0.1\": {\n explicitCharkey: false,\n trim: true,\n normalize: true,\n normalizeTags: false,\n attrkey: \"@\",\n charkey: \"#\",\n explicitArray: false,\n ignoreAttrs: false,\n mergeAttrs: false,\n explicitRoot: false,\n validator: null,\n xmlns: false,\n explicitChildren: false,\n childkey: '@@',\n charsAsChildren: false,\n includeWhiteChars: false,\n async: false,\n strict: true,\n attrNameProcessors: null,\n attrValueProcessors: null,\n tagNameProcessors: null,\n valueProcessors: null,\n emptyTag: ''\n },\n \"0.2\": {\n explicitCharkey: false,\n trim: false,\n normalize: false,\n normalizeTags: false,\n attrkey: \"$\",\n charkey: \"_\",\n explicitArray: true,\n ignoreAttrs: false,\n mergeAttrs: false,\n explicitRoot: true,\n validator: null,\n xmlns: false,\n explicitChildren: false,\n preserveChildrenOrder: false,\n childkey: '$$',\n charsAsChildren: false,\n includeWhiteChars: false,\n async: false,\n strict: true,\n attrNameProcessors: null,\n attrValueProcessors: null,\n tagNameProcessors: null,\n valueProcessors: null,\n rootName: 'root',\n xmldec: {\n 'version': '1.0',\n 'encoding': 'UTF-8',\n 'standalone': true\n },\n doctype: null,\n renderOpts: {\n 'pretty': true,\n 'indent': ' ',\n 'newline': '\\n'\n },\n headless: false,\n chunkSize: 10000,\n emptyTag: '',\n cdata: false\n }\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var assign, getValue, isArray, isEmpty, isFunction, isObject, isPlainObject,\n slice = [].slice,\n hasProp = {}.hasOwnProperty;\n\n assign = function() {\n var i, key, len, source, sources, target;\n target = arguments[0], sources = 2 <= arguments.length ? slice.call(arguments, 1) : [];\n if (isFunction(Object.assign)) {\n Object.assign.apply(null, arguments);\n } else {\n for (i = 0, len = sources.length; i < len; i++) {\n source = sources[i];\n if (source != null) {\n for (key in source) {\n if (!hasProp.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n }\n }\n return target;\n };\n\n isFunction = function(val) {\n return !!val && Object.prototype.toString.call(val) === '[object Function]';\n };\n\n isObject = function(val) {\n var ref;\n return !!val && ((ref = typeof val) === 'function' || ref === 'object');\n };\n\n isArray = function(val) {\n if (isFunction(Array.isArray)) {\n return Array.isArray(val);\n } else {\n return Object.prototype.toString.call(val) === '[object Array]';\n }\n };\n\n isEmpty = function(val) {\n var key;\n if (isArray(val)) {\n return !val.length;\n } else {\n for (key in val) {\n if (!hasProp.call(val, key)) continue;\n return false;\n }\n return true;\n }\n };\n\n isPlainObject = function(val) {\n var ctor, proto;\n return isObject(val) && (proto = Object.getPrototypeOf(val)) && (ctor = proto.constructor) && (typeof ctor === 'function') && (ctor instanceof ctor) && (Function.prototype.toString.call(ctor) === Function.prototype.toString.call(Object));\n };\n\n getValue = function(obj) {\n if (isFunction(obj.valueOf)) {\n return obj.valueOf();\n } else {\n return obj;\n }\n };\n\n module.exports.assign = assign;\n\n module.exports.isFunction = isFunction;\n\n module.exports.isObject = isObject;\n\n module.exports.isArray = isArray;\n\n module.exports.isEmpty = isEmpty;\n\n module.exports.isPlainObject = isPlainObject;\n\n module.exports.getValue = getValue;\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLDOMImplementation;\n\n module.exports = XMLDOMImplementation = (function() {\n function XMLDOMImplementation() {}\n\n XMLDOMImplementation.prototype.hasFeature = function(feature, version) {\n return true;\n };\n\n XMLDOMImplementation.prototype.createDocumentType = function(qualifiedName, publicId, systemId) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLDOMImplementation.prototype.createDocument = function(namespaceURI, qualifiedName, doctype) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLDOMImplementation.prototype.createHTMLDocument = function(title) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLDOMImplementation.prototype.getFeature = function(feature, version) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n return XMLDOMImplementation;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLDOMErrorHandler;\n\n module.exports = XMLDOMErrorHandler = (function() {\n function XMLDOMErrorHandler() {}\n\n XMLDOMErrorHandler.prototype.handleError = function(error) {\n throw new Error(error);\n };\n\n return XMLDOMErrorHandler;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLDOMStringList;\n\n module.exports = XMLDOMStringList = (function() {\n function XMLDOMStringList(arr) {\n this.arr = arr || [];\n }\n\n Object.defineProperty(XMLDOMStringList.prototype, 'length', {\n get: function() {\n return this.arr.length;\n }\n });\n\n XMLDOMStringList.prototype.item = function(index) {\n return this.arr[index] || null;\n };\n\n XMLDOMStringList.prototype.contains = function(str) {\n return this.arr.indexOf(str) !== -1;\n };\n\n return XMLDOMStringList;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLDOMConfiguration, XMLDOMErrorHandler, XMLDOMStringList;\n\n XMLDOMErrorHandler = require('./XMLDOMErrorHandler');\n\n XMLDOMStringList = require('./XMLDOMStringList');\n\n module.exports = XMLDOMConfiguration = (function() {\n function XMLDOMConfiguration() {\n var clonedSelf;\n this.defaultParams = {\n \"canonical-form\": false,\n \"cdata-sections\": false,\n \"comments\": false,\n \"datatype-normalization\": false,\n \"element-content-whitespace\": true,\n \"entities\": true,\n \"error-handler\": new XMLDOMErrorHandler(),\n \"infoset\": true,\n \"validate-if-schema\": false,\n \"namespaces\": true,\n \"namespace-declarations\": true,\n \"normalize-characters\": false,\n \"schema-location\": '',\n \"schema-type\": '',\n \"split-cdata-sections\": true,\n \"validate\": false,\n \"well-formed\": true\n };\n this.params = clonedSelf = Object.create(this.defaultParams);\n }\n\n Object.defineProperty(XMLDOMConfiguration.prototype, 'parameterNames', {\n get: function() {\n return new XMLDOMStringList(Object.keys(this.defaultParams));\n }\n });\n\n XMLDOMConfiguration.prototype.getParameter = function(name) {\n if (this.params.hasOwnProperty(name)) {\n return this.params[name];\n } else {\n return null;\n }\n };\n\n XMLDOMConfiguration.prototype.canSetParameter = function(name, value) {\n return true;\n };\n\n XMLDOMConfiguration.prototype.setParameter = function(name, value) {\n if (value != null) {\n return this.params[name] = value;\n } else {\n return delete this.params[name];\n }\n };\n\n return XMLDOMConfiguration;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n module.exports = {\n Element: 1,\n Attribute: 2,\n Text: 3,\n CData: 4,\n EntityReference: 5,\n EntityDeclaration: 6,\n ProcessingInstruction: 7,\n Comment: 8,\n Document: 9,\n DocType: 10,\n DocumentFragment: 11,\n NotationDeclaration: 12,\n Declaration: 201,\n Raw: 202,\n AttributeDeclaration: 203,\n ElementDeclaration: 204,\n Dummy: 205\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLAttribute, XMLNode;\n\n NodeType = require('./NodeType');\n\n XMLNode = require('./XMLNode');\n\n module.exports = XMLAttribute = (function() {\n function XMLAttribute(parent, name, value) {\n this.parent = parent;\n if (this.parent) {\n this.options = this.parent.options;\n this.stringify = this.parent.stringify;\n }\n if (name == null) {\n throw new Error(\"Missing attribute name. \" + this.debugInfo(name));\n }\n this.name = this.stringify.name(name);\n this.value = this.stringify.attValue(value);\n this.type = NodeType.Attribute;\n this.isId = false;\n this.schemaTypeInfo = null;\n }\n\n Object.defineProperty(XMLAttribute.prototype, 'nodeType', {\n get: function() {\n return this.type;\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'ownerElement', {\n get: function() {\n return this.parent;\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'textContent', {\n get: function() {\n return this.value;\n },\n set: function(value) {\n return this.value = value || '';\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'namespaceURI', {\n get: function() {\n return '';\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'prefix', {\n get: function() {\n return '';\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'localName', {\n get: function() {\n return this.name;\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'specified', {\n get: function() {\n return true;\n }\n });\n\n XMLAttribute.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLAttribute.prototype.toString = function(options) {\n return this.options.writer.attribute(this, this.options.writer.filterOptions(options));\n };\n\n XMLAttribute.prototype.debugInfo = function(name) {\n name = name || this.name;\n if (name == null) {\n return \"parent: <\" + this.parent.name + \">\";\n } else {\n return \"attribute: {\" + name + \"}, parent: <\" + this.parent.name + \">\";\n }\n };\n\n XMLAttribute.prototype.isEqualNode = function(node) {\n if (node.namespaceURI !== this.namespaceURI) {\n return false;\n }\n if (node.prefix !== this.prefix) {\n return false;\n }\n if (node.localName !== this.localName) {\n return false;\n }\n if (node.value !== this.value) {\n return false;\n }\n return true;\n };\n\n return XMLAttribute;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLNamedNodeMap;\n\n module.exports = XMLNamedNodeMap = (function() {\n function XMLNamedNodeMap(nodes) {\n this.nodes = nodes;\n }\n\n Object.defineProperty(XMLNamedNodeMap.prototype, 'length', {\n get: function() {\n return Object.keys(this.nodes).length || 0;\n }\n });\n\n XMLNamedNodeMap.prototype.clone = function() {\n return this.nodes = null;\n };\n\n XMLNamedNodeMap.prototype.getNamedItem = function(name) {\n return this.nodes[name];\n };\n\n XMLNamedNodeMap.prototype.setNamedItem = function(node) {\n var oldNode;\n oldNode = this.nodes[node.nodeName];\n this.nodes[node.nodeName] = node;\n return oldNode || null;\n };\n\n XMLNamedNodeMap.prototype.removeNamedItem = function(name) {\n var oldNode;\n oldNode = this.nodes[name];\n delete this.nodes[name];\n return oldNode || null;\n };\n\n XMLNamedNodeMap.prototype.item = function(index) {\n return this.nodes[Object.keys(this.nodes)[index]] || null;\n };\n\n XMLNamedNodeMap.prototype.getNamedItemNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLNamedNodeMap.prototype.setNamedItemNS = function(node) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLNamedNodeMap.prototype.removeNamedItemNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n return XMLNamedNodeMap;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLAttribute, XMLElement, XMLNamedNodeMap, XMLNode, getValue, isFunction, isObject, ref,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n ref = require('./Utility'), isObject = ref.isObject, isFunction = ref.isFunction, getValue = ref.getValue;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n XMLAttribute = require('./XMLAttribute');\n\n XMLNamedNodeMap = require('./XMLNamedNodeMap');\n\n module.exports = XMLElement = (function(superClass) {\n extend(XMLElement, superClass);\n\n function XMLElement(parent, name, attributes) {\n var child, j, len, ref1;\n XMLElement.__super__.constructor.call(this, parent);\n if (name == null) {\n throw new Error(\"Missing element name. \" + this.debugInfo());\n }\n this.name = this.stringify.name(name);\n this.type = NodeType.Element;\n this.attribs = {};\n this.schemaTypeInfo = null;\n if (attributes != null) {\n this.attribute(attributes);\n }\n if (parent.type === NodeType.Document) {\n this.isRoot = true;\n this.documentObject = parent;\n parent.rootObject = this;\n if (parent.children) {\n ref1 = parent.children;\n for (j = 0, len = ref1.length; j < len; j++) {\n child = ref1[j];\n if (child.type === NodeType.DocType) {\n child.name = this.name;\n break;\n }\n }\n }\n }\n }\n\n Object.defineProperty(XMLElement.prototype, 'tagName', {\n get: function() {\n return this.name;\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'namespaceURI', {\n get: function() {\n return '';\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'prefix', {\n get: function() {\n return '';\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'localName', {\n get: function() {\n return this.name;\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'id', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'className', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'classList', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'attributes', {\n get: function() {\n if (!this.attributeMap || !this.attributeMap.nodes) {\n this.attributeMap = new XMLNamedNodeMap(this.attribs);\n }\n return this.attributeMap;\n }\n });\n\n XMLElement.prototype.clone = function() {\n var att, attName, clonedSelf, ref1;\n clonedSelf = Object.create(this);\n if (clonedSelf.isRoot) {\n clonedSelf.documentObject = null;\n }\n clonedSelf.attribs = {};\n ref1 = this.attribs;\n for (attName in ref1) {\n if (!hasProp.call(ref1, attName)) continue;\n att = ref1[attName];\n clonedSelf.attribs[attName] = att.clone();\n }\n clonedSelf.children = [];\n this.children.forEach(function(child) {\n var clonedChild;\n clonedChild = child.clone();\n clonedChild.parent = clonedSelf;\n return clonedSelf.children.push(clonedChild);\n });\n return clonedSelf;\n };\n\n XMLElement.prototype.attribute = function(name, value) {\n var attName, attValue;\n if (name != null) {\n name = getValue(name);\n }\n if (isObject(name)) {\n for (attName in name) {\n if (!hasProp.call(name, attName)) continue;\n attValue = name[attName];\n this.attribute(attName, attValue);\n }\n } else {\n if (isFunction(value)) {\n value = value.apply();\n }\n if (this.options.keepNullAttributes && (value == null)) {\n this.attribs[name] = new XMLAttribute(this, name, \"\");\n } else if (value != null) {\n this.attribs[name] = new XMLAttribute(this, name, value);\n }\n }\n return this;\n };\n\n XMLElement.prototype.removeAttribute = function(name) {\n var attName, j, len;\n if (name == null) {\n throw new Error(\"Missing attribute name. \" + this.debugInfo());\n }\n name = getValue(name);\n if (Array.isArray(name)) {\n for (j = 0, len = name.length; j < len; j++) {\n attName = name[j];\n delete this.attribs[attName];\n }\n } else {\n delete this.attribs[name];\n }\n return this;\n };\n\n XMLElement.prototype.toString = function(options) {\n return this.options.writer.element(this, this.options.writer.filterOptions(options));\n };\n\n XMLElement.prototype.att = function(name, value) {\n return this.attribute(name, value);\n };\n\n XMLElement.prototype.a = function(name, value) {\n return this.attribute(name, value);\n };\n\n XMLElement.prototype.getAttribute = function(name) {\n if (this.attribs.hasOwnProperty(name)) {\n return this.attribs[name].value;\n } else {\n return null;\n }\n };\n\n XMLElement.prototype.setAttribute = function(name, value) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getAttributeNode = function(name) {\n if (this.attribs.hasOwnProperty(name)) {\n return this.attribs[name];\n } else {\n return null;\n }\n };\n\n XMLElement.prototype.setAttributeNode = function(newAttr) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.removeAttributeNode = function(oldAttr) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByTagName = function(name) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getAttributeNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.setAttributeNS = function(namespaceURI, qualifiedName, value) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.removeAttributeNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getAttributeNodeNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.setAttributeNodeNS = function(newAttr) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByTagNameNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.hasAttribute = function(name) {\n return this.attribs.hasOwnProperty(name);\n };\n\n XMLElement.prototype.hasAttributeNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.setIdAttribute = function(name, isId) {\n if (this.attribs.hasOwnProperty(name)) {\n return this.attribs[name].isId;\n } else {\n return isId;\n }\n };\n\n XMLElement.prototype.setIdAttributeNS = function(namespaceURI, localName, isId) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.setIdAttributeNode = function(idAttr, isId) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByTagName = function(tagname) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByTagNameNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByClassName = function(classNames) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.isEqualNode = function(node) {\n var i, j, ref1;\n if (!XMLElement.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) {\n return false;\n }\n if (node.namespaceURI !== this.namespaceURI) {\n return false;\n }\n if (node.prefix !== this.prefix) {\n return false;\n }\n if (node.localName !== this.localName) {\n return false;\n }\n if (node.attribs.length !== this.attribs.length) {\n return false;\n }\n for (i = j = 0, ref1 = this.attribs.length - 1; 0 <= ref1 ? j <= ref1 : j >= ref1; i = 0 <= ref1 ? ++j : --j) {\n if (!this.attribs[i].isEqualNode(node.attribs[i])) {\n return false;\n }\n }\n return true;\n };\n\n return XMLElement;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLCharacterData, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n module.exports = XMLCharacterData = (function(superClass) {\n extend(XMLCharacterData, superClass);\n\n function XMLCharacterData(parent) {\n XMLCharacterData.__super__.constructor.call(this, parent);\n this.value = '';\n }\n\n Object.defineProperty(XMLCharacterData.prototype, 'data', {\n get: function() {\n return this.value;\n },\n set: function(value) {\n return this.value = value || '';\n }\n });\n\n Object.defineProperty(XMLCharacterData.prototype, 'length', {\n get: function() {\n return this.value.length;\n }\n });\n\n Object.defineProperty(XMLCharacterData.prototype, 'textContent', {\n get: function() {\n return this.value;\n },\n set: function(value) {\n return this.value = value || '';\n }\n });\n\n XMLCharacterData.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLCharacterData.prototype.substringData = function(offset, count) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLCharacterData.prototype.appendData = function(arg) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLCharacterData.prototype.insertData = function(offset, arg) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLCharacterData.prototype.deleteData = function(offset, count) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLCharacterData.prototype.replaceData = function(offset, count, arg) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLCharacterData.prototype.isEqualNode = function(node) {\n if (!XMLCharacterData.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) {\n return false;\n }\n if (node.data !== this.data) {\n return false;\n }\n return true;\n };\n\n return XMLCharacterData;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLCData, XMLCharacterData,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLCharacterData = require('./XMLCharacterData');\n\n module.exports = XMLCData = (function(superClass) {\n extend(XMLCData, superClass);\n\n function XMLCData(parent, text) {\n XMLCData.__super__.constructor.call(this, parent);\n if (text == null) {\n throw new Error(\"Missing CDATA text. \" + this.debugInfo());\n }\n this.name = \"#cdata-section\";\n this.type = NodeType.CData;\n this.value = this.stringify.cdata(text);\n }\n\n XMLCData.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLCData.prototype.toString = function(options) {\n return this.options.writer.cdata(this, this.options.writer.filterOptions(options));\n };\n\n return XMLCData;\n\n })(XMLCharacterData);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLCharacterData, XMLComment,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLCharacterData = require('./XMLCharacterData');\n\n module.exports = XMLComment = (function(superClass) {\n extend(XMLComment, superClass);\n\n function XMLComment(parent, text) {\n XMLComment.__super__.constructor.call(this, parent);\n if (text == null) {\n throw new Error(\"Missing comment text. \" + this.debugInfo());\n }\n this.name = \"#comment\";\n this.type = NodeType.Comment;\n this.value = this.stringify.comment(text);\n }\n\n XMLComment.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLComment.prototype.toString = function(options) {\n return this.options.writer.comment(this, this.options.writer.filterOptions(options));\n };\n\n return XMLComment;\n\n })(XMLCharacterData);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDeclaration, XMLNode, isObject,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n isObject = require('./Utility').isObject;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDeclaration = (function(superClass) {\n extend(XMLDeclaration, superClass);\n\n function XMLDeclaration(parent, version, encoding, standalone) {\n var ref;\n XMLDeclaration.__super__.constructor.call(this, parent);\n if (isObject(version)) {\n ref = version, version = ref.version, encoding = ref.encoding, standalone = ref.standalone;\n }\n if (!version) {\n version = '1.0';\n }\n this.type = NodeType.Declaration;\n this.version = this.stringify.xmlVersion(version);\n if (encoding != null) {\n this.encoding = this.stringify.xmlEncoding(encoding);\n }\n if (standalone != null) {\n this.standalone = this.stringify.xmlStandalone(standalone);\n }\n }\n\n XMLDeclaration.prototype.toString = function(options) {\n return this.options.writer.declaration(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDeclaration;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDAttList, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDTDAttList = (function(superClass) {\n extend(XMLDTDAttList, superClass);\n\n function XMLDTDAttList(parent, elementName, attributeName, attributeType, defaultValueType, defaultValue) {\n XMLDTDAttList.__super__.constructor.call(this, parent);\n if (elementName == null) {\n throw new Error(\"Missing DTD element name. \" + this.debugInfo());\n }\n if (attributeName == null) {\n throw new Error(\"Missing DTD attribute name. \" + this.debugInfo(elementName));\n }\n if (!attributeType) {\n throw new Error(\"Missing DTD attribute type. \" + this.debugInfo(elementName));\n }\n if (!defaultValueType) {\n throw new Error(\"Missing DTD attribute default. \" + this.debugInfo(elementName));\n }\n if (defaultValueType.indexOf('#') !== 0) {\n defaultValueType = '#' + defaultValueType;\n }\n if (!defaultValueType.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/)) {\n throw new Error(\"Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT. \" + this.debugInfo(elementName));\n }\n if (defaultValue && !defaultValueType.match(/^(#FIXED|#DEFAULT)$/)) {\n throw new Error(\"Default value only applies to #FIXED or #DEFAULT. \" + this.debugInfo(elementName));\n }\n this.elementName = this.stringify.name(elementName);\n this.type = NodeType.AttributeDeclaration;\n this.attributeName = this.stringify.name(attributeName);\n this.attributeType = this.stringify.dtdAttType(attributeType);\n if (defaultValue) {\n this.defaultValue = this.stringify.dtdAttDefault(defaultValue);\n }\n this.defaultValueType = defaultValueType;\n }\n\n XMLDTDAttList.prototype.toString = function(options) {\n return this.options.writer.dtdAttList(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDTDAttList;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDEntity, XMLNode, isObject,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n isObject = require('./Utility').isObject;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDTDEntity = (function(superClass) {\n extend(XMLDTDEntity, superClass);\n\n function XMLDTDEntity(parent, pe, name, value) {\n XMLDTDEntity.__super__.constructor.call(this, parent);\n if (name == null) {\n throw new Error(\"Missing DTD entity name. \" + this.debugInfo(name));\n }\n if (value == null) {\n throw new Error(\"Missing DTD entity value. \" + this.debugInfo(name));\n }\n this.pe = !!pe;\n this.name = this.stringify.name(name);\n this.type = NodeType.EntityDeclaration;\n if (!isObject(value)) {\n this.value = this.stringify.dtdEntityValue(value);\n this.internal = true;\n } else {\n if (!value.pubID && !value.sysID) {\n throw new Error(\"Public and/or system identifiers are required for an external entity. \" + this.debugInfo(name));\n }\n if (value.pubID && !value.sysID) {\n throw new Error(\"System identifier is required for a public external entity. \" + this.debugInfo(name));\n }\n this.internal = false;\n if (value.pubID != null) {\n this.pubID = this.stringify.dtdPubID(value.pubID);\n }\n if (value.sysID != null) {\n this.sysID = this.stringify.dtdSysID(value.sysID);\n }\n if (value.nData != null) {\n this.nData = this.stringify.dtdNData(value.nData);\n }\n if (this.pe && this.nData) {\n throw new Error(\"Notation declaration is not allowed in a parameter entity. \" + this.debugInfo(name));\n }\n }\n }\n\n Object.defineProperty(XMLDTDEntity.prototype, 'publicId', {\n get: function() {\n return this.pubID;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'systemId', {\n get: function() {\n return this.sysID;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'notationName', {\n get: function() {\n return this.nData || null;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'inputEncoding', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'xmlEncoding', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'xmlVersion', {\n get: function() {\n return null;\n }\n });\n\n XMLDTDEntity.prototype.toString = function(options) {\n return this.options.writer.dtdEntity(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDTDEntity;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDElement, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDTDElement = (function(superClass) {\n extend(XMLDTDElement, superClass);\n\n function XMLDTDElement(parent, name, value) {\n XMLDTDElement.__super__.constructor.call(this, parent);\n if (name == null) {\n throw new Error(\"Missing DTD element name. \" + this.debugInfo());\n }\n if (!value) {\n value = '(#PCDATA)';\n }\n if (Array.isArray(value)) {\n value = '(' + value.join(',') + ')';\n }\n this.name = this.stringify.name(name);\n this.type = NodeType.ElementDeclaration;\n this.value = this.stringify.dtdElementValue(value);\n }\n\n XMLDTDElement.prototype.toString = function(options) {\n return this.options.writer.dtdElement(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDTDElement;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDNotation, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDTDNotation = (function(superClass) {\n extend(XMLDTDNotation, superClass);\n\n function XMLDTDNotation(parent, name, value) {\n XMLDTDNotation.__super__.constructor.call(this, parent);\n if (name == null) {\n throw new Error(\"Missing DTD notation name. \" + this.debugInfo(name));\n }\n if (!value.pubID && !value.sysID) {\n throw new Error(\"Public or system identifiers are required for an external entity. \" + this.debugInfo(name));\n }\n this.name = this.stringify.name(name);\n this.type = NodeType.NotationDeclaration;\n if (value.pubID != null) {\n this.pubID = this.stringify.dtdPubID(value.pubID);\n }\n if (value.sysID != null) {\n this.sysID = this.stringify.dtdSysID(value.sysID);\n }\n }\n\n Object.defineProperty(XMLDTDNotation.prototype, 'publicId', {\n get: function() {\n return this.pubID;\n }\n });\n\n Object.defineProperty(XMLDTDNotation.prototype, 'systemId', {\n get: function() {\n return this.sysID;\n }\n });\n\n XMLDTDNotation.prototype.toString = function(options) {\n return this.options.writer.dtdNotation(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDTDNotation;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDocType, XMLNamedNodeMap, XMLNode, isObject,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n isObject = require('./Utility').isObject;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n XMLDTDAttList = require('./XMLDTDAttList');\n\n XMLDTDEntity = require('./XMLDTDEntity');\n\n XMLDTDElement = require('./XMLDTDElement');\n\n XMLDTDNotation = require('./XMLDTDNotation');\n\n XMLNamedNodeMap = require('./XMLNamedNodeMap');\n\n module.exports = XMLDocType = (function(superClass) {\n extend(XMLDocType, superClass);\n\n function XMLDocType(parent, pubID, sysID) {\n var child, i, len, ref, ref1, ref2;\n XMLDocType.__super__.constructor.call(this, parent);\n this.type = NodeType.DocType;\n if (parent.children) {\n ref = parent.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n if (child.type === NodeType.Element) {\n this.name = child.name;\n break;\n }\n }\n }\n this.documentObject = parent;\n if (isObject(pubID)) {\n ref1 = pubID, pubID = ref1.pubID, sysID = ref1.sysID;\n }\n if (sysID == null) {\n ref2 = [pubID, sysID], sysID = ref2[0], pubID = ref2[1];\n }\n if (pubID != null) {\n this.pubID = this.stringify.dtdPubID(pubID);\n }\n if (sysID != null) {\n this.sysID = this.stringify.dtdSysID(sysID);\n }\n }\n\n Object.defineProperty(XMLDocType.prototype, 'entities', {\n get: function() {\n var child, i, len, nodes, ref;\n nodes = {};\n ref = this.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n if ((child.type === NodeType.EntityDeclaration) && !child.pe) {\n nodes[child.name] = child;\n }\n }\n return new XMLNamedNodeMap(nodes);\n }\n });\n\n Object.defineProperty(XMLDocType.prototype, 'notations', {\n get: function() {\n var child, i, len, nodes, ref;\n nodes = {};\n ref = this.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n if (child.type === NodeType.NotationDeclaration) {\n nodes[child.name] = child;\n }\n }\n return new XMLNamedNodeMap(nodes);\n }\n });\n\n Object.defineProperty(XMLDocType.prototype, 'publicId', {\n get: function() {\n return this.pubID;\n }\n });\n\n Object.defineProperty(XMLDocType.prototype, 'systemId', {\n get: function() {\n return this.sysID;\n }\n });\n\n Object.defineProperty(XMLDocType.prototype, 'internalSubset', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n XMLDocType.prototype.element = function(name, value) {\n var child;\n child = new XMLDTDElement(this, name, value);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.attList = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {\n var child;\n child = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.entity = function(name, value) {\n var child;\n child = new XMLDTDEntity(this, false, name, value);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.pEntity = function(name, value) {\n var child;\n child = new XMLDTDEntity(this, true, name, value);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.notation = function(name, value) {\n var child;\n child = new XMLDTDNotation(this, name, value);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.toString = function(options) {\n return this.options.writer.docType(this, this.options.writer.filterOptions(options));\n };\n\n XMLDocType.prototype.ele = function(name, value) {\n return this.element(name, value);\n };\n\n XMLDocType.prototype.att = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {\n return this.attList(elementName, attributeName, attributeType, defaultValueType, defaultValue);\n };\n\n XMLDocType.prototype.ent = function(name, value) {\n return this.entity(name, value);\n };\n\n XMLDocType.prototype.pent = function(name, value) {\n return this.pEntity(name, value);\n };\n\n XMLDocType.prototype.not = function(name, value) {\n return this.notation(name, value);\n };\n\n XMLDocType.prototype.up = function() {\n return this.root() || this.documentObject;\n };\n\n XMLDocType.prototype.isEqualNode = function(node) {\n if (!XMLDocType.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) {\n return false;\n }\n if (node.name !== this.name) {\n return false;\n }\n if (node.publicId !== this.publicId) {\n return false;\n }\n if (node.systemId !== this.systemId) {\n return false;\n }\n return true;\n };\n\n return XMLDocType;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLNode, XMLRaw,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLNode = require('./XMLNode');\n\n module.exports = XMLRaw = (function(superClass) {\n extend(XMLRaw, superClass);\n\n function XMLRaw(parent, text) {\n XMLRaw.__super__.constructor.call(this, parent);\n if (text == null) {\n throw new Error(\"Missing raw text. \" + this.debugInfo());\n }\n this.type = NodeType.Raw;\n this.value = this.stringify.raw(text);\n }\n\n XMLRaw.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLRaw.prototype.toString = function(options) {\n return this.options.writer.raw(this, this.options.writer.filterOptions(options));\n };\n\n return XMLRaw;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLCharacterData, XMLText,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLCharacterData = require('./XMLCharacterData');\n\n module.exports = XMLText = (function(superClass) {\n extend(XMLText, superClass);\n\n function XMLText(parent, text) {\n XMLText.__super__.constructor.call(this, parent);\n if (text == null) {\n throw new Error(\"Missing element text. \" + this.debugInfo());\n }\n this.name = \"#text\";\n this.type = NodeType.Text;\n this.value = this.stringify.text(text);\n }\n\n Object.defineProperty(XMLText.prototype, 'isElementContentWhitespace', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n Object.defineProperty(XMLText.prototype, 'wholeText', {\n get: function() {\n var next, prev, str;\n str = '';\n prev = this.previousSibling;\n while (prev) {\n str = prev.data + str;\n prev = prev.previousSibling;\n }\n str += this.data;\n next = this.nextSibling;\n while (next) {\n str = str + next.data;\n next = next.nextSibling;\n }\n return str;\n }\n });\n\n XMLText.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLText.prototype.toString = function(options) {\n return this.options.writer.text(this, this.options.writer.filterOptions(options));\n };\n\n XMLText.prototype.splitText = function(offset) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLText.prototype.replaceWholeText = function(content) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n return XMLText;\n\n })(XMLCharacterData);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLCharacterData, XMLProcessingInstruction,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLCharacterData = require('./XMLCharacterData');\n\n module.exports = XMLProcessingInstruction = (function(superClass) {\n extend(XMLProcessingInstruction, superClass);\n\n function XMLProcessingInstruction(parent, target, value) {\n XMLProcessingInstruction.__super__.constructor.call(this, parent);\n if (target == null) {\n throw new Error(\"Missing instruction target. \" + this.debugInfo());\n }\n this.type = NodeType.ProcessingInstruction;\n this.target = this.stringify.insTarget(target);\n this.name = this.target;\n if (value) {\n this.value = this.stringify.insValue(value);\n }\n }\n\n XMLProcessingInstruction.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLProcessingInstruction.prototype.toString = function(options) {\n return this.options.writer.processingInstruction(this, this.options.writer.filterOptions(options));\n };\n\n XMLProcessingInstruction.prototype.isEqualNode = function(node) {\n if (!XMLProcessingInstruction.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) {\n return false;\n }\n if (node.target !== this.target) {\n return false;\n }\n return true;\n };\n\n return XMLProcessingInstruction;\n\n })(XMLCharacterData);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDummy, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDummy = (function(superClass) {\n extend(XMLDummy, superClass);\n\n function XMLDummy(parent) {\n XMLDummy.__super__.constructor.call(this, parent);\n this.type = NodeType.Dummy;\n }\n\n XMLDummy.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLDummy.prototype.toString = function(options) {\n return '';\n };\n\n return XMLDummy;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLNodeList;\n\n module.exports = XMLNodeList = (function() {\n function XMLNodeList(nodes) {\n this.nodes = nodes;\n }\n\n Object.defineProperty(XMLNodeList.prototype, 'length', {\n get: function() {\n return this.nodes.length || 0;\n }\n });\n\n XMLNodeList.prototype.clone = function() {\n return this.nodes = null;\n };\n\n XMLNodeList.prototype.item = function(index) {\n return this.nodes[index] || null;\n };\n\n return XMLNodeList;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n module.exports = {\n Disconnected: 1,\n Preceding: 2,\n Following: 4,\n Contains: 8,\n ContainedBy: 16,\n ImplementationSpecific: 32\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var DocumentPosition, NodeType, XMLCData, XMLComment, XMLDeclaration, XMLDocType, XMLDummy, XMLElement, XMLNamedNodeMap, XMLNode, XMLNodeList, XMLProcessingInstruction, XMLRaw, XMLText, getValue, isEmpty, isFunction, isObject, ref1,\n hasProp = {}.hasOwnProperty;\n\n ref1 = require('./Utility'), isObject = ref1.isObject, isFunction = ref1.isFunction, isEmpty = ref1.isEmpty, getValue = ref1.getValue;\n\n XMLElement = null;\n\n XMLCData = null;\n\n XMLComment = null;\n\n XMLDeclaration = null;\n\n XMLDocType = null;\n\n XMLRaw = null;\n\n XMLText = null;\n\n XMLProcessingInstruction = null;\n\n XMLDummy = null;\n\n NodeType = null;\n\n XMLNodeList = null;\n\n XMLNamedNodeMap = null;\n\n DocumentPosition = null;\n\n module.exports = XMLNode = (function() {\n function XMLNode(parent1) {\n this.parent = parent1;\n if (this.parent) {\n this.options = this.parent.options;\n this.stringify = this.parent.stringify;\n }\n this.value = null;\n this.children = [];\n this.baseURI = null;\n if (!XMLElement) {\n XMLElement = require('./XMLElement');\n XMLCData = require('./XMLCData');\n XMLComment = require('./XMLComment');\n XMLDeclaration = require('./XMLDeclaration');\n XMLDocType = require('./XMLDocType');\n XMLRaw = require('./XMLRaw');\n XMLText = require('./XMLText');\n XMLProcessingInstruction = require('./XMLProcessingInstruction');\n XMLDummy = require('./XMLDummy');\n NodeType = require('./NodeType');\n XMLNodeList = require('./XMLNodeList');\n XMLNamedNodeMap = require('./XMLNamedNodeMap');\n DocumentPosition = require('./DocumentPosition');\n }\n }\n\n Object.defineProperty(XMLNode.prototype, 'nodeName', {\n get: function() {\n return this.name;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'nodeType', {\n get: function() {\n return this.type;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'nodeValue', {\n get: function() {\n return this.value;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'parentNode', {\n get: function() {\n return this.parent;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'childNodes', {\n get: function() {\n if (!this.childNodeList || !this.childNodeList.nodes) {\n this.childNodeList = new XMLNodeList(this.children);\n }\n return this.childNodeList;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'firstChild', {\n get: function() {\n return this.children[0] || null;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'lastChild', {\n get: function() {\n return this.children[this.children.length - 1] || null;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'previousSibling', {\n get: function() {\n var i;\n i = this.parent.children.indexOf(this);\n return this.parent.children[i - 1] || null;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'nextSibling', {\n get: function() {\n var i;\n i = this.parent.children.indexOf(this);\n return this.parent.children[i + 1] || null;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'ownerDocument', {\n get: function() {\n return this.document() || null;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'textContent', {\n get: function() {\n var child, j, len, ref2, str;\n if (this.nodeType === NodeType.Element || this.nodeType === NodeType.DocumentFragment) {\n str = '';\n ref2 = this.children;\n for (j = 0, len = ref2.length; j < len; j++) {\n child = ref2[j];\n if (child.textContent) {\n str += child.textContent;\n }\n }\n return str;\n } else {\n return null;\n }\n },\n set: function(value) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n XMLNode.prototype.setParent = function(parent) {\n var child, j, len, ref2, results;\n this.parent = parent;\n if (parent) {\n this.options = parent.options;\n this.stringify = parent.stringify;\n }\n ref2 = this.children;\n results = [];\n for (j = 0, len = ref2.length; j < len; j++) {\n child = ref2[j];\n results.push(child.setParent(this));\n }\n return results;\n };\n\n XMLNode.prototype.element = function(name, attributes, text) {\n var childNode, item, j, k, key, lastChild, len, len1, ref2, ref3, val;\n lastChild = null;\n if (attributes === null && (text == null)) {\n ref2 = [{}, null], attributes = ref2[0], text = ref2[1];\n }\n if (attributes == null) {\n attributes = {};\n }\n attributes = getValue(attributes);\n if (!isObject(attributes)) {\n ref3 = [attributes, text], text = ref3[0], attributes = ref3[1];\n }\n if (name != null) {\n name = getValue(name);\n }\n if (Array.isArray(name)) {\n for (j = 0, len = name.length; j < len; j++) {\n item = name[j];\n lastChild = this.element(item);\n }\n } else if (isFunction(name)) {\n lastChild = this.element(name.apply());\n } else if (isObject(name)) {\n for (key in name) {\n if (!hasProp.call(name, key)) continue;\n val = name[key];\n if (isFunction(val)) {\n val = val.apply();\n }\n if (!this.options.ignoreDecorators && this.stringify.convertAttKey && key.indexOf(this.stringify.convertAttKey) === 0) {\n lastChild = this.attribute(key.substr(this.stringify.convertAttKey.length), val);\n } else if (!this.options.separateArrayItems && Array.isArray(val) && isEmpty(val)) {\n lastChild = this.dummy();\n } else if (isObject(val) && isEmpty(val)) {\n lastChild = this.element(key);\n } else if (!this.options.keepNullNodes && (val == null)) {\n lastChild = this.dummy();\n } else if (!this.options.separateArrayItems && Array.isArray(val)) {\n for (k = 0, len1 = val.length; k < len1; k++) {\n item = val[k];\n childNode = {};\n childNode[key] = item;\n lastChild = this.element(childNode);\n }\n } else if (isObject(val)) {\n if (!this.options.ignoreDecorators && this.stringify.convertTextKey && key.indexOf(this.stringify.convertTextKey) === 0) {\n lastChild = this.element(val);\n } else {\n lastChild = this.element(key);\n lastChild.element(val);\n }\n } else {\n lastChild = this.element(key, val);\n }\n }\n } else if (!this.options.keepNullNodes && text === null) {\n lastChild = this.dummy();\n } else {\n if (!this.options.ignoreDecorators && this.stringify.convertTextKey && name.indexOf(this.stringify.convertTextKey) === 0) {\n lastChild = this.text(text);\n } else if (!this.options.ignoreDecorators && this.stringify.convertCDataKey && name.indexOf(this.stringify.convertCDataKey) === 0) {\n lastChild = this.cdata(text);\n } else if (!this.options.ignoreDecorators && this.stringify.convertCommentKey && name.indexOf(this.stringify.convertCommentKey) === 0) {\n lastChild = this.comment(text);\n } else if (!this.options.ignoreDecorators && this.stringify.convertRawKey && name.indexOf(this.stringify.convertRawKey) === 0) {\n lastChild = this.raw(text);\n } else if (!this.options.ignoreDecorators && this.stringify.convertPIKey && name.indexOf(this.stringify.convertPIKey) === 0) {\n lastChild = this.instruction(name.substr(this.stringify.convertPIKey.length), text);\n } else {\n lastChild = this.node(name, attributes, text);\n }\n }\n if (lastChild == null) {\n throw new Error(\"Could not create any elements with: \" + name + \". \" + this.debugInfo());\n }\n return lastChild;\n };\n\n XMLNode.prototype.insertBefore = function(name, attributes, text) {\n var child, i, newChild, refChild, removed;\n if (name != null ? name.type : void 0) {\n newChild = name;\n refChild = attributes;\n newChild.setParent(this);\n if (refChild) {\n i = children.indexOf(refChild);\n removed = children.splice(i);\n children.push(newChild);\n Array.prototype.push.apply(children, removed);\n } else {\n children.push(newChild);\n }\n return newChild;\n } else {\n if (this.isRoot) {\n throw new Error(\"Cannot insert elements at root level. \" + this.debugInfo(name));\n }\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i);\n child = this.parent.element(name, attributes, text);\n Array.prototype.push.apply(this.parent.children, removed);\n return child;\n }\n };\n\n XMLNode.prototype.insertAfter = function(name, attributes, text) {\n var child, i, removed;\n if (this.isRoot) {\n throw new Error(\"Cannot insert elements at root level. \" + this.debugInfo(name));\n }\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i + 1);\n child = this.parent.element(name, attributes, text);\n Array.prototype.push.apply(this.parent.children, removed);\n return child;\n };\n\n XMLNode.prototype.remove = function() {\n var i, ref2;\n if (this.isRoot) {\n throw new Error(\"Cannot remove the root element. \" + this.debugInfo());\n }\n i = this.parent.children.indexOf(this);\n [].splice.apply(this.parent.children, [i, i - i + 1].concat(ref2 = [])), ref2;\n return this.parent;\n };\n\n XMLNode.prototype.node = function(name, attributes, text) {\n var child, ref2;\n if (name != null) {\n name = getValue(name);\n }\n attributes || (attributes = {});\n attributes = getValue(attributes);\n if (!isObject(attributes)) {\n ref2 = [attributes, text], text = ref2[0], attributes = ref2[1];\n }\n child = new XMLElement(this, name, attributes);\n if (text != null) {\n child.text(text);\n }\n this.children.push(child);\n return child;\n };\n\n XMLNode.prototype.text = function(value) {\n var child;\n if (isObject(value)) {\n this.element(value);\n }\n child = new XMLText(this, value);\n this.children.push(child);\n return this;\n };\n\n XMLNode.prototype.cdata = function(value) {\n var child;\n child = new XMLCData(this, value);\n this.children.push(child);\n return this;\n };\n\n XMLNode.prototype.comment = function(value) {\n var child;\n child = new XMLComment(this, value);\n this.children.push(child);\n return this;\n };\n\n XMLNode.prototype.commentBefore = function(value) {\n var child, i, removed;\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i);\n child = this.parent.comment(value);\n Array.prototype.push.apply(this.parent.children, removed);\n return this;\n };\n\n XMLNode.prototype.commentAfter = function(value) {\n var child, i, removed;\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i + 1);\n child = this.parent.comment(value);\n Array.prototype.push.apply(this.parent.children, removed);\n return this;\n };\n\n XMLNode.prototype.raw = function(value) {\n var child;\n child = new XMLRaw(this, value);\n this.children.push(child);\n return this;\n };\n\n XMLNode.prototype.dummy = function() {\n var child;\n child = new XMLDummy(this);\n return child;\n };\n\n XMLNode.prototype.instruction = function(target, value) {\n var insTarget, insValue, instruction, j, len;\n if (target != null) {\n target = getValue(target);\n }\n if (value != null) {\n value = getValue(value);\n }\n if (Array.isArray(target)) {\n for (j = 0, len = target.length; j < len; j++) {\n insTarget = target[j];\n this.instruction(insTarget);\n }\n } else if (isObject(target)) {\n for (insTarget in target) {\n if (!hasProp.call(target, insTarget)) continue;\n insValue = target[insTarget];\n this.instruction(insTarget, insValue);\n }\n } else {\n if (isFunction(value)) {\n value = value.apply();\n }\n instruction = new XMLProcessingInstruction(this, target, value);\n this.children.push(instruction);\n }\n return this;\n };\n\n XMLNode.prototype.instructionBefore = function(target, value) {\n var child, i, removed;\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i);\n child = this.parent.instruction(target, value);\n Array.prototype.push.apply(this.parent.children, removed);\n return this;\n };\n\n XMLNode.prototype.instructionAfter = function(target, value) {\n var child, i, removed;\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i + 1);\n child = this.parent.instruction(target, value);\n Array.prototype.push.apply(this.parent.children, removed);\n return this;\n };\n\n XMLNode.prototype.declaration = function(version, encoding, standalone) {\n var doc, xmldec;\n doc = this.document();\n xmldec = new XMLDeclaration(doc, version, encoding, standalone);\n if (doc.children.length === 0) {\n doc.children.unshift(xmldec);\n } else if (doc.children[0].type === NodeType.Declaration) {\n doc.children[0] = xmldec;\n } else {\n doc.children.unshift(xmldec);\n }\n return doc.root() || doc;\n };\n\n XMLNode.prototype.dtd = function(pubID, sysID) {\n var child, doc, doctype, i, j, k, len, len1, ref2, ref3;\n doc = this.document();\n doctype = new XMLDocType(doc, pubID, sysID);\n ref2 = doc.children;\n for (i = j = 0, len = ref2.length; j < len; i = ++j) {\n child = ref2[i];\n if (child.type === NodeType.DocType) {\n doc.children[i] = doctype;\n return doctype;\n }\n }\n ref3 = doc.children;\n for (i = k = 0, len1 = ref3.length; k < len1; i = ++k) {\n child = ref3[i];\n if (child.isRoot) {\n doc.children.splice(i, 0, doctype);\n return doctype;\n }\n }\n doc.children.push(doctype);\n return doctype;\n };\n\n XMLNode.prototype.up = function() {\n if (this.isRoot) {\n throw new Error(\"The root node has no parent. Use doc() if you need to get the document object.\");\n }\n return this.parent;\n };\n\n XMLNode.prototype.root = function() {\n var node;\n node = this;\n while (node) {\n if (node.type === NodeType.Document) {\n return node.rootObject;\n } else if (node.isRoot) {\n return node;\n } else {\n node = node.parent;\n }\n }\n };\n\n XMLNode.prototype.document = function() {\n var node;\n node = this;\n while (node) {\n if (node.type === NodeType.Document) {\n return node;\n } else {\n node = node.parent;\n }\n }\n };\n\n XMLNode.prototype.end = function(options) {\n return this.document().end(options);\n };\n\n XMLNode.prototype.prev = function() {\n var i;\n i = this.parent.children.indexOf(this);\n if (i < 1) {\n throw new Error(\"Already at the first node. \" + this.debugInfo());\n }\n return this.parent.children[i - 1];\n };\n\n XMLNode.prototype.next = function() {\n var i;\n i = this.parent.children.indexOf(this);\n if (i === -1 || i === this.parent.children.length - 1) {\n throw new Error(\"Already at the last node. \" + this.debugInfo());\n }\n return this.parent.children[i + 1];\n };\n\n XMLNode.prototype.importDocument = function(doc) {\n var clonedRoot;\n clonedRoot = doc.root().clone();\n clonedRoot.parent = this;\n clonedRoot.isRoot = false;\n this.children.push(clonedRoot);\n return this;\n };\n\n XMLNode.prototype.debugInfo = function(name) {\n var ref2, ref3;\n name = name || this.name;\n if ((name == null) && !((ref2 = this.parent) != null ? ref2.name : void 0)) {\n return \"\";\n } else if (name == null) {\n return \"parent: <\" + this.parent.name + \">\";\n } else if (!((ref3 = this.parent) != null ? ref3.name : void 0)) {\n return \"node: <\" + name + \">\";\n } else {\n return \"node: <\" + name + \">, parent: <\" + this.parent.name + \">\";\n }\n };\n\n XMLNode.prototype.ele = function(name, attributes, text) {\n return this.element(name, attributes, text);\n };\n\n XMLNode.prototype.nod = function(name, attributes, text) {\n return this.node(name, attributes, text);\n };\n\n XMLNode.prototype.txt = function(value) {\n return this.text(value);\n };\n\n XMLNode.prototype.dat = function(value) {\n return this.cdata(value);\n };\n\n XMLNode.prototype.com = function(value) {\n return this.comment(value);\n };\n\n XMLNode.prototype.ins = function(target, value) {\n return this.instruction(target, value);\n };\n\n XMLNode.prototype.doc = function() {\n return this.document();\n };\n\n XMLNode.prototype.dec = function(version, encoding, standalone) {\n return this.declaration(version, encoding, standalone);\n };\n\n XMLNode.prototype.e = function(name, attributes, text) {\n return this.element(name, attributes, text);\n };\n\n XMLNode.prototype.n = function(name, attributes, text) {\n return this.node(name, attributes, text);\n };\n\n XMLNode.prototype.t = function(value) {\n return this.text(value);\n };\n\n XMLNode.prototype.d = function(value) {\n return this.cdata(value);\n };\n\n XMLNode.prototype.c = function(value) {\n return this.comment(value);\n };\n\n XMLNode.prototype.r = function(value) {\n return this.raw(value);\n };\n\n XMLNode.prototype.i = function(target, value) {\n return this.instruction(target, value);\n };\n\n XMLNode.prototype.u = function() {\n return this.up();\n };\n\n XMLNode.prototype.importXMLBuilder = function(doc) {\n return this.importDocument(doc);\n };\n\n XMLNode.prototype.replaceChild = function(newChild, oldChild) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.removeChild = function(oldChild) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.appendChild = function(newChild) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.hasChildNodes = function() {\n return this.children.length !== 0;\n };\n\n XMLNode.prototype.cloneNode = function(deep) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.normalize = function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.isSupported = function(feature, version) {\n return true;\n };\n\n XMLNode.prototype.hasAttributes = function() {\n return this.attribs.length !== 0;\n };\n\n XMLNode.prototype.compareDocumentPosition = function(other) {\n var ref, res;\n ref = this;\n if (ref === other) {\n return 0;\n } else if (this.document() !== other.document()) {\n res = DocumentPosition.Disconnected | DocumentPosition.ImplementationSpecific;\n if (Math.random() < 0.5) {\n res |= DocumentPosition.Preceding;\n } else {\n res |= DocumentPosition.Following;\n }\n return res;\n } else if (ref.isAncestor(other)) {\n return DocumentPosition.Contains | DocumentPosition.Preceding;\n } else if (ref.isDescendant(other)) {\n return DocumentPosition.Contains | DocumentPosition.Following;\n } else if (ref.isPreceding(other)) {\n return DocumentPosition.Preceding;\n } else {\n return DocumentPosition.Following;\n }\n };\n\n XMLNode.prototype.isSameNode = function(other) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.lookupPrefix = function(namespaceURI) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.isDefaultNamespace = function(namespaceURI) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.lookupNamespaceURI = function(prefix) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.isEqualNode = function(node) {\n var i, j, ref2;\n if (node.nodeType !== this.nodeType) {\n return false;\n }\n if (node.children.length !== this.children.length) {\n return false;\n }\n for (i = j = 0, ref2 = this.children.length - 1; 0 <= ref2 ? j <= ref2 : j >= ref2; i = 0 <= ref2 ? ++j : --j) {\n if (!this.children[i].isEqualNode(node.children[i])) {\n return false;\n }\n }\n return true;\n };\n\n XMLNode.prototype.getFeature = function(feature, version) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.setUserData = function(key, data, handler) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.getUserData = function(key) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.contains = function(other) {\n if (!other) {\n return false;\n }\n return other === this || this.isDescendant(other);\n };\n\n XMLNode.prototype.isDescendant = function(node) {\n var child, isDescendantChild, j, len, ref2;\n ref2 = this.children;\n for (j = 0, len = ref2.length; j < len; j++) {\n child = ref2[j];\n if (node === child) {\n return true;\n }\n isDescendantChild = child.isDescendant(node);\n if (isDescendantChild) {\n return true;\n }\n }\n return false;\n };\n\n XMLNode.prototype.isAncestor = function(node) {\n return node.isDescendant(this);\n };\n\n XMLNode.prototype.isPreceding = function(node) {\n var nodePos, thisPos;\n nodePos = this.treePosition(node);\n thisPos = this.treePosition(this);\n if (nodePos === -1 || thisPos === -1) {\n return false;\n } else {\n return nodePos < thisPos;\n }\n };\n\n XMLNode.prototype.isFollowing = function(node) {\n var nodePos, thisPos;\n nodePos = this.treePosition(node);\n thisPos = this.treePosition(this);\n if (nodePos === -1 || thisPos === -1) {\n return false;\n } else {\n return nodePos > thisPos;\n }\n };\n\n XMLNode.prototype.treePosition = function(node) {\n var found, pos;\n pos = 0;\n found = false;\n this.foreachTreeNode(this.document(), function(childNode) {\n pos++;\n if (!found && childNode === node) {\n return found = true;\n }\n });\n if (found) {\n return pos;\n } else {\n return -1;\n }\n };\n\n XMLNode.prototype.foreachTreeNode = function(node, func) {\n var child, j, len, ref2, res;\n node || (node = this.document());\n ref2 = node.children;\n for (j = 0, len = ref2.length; j < len; j++) {\n child = ref2[j];\n if (res = func(child)) {\n return res;\n } else {\n res = this.foreachTreeNode(child, func);\n if (res) {\n return res;\n }\n }\n }\n };\n\n return XMLNode;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLStringifier,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n hasProp = {}.hasOwnProperty;\n\n module.exports = XMLStringifier = (function() {\n function XMLStringifier(options) {\n this.assertLegalName = bind(this.assertLegalName, this);\n this.assertLegalChar = bind(this.assertLegalChar, this);\n var key, ref, value;\n options || (options = {});\n this.options = options;\n if (!this.options.version) {\n this.options.version = '1.0';\n }\n ref = options.stringify || {};\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n value = ref[key];\n this[key] = value;\n }\n }\n\n XMLStringifier.prototype.name = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalName('' + val || '');\n };\n\n XMLStringifier.prototype.text = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar(this.textEscape('' + val || ''));\n };\n\n XMLStringifier.prototype.cdata = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n val = val.replace(']]>', ']]]]><![CDATA[>');\n return this.assertLegalChar(val);\n };\n\n XMLStringifier.prototype.comment = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n if (val.match(/--/)) {\n throw new Error(\"Comment text cannot contain double-hypen: \" + val);\n }\n return this.assertLegalChar(val);\n };\n\n XMLStringifier.prototype.raw = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return '' + val || '';\n };\n\n XMLStringifier.prototype.attValue = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar(this.attEscape(val = '' + val || ''));\n };\n\n XMLStringifier.prototype.insTarget = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.insValue = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n if (val.match(/\\?>/)) {\n throw new Error(\"Invalid processing instruction value: \" + val);\n }\n return this.assertLegalChar(val);\n };\n\n XMLStringifier.prototype.xmlVersion = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n if (!val.match(/1\\.[0-9]+/)) {\n throw new Error(\"Invalid version number: \" + val);\n }\n return val;\n };\n\n XMLStringifier.prototype.xmlEncoding = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n if (!val.match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/)) {\n throw new Error(\"Invalid encoding: \" + val);\n }\n return this.assertLegalChar(val);\n };\n\n XMLStringifier.prototype.xmlStandalone = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n if (val) {\n return \"yes\";\n } else {\n return \"no\";\n }\n };\n\n XMLStringifier.prototype.dtdPubID = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdSysID = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdElementValue = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdAttType = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdAttDefault = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdEntityValue = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdNData = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.convertAttKey = '@';\n\n XMLStringifier.prototype.convertPIKey = '?';\n\n XMLStringifier.prototype.convertTextKey = '#text';\n\n XMLStringifier.prototype.convertCDataKey = '#cdata';\n\n XMLStringifier.prototype.convertCommentKey = '#comment';\n\n XMLStringifier.prototype.convertRawKey = '#raw';\n\n XMLStringifier.prototype.assertLegalChar = function(str) {\n var regex, res;\n if (this.options.noValidation) {\n return str;\n }\n regex = '';\n if (this.options.version === '1.0') {\n regex = /[\\0-\\x08\\x0B\\f\\x0E-\\x1F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n if (res = str.match(regex)) {\n throw new Error(\"Invalid character in string: \" + str + \" at index \" + res.index);\n }\n } else if (this.options.version === '1.1') {\n regex = /[\\0\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n if (res = str.match(regex)) {\n throw new Error(\"Invalid character in string: \" + str + \" at index \" + res.index);\n }\n }\n return str;\n };\n\n XMLStringifier.prototype.assertLegalName = function(str) {\n var regex;\n if (this.options.noValidation) {\n return str;\n }\n this.assertLegalChar(str);\n 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])*$/;\n if (!str.match(regex)) {\n throw new Error(\"Invalid character in name\");\n }\n return str;\n };\n\n XMLStringifier.prototype.textEscape = function(str) {\n var ampregex;\n if (this.options.noValidation) {\n return str;\n }\n ampregex = this.options.noDoubleEncoding ? /(?!&\\S+;)&/g : /&/g;\n return str.replace(ampregex, '&').replace(/</g, '<').replace(/>/g, '>').replace(/\\r/g, '
');\n };\n\n XMLStringifier.prototype.attEscape = function(str) {\n var ampregex;\n if (this.options.noValidation) {\n return str;\n }\n ampregex = this.options.noDoubleEncoding ? /(?!&\\S+;)&/g : /&/g;\n return str.replace(ampregex, '&').replace(/</g, '<').replace(/\"/g, '"').replace(/\\t/g, '	').replace(/\\n/g, '
').replace(/\\r/g, '
');\n };\n\n return XMLStringifier;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n module.exports = {\n None: 0,\n OpenTag: 1,\n InsideTag: 2,\n CloseTag: 3\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, WriterState, XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDeclaration, XMLDocType, XMLDummy, XMLElement, XMLProcessingInstruction, XMLRaw, XMLText, XMLWriterBase, assign,\n hasProp = {}.hasOwnProperty;\n\n assign = require('./Utility').assign;\n\n NodeType = require('./NodeType');\n\n XMLDeclaration = require('./XMLDeclaration');\n\n XMLDocType = require('./XMLDocType');\n\n XMLCData = require('./XMLCData');\n\n XMLComment = require('./XMLComment');\n\n XMLElement = require('./XMLElement');\n\n XMLRaw = require('./XMLRaw');\n\n XMLText = require('./XMLText');\n\n XMLProcessingInstruction = require('./XMLProcessingInstruction');\n\n XMLDummy = require('./XMLDummy');\n\n XMLDTDAttList = require('./XMLDTDAttList');\n\n XMLDTDElement = require('./XMLDTDElement');\n\n XMLDTDEntity = require('./XMLDTDEntity');\n\n XMLDTDNotation = require('./XMLDTDNotation');\n\n WriterState = require('./WriterState');\n\n module.exports = XMLWriterBase = (function() {\n function XMLWriterBase(options) {\n var key, ref, value;\n options || (options = {});\n this.options = options;\n ref = options.writer || {};\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n value = ref[key];\n this[\"_\" + key] = this[key];\n this[key] = value;\n }\n }\n\n XMLWriterBase.prototype.filterOptions = function(options) {\n var filteredOptions, ref, ref1, ref2, ref3, ref4, ref5, ref6;\n options || (options = {});\n options = assign({}, this.options, options);\n filteredOptions = {\n writer: this\n };\n filteredOptions.pretty = options.pretty || false;\n filteredOptions.allowEmpty = options.allowEmpty || false;\n filteredOptions.indent = (ref = options.indent) != null ? ref : ' ';\n filteredOptions.newline = (ref1 = options.newline) != null ? ref1 : '\\n';\n filteredOptions.offset = (ref2 = options.offset) != null ? ref2 : 0;\n filteredOptions.dontPrettyTextNodes = (ref3 = (ref4 = options.dontPrettyTextNodes) != null ? ref4 : options.dontprettytextnodes) != null ? ref3 : 0;\n filteredOptions.spaceBeforeSlash = (ref5 = (ref6 = options.spaceBeforeSlash) != null ? ref6 : options.spacebeforeslash) != null ? ref5 : '';\n if (filteredOptions.spaceBeforeSlash === true) {\n filteredOptions.spaceBeforeSlash = ' ';\n }\n filteredOptions.suppressPrettyCount = 0;\n filteredOptions.user = {};\n filteredOptions.state = WriterState.None;\n return filteredOptions;\n };\n\n XMLWriterBase.prototype.indent = function(node, options, level) {\n var indentLevel;\n if (!options.pretty || options.suppressPrettyCount) {\n return '';\n } else if (options.pretty) {\n indentLevel = (level || 0) + options.offset + 1;\n if (indentLevel > 0) {\n return new Array(indentLevel).join(options.indent);\n }\n }\n return '';\n };\n\n XMLWriterBase.prototype.endline = function(node, options, level) {\n if (!options.pretty || options.suppressPrettyCount) {\n return '';\n } else {\n return options.newline;\n }\n };\n\n XMLWriterBase.prototype.attribute = function(att, options, level) {\n var r;\n this.openAttribute(att, options, level);\n r = ' ' + att.name + '=\"' + att.value + '\"';\n this.closeAttribute(att, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.cdata = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<![CDATA[';\n options.state = WriterState.InsideTag;\n r += node.value;\n options.state = WriterState.CloseTag;\n r += ']]>' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.comment = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<!-- ';\n options.state = WriterState.InsideTag;\n r += node.value;\n options.state = WriterState.CloseTag;\n r += ' -->' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.declaration = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<?xml';\n options.state = WriterState.InsideTag;\n r += ' version=\"' + node.version + '\"';\n if (node.encoding != null) {\n r += ' encoding=\"' + node.encoding + '\"';\n }\n if (node.standalone != null) {\n r += ' standalone=\"' + node.standalone + '\"';\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '?>';\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.docType = function(node, options, level) {\n var child, i, len, r, ref;\n level || (level = 0);\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level);\n r += '<!DOCTYPE ' + node.root().name;\n if (node.pubID && node.sysID) {\n r += ' PUBLIC \"' + node.pubID + '\" \"' + node.sysID + '\"';\n } else if (node.sysID) {\n r += ' SYSTEM \"' + node.sysID + '\"';\n }\n if (node.children.length > 0) {\n r += ' [';\n r += this.endline(node, options, level);\n options.state = WriterState.InsideTag;\n ref = node.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n r += this.writeChildNode(child, options, level + 1);\n }\n options.state = WriterState.CloseTag;\n r += ']';\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '>';\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.element = function(node, options, level) {\n var att, child, childNodeCount, firstChildNode, i, j, len, len1, name, prettySuppressed, r, ref, ref1, ref2;\n level || (level = 0);\n prettySuppressed = false;\n r = '';\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r += this.indent(node, options, level) + '<' + node.name;\n ref = node.attribs;\n for (name in ref) {\n if (!hasProp.call(ref, name)) continue;\n att = ref[name];\n r += this.attribute(att, options, level);\n }\n childNodeCount = node.children.length;\n firstChildNode = childNodeCount === 0 ? null : node.children[0];\n if (childNodeCount === 0 || node.children.every(function(e) {\n return (e.type === NodeType.Text || e.type === NodeType.Raw) && e.value === '';\n })) {\n if (options.allowEmpty) {\n r += '>';\n options.state = WriterState.CloseTag;\n r += '</' + node.name + '>' + this.endline(node, options, level);\n } else {\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '/>' + this.endline(node, options, level);\n }\n } else if (options.pretty && childNodeCount === 1 && (firstChildNode.type === NodeType.Text || firstChildNode.type === NodeType.Raw) && (firstChildNode.value != null)) {\n r += '>';\n options.state = WriterState.InsideTag;\n options.suppressPrettyCount++;\n prettySuppressed = true;\n r += this.writeChildNode(firstChildNode, options, level + 1);\n options.suppressPrettyCount--;\n prettySuppressed = false;\n options.state = WriterState.CloseTag;\n r += '</' + node.name + '>' + this.endline(node, options, level);\n } else {\n if (options.dontPrettyTextNodes) {\n ref1 = node.children;\n for (i = 0, len = ref1.length; i < len; i++) {\n child = ref1[i];\n if ((child.type === NodeType.Text || child.type === NodeType.Raw) && (child.value != null)) {\n options.suppressPrettyCount++;\n prettySuppressed = true;\n break;\n }\n }\n }\n r += '>' + this.endline(node, options, level);\n options.state = WriterState.InsideTag;\n ref2 = node.children;\n for (j = 0, len1 = ref2.length; j < len1; j++) {\n child = ref2[j];\n r += this.writeChildNode(child, options, level + 1);\n }\n options.state = WriterState.CloseTag;\n r += this.indent(node, options, level) + '</' + node.name + '>';\n if (prettySuppressed) {\n options.suppressPrettyCount--;\n }\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n }\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.writeChildNode = function(node, options, level) {\n switch (node.type) {\n case NodeType.CData:\n return this.cdata(node, options, level);\n case NodeType.Comment:\n return this.comment(node, options, level);\n case NodeType.Element:\n return this.element(node, options, level);\n case NodeType.Raw:\n return this.raw(node, options, level);\n case NodeType.Text:\n return this.text(node, options, level);\n case NodeType.ProcessingInstruction:\n return this.processingInstruction(node, options, level);\n case NodeType.Dummy:\n return '';\n case NodeType.Declaration:\n return this.declaration(node, options, level);\n case NodeType.DocType:\n return this.docType(node, options, level);\n case NodeType.AttributeDeclaration:\n return this.dtdAttList(node, options, level);\n case NodeType.ElementDeclaration:\n return this.dtdElement(node, options, level);\n case NodeType.EntityDeclaration:\n return this.dtdEntity(node, options, level);\n case NodeType.NotationDeclaration:\n return this.dtdNotation(node, options, level);\n default:\n throw new Error(\"Unknown XML node type: \" + node.constructor.name);\n }\n };\n\n XMLWriterBase.prototype.processingInstruction = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<?';\n options.state = WriterState.InsideTag;\n r += node.target;\n if (node.value) {\n r += ' ' + node.value;\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '?>';\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.raw = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level);\n options.state = WriterState.InsideTag;\n r += node.value;\n options.state = WriterState.CloseTag;\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.text = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level);\n options.state = WriterState.InsideTag;\n r += node.value;\n options.state = WriterState.CloseTag;\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.dtdAttList = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<!ATTLIST';\n options.state = WriterState.InsideTag;\n r += ' ' + node.elementName + ' ' + node.attributeName + ' ' + node.attributeType;\n if (node.defaultValueType !== '#DEFAULT') {\n r += ' ' + node.defaultValueType;\n }\n if (node.defaultValue) {\n r += ' \"' + node.defaultValue + '\"';\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '>' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.dtdElement = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<!ELEMENT';\n options.state = WriterState.InsideTag;\n r += ' ' + node.name + ' ' + node.value;\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '>' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.dtdEntity = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<!ENTITY';\n options.state = WriterState.InsideTag;\n if (node.pe) {\n r += ' %';\n }\n r += ' ' + node.name;\n if (node.value) {\n r += ' \"' + node.value + '\"';\n } else {\n if (node.pubID && node.sysID) {\n r += ' PUBLIC \"' + node.pubID + '\" \"' + node.sysID + '\"';\n } else if (node.sysID) {\n r += ' SYSTEM \"' + node.sysID + '\"';\n }\n if (node.nData) {\n r += ' NDATA ' + node.nData;\n }\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '>' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.dtdNotation = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<!NOTATION';\n options.state = WriterState.InsideTag;\n r += ' ' + node.name;\n if (node.pubID && node.sysID) {\n r += ' PUBLIC \"' + node.pubID + '\" \"' + node.sysID + '\"';\n } else if (node.pubID) {\n r += ' PUBLIC \"' + node.pubID + '\"';\n } else if (node.sysID) {\n r += ' SYSTEM \"' + node.sysID + '\"';\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '>' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.openNode = function(node, options, level) {};\n\n XMLWriterBase.prototype.closeNode = function(node, options, level) {};\n\n XMLWriterBase.prototype.openAttribute = function(att, options, level) {};\n\n XMLWriterBase.prototype.closeAttribute = function(att, options, level) {};\n\n return XMLWriterBase;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLStringWriter, XMLWriterBase,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLWriterBase = require('./XMLWriterBase');\n\n module.exports = XMLStringWriter = (function(superClass) {\n extend(XMLStringWriter, superClass);\n\n function XMLStringWriter(options) {\n XMLStringWriter.__super__.constructor.call(this, options);\n }\n\n XMLStringWriter.prototype.document = function(doc, options) {\n var child, i, len, r, ref;\n options = this.filterOptions(options);\n r = '';\n ref = doc.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n r += this.writeChildNode(child, options, 0);\n }\n if (options.pretty && r.slice(-options.newline.length) === options.newline) {\n r = r.slice(0, -options.newline.length);\n }\n return r;\n };\n\n return XMLStringWriter;\n\n })(XMLWriterBase);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDOMConfiguration, XMLDOMImplementation, XMLDocument, XMLNode, XMLStringWriter, XMLStringifier, isPlainObject,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n isPlainObject = require('./Utility').isPlainObject;\n\n XMLDOMImplementation = require('./XMLDOMImplementation');\n\n XMLDOMConfiguration = require('./XMLDOMConfiguration');\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n XMLStringifier = require('./XMLStringifier');\n\n XMLStringWriter = require('./XMLStringWriter');\n\n module.exports = XMLDocument = (function(superClass) {\n extend(XMLDocument, superClass);\n\n function XMLDocument(options) {\n XMLDocument.__super__.constructor.call(this, null);\n this.name = \"#document\";\n this.type = NodeType.Document;\n this.documentURI = null;\n this.domConfig = new XMLDOMConfiguration();\n options || (options = {});\n if (!options.writer) {\n options.writer = new XMLStringWriter();\n }\n this.options = options;\n this.stringify = new XMLStringifier(options);\n }\n\n Object.defineProperty(XMLDocument.prototype, 'implementation', {\n value: new XMLDOMImplementation()\n });\n\n Object.defineProperty(XMLDocument.prototype, 'doctype', {\n get: function() {\n var child, i, len, ref;\n ref = this.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n if (child.type === NodeType.DocType) {\n return child;\n }\n }\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'documentElement', {\n get: function() {\n return this.rootObject || null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'inputEncoding', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'strictErrorChecking', {\n get: function() {\n return false;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'xmlEncoding', {\n get: function() {\n if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) {\n return this.children[0].encoding;\n } else {\n return null;\n }\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'xmlStandalone', {\n get: function() {\n if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) {\n return this.children[0].standalone === 'yes';\n } else {\n return false;\n }\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'xmlVersion', {\n get: function() {\n if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) {\n return this.children[0].version;\n } else {\n return \"1.0\";\n }\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'URL', {\n get: function() {\n return this.documentURI;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'origin', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'compatMode', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'characterSet', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'contentType', {\n get: function() {\n return null;\n }\n });\n\n XMLDocument.prototype.end = function(writer) {\n var writerOptions;\n writerOptions = {};\n if (!writer) {\n writer = this.options.writer;\n } else if (isPlainObject(writer)) {\n writerOptions = writer;\n writer = this.options.writer;\n }\n return writer.document(this, writer.filterOptions(writerOptions));\n };\n\n XMLDocument.prototype.toString = function(options) {\n return this.options.writer.document(this, this.options.writer.filterOptions(options));\n };\n\n XMLDocument.prototype.createElement = function(tagName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createDocumentFragment = function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createTextNode = function(data) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createComment = function(data) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createCDATASection = function(data) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createProcessingInstruction = function(target, data) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createAttribute = function(name) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createEntityReference = function(name) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.getElementsByTagName = function(tagname) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.importNode = function(importedNode, deep) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createElementNS = function(namespaceURI, qualifiedName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createAttributeNS = function(namespaceURI, qualifiedName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.getElementsByTagNameNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.getElementById = function(elementId) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.adoptNode = function(source) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.normalizeDocument = function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.renameNode = function(node, namespaceURI, qualifiedName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.getElementsByClassName = function(classNames) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createEvent = function(eventInterface) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createRange = function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createNodeIterator = function(root, whatToShow, filter) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createTreeWalker = function(root, whatToShow, filter) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n return XMLDocument;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, WriterState, XMLAttribute, XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDeclaration, XMLDocType, XMLDocument, XMLDocumentCB, XMLElement, XMLProcessingInstruction, XMLRaw, XMLStringWriter, XMLStringifier, XMLText, getValue, isFunction, isObject, isPlainObject, ref,\n hasProp = {}.hasOwnProperty;\n\n ref = require('./Utility'), isObject = ref.isObject, isFunction = ref.isFunction, isPlainObject = ref.isPlainObject, getValue = ref.getValue;\n\n NodeType = require('./NodeType');\n\n XMLDocument = require('./XMLDocument');\n\n XMLElement = require('./XMLElement');\n\n XMLCData = require('./XMLCData');\n\n XMLComment = require('./XMLComment');\n\n XMLRaw = require('./XMLRaw');\n\n XMLText = require('./XMLText');\n\n XMLProcessingInstruction = require('./XMLProcessingInstruction');\n\n XMLDeclaration = require('./XMLDeclaration');\n\n XMLDocType = require('./XMLDocType');\n\n XMLDTDAttList = require('./XMLDTDAttList');\n\n XMLDTDEntity = require('./XMLDTDEntity');\n\n XMLDTDElement = require('./XMLDTDElement');\n\n XMLDTDNotation = require('./XMLDTDNotation');\n\n XMLAttribute = require('./XMLAttribute');\n\n XMLStringifier = require('./XMLStringifier');\n\n XMLStringWriter = require('./XMLStringWriter');\n\n WriterState = require('./WriterState');\n\n module.exports = XMLDocumentCB = (function() {\n function XMLDocumentCB(options, onData, onEnd) {\n var writerOptions;\n this.name = \"?xml\";\n this.type = NodeType.Document;\n options || (options = {});\n writerOptions = {};\n if (!options.writer) {\n options.writer = new XMLStringWriter();\n } else if (isPlainObject(options.writer)) {\n writerOptions = options.writer;\n options.writer = new XMLStringWriter();\n }\n this.options = options;\n this.writer = options.writer;\n this.writerOptions = this.writer.filterOptions(writerOptions);\n this.stringify = new XMLStringifier(options);\n this.onDataCallback = onData || function() {};\n this.onEndCallback = onEnd || function() {};\n this.currentNode = null;\n this.currentLevel = -1;\n this.openTags = {};\n this.documentStarted = false;\n this.documentCompleted = false;\n this.root = null;\n }\n\n XMLDocumentCB.prototype.createChildNode = function(node) {\n var att, attName, attributes, child, i, len, ref1, ref2;\n switch (node.type) {\n case NodeType.CData:\n this.cdata(node.value);\n break;\n case NodeType.Comment:\n this.comment(node.value);\n break;\n case NodeType.Element:\n attributes = {};\n ref1 = node.attribs;\n for (attName in ref1) {\n if (!hasProp.call(ref1, attName)) continue;\n att = ref1[attName];\n attributes[attName] = att.value;\n }\n this.node(node.name, attributes);\n break;\n case NodeType.Dummy:\n this.dummy();\n break;\n case NodeType.Raw:\n this.raw(node.value);\n break;\n case NodeType.Text:\n this.text(node.value);\n break;\n case NodeType.ProcessingInstruction:\n this.instruction(node.target, node.value);\n break;\n default:\n throw new Error(\"This XML node type is not supported in a JS object: \" + node.constructor.name);\n }\n ref2 = node.children;\n for (i = 0, len = ref2.length; i < len; i++) {\n child = ref2[i];\n this.createChildNode(child);\n if (child.type === NodeType.Element) {\n this.up();\n }\n }\n return this;\n };\n\n XMLDocumentCB.prototype.dummy = function() {\n return this;\n };\n\n XMLDocumentCB.prototype.node = function(name, attributes, text) {\n var ref1;\n if (name == null) {\n throw new Error(\"Missing node name.\");\n }\n if (this.root && this.currentLevel === -1) {\n throw new Error(\"Document can only have one root node. \" + this.debugInfo(name));\n }\n this.openCurrent();\n name = getValue(name);\n if (attributes == null) {\n attributes = {};\n }\n attributes = getValue(attributes);\n if (!isObject(attributes)) {\n ref1 = [attributes, text], text = ref1[0], attributes = ref1[1];\n }\n this.currentNode = new XMLElement(this, name, attributes);\n this.currentNode.children = false;\n this.currentLevel++;\n this.openTags[this.currentLevel] = this.currentNode;\n if (text != null) {\n this.text(text);\n }\n return this;\n };\n\n XMLDocumentCB.prototype.element = function(name, attributes, text) {\n var child, i, len, oldValidationFlag, ref1, root;\n if (this.currentNode && this.currentNode.type === NodeType.DocType) {\n this.dtdElement.apply(this, arguments);\n } else {\n if (Array.isArray(name) || isObject(name) || isFunction(name)) {\n oldValidationFlag = this.options.noValidation;\n this.options.noValidation = true;\n root = new XMLDocument(this.options).element('TEMP_ROOT');\n root.element(name);\n this.options.noValidation = oldValidationFlag;\n ref1 = root.children;\n for (i = 0, len = ref1.length; i < len; i++) {\n child = ref1[i];\n this.createChildNode(child);\n if (child.type === NodeType.Element) {\n this.up();\n }\n }\n } else {\n this.node(name, attributes, text);\n }\n }\n return this;\n };\n\n XMLDocumentCB.prototype.attribute = function(name, value) {\n var attName, attValue;\n if (!this.currentNode || this.currentNode.children) {\n throw new Error(\"att() can only be used immediately after an ele() call in callback mode. \" + this.debugInfo(name));\n }\n if (name != null) {\n name = getValue(name);\n }\n if (isObject(name)) {\n for (attName in name) {\n if (!hasProp.call(name, attName)) continue;\n attValue = name[attName];\n this.attribute(attName, attValue);\n }\n } else {\n if (isFunction(value)) {\n value = value.apply();\n }\n if (this.options.keepNullAttributes && (value == null)) {\n this.currentNode.attribs[name] = new XMLAttribute(this, name, \"\");\n } else if (value != null) {\n this.currentNode.attribs[name] = new XMLAttribute(this, name, value);\n }\n }\n return this;\n };\n\n XMLDocumentCB.prototype.text = function(value) {\n var node;\n this.openCurrent();\n node = new XMLText(this, value);\n this.onData(this.writer.text(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.cdata = function(value) {\n var node;\n this.openCurrent();\n node = new XMLCData(this, value);\n this.onData(this.writer.cdata(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.comment = function(value) {\n var node;\n this.openCurrent();\n node = new XMLComment(this, value);\n this.onData(this.writer.comment(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.raw = function(value) {\n var node;\n this.openCurrent();\n node = new XMLRaw(this, value);\n this.onData(this.writer.raw(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.instruction = function(target, value) {\n var i, insTarget, insValue, len, node;\n this.openCurrent();\n if (target != null) {\n target = getValue(target);\n }\n if (value != null) {\n value = getValue(value);\n }\n if (Array.isArray(target)) {\n for (i = 0, len = target.length; i < len; i++) {\n insTarget = target[i];\n this.instruction(insTarget);\n }\n } else if (isObject(target)) {\n for (insTarget in target) {\n if (!hasProp.call(target, insTarget)) continue;\n insValue = target[insTarget];\n this.instruction(insTarget, insValue);\n }\n } else {\n if (isFunction(value)) {\n value = value.apply();\n }\n node = new XMLProcessingInstruction(this, target, value);\n this.onData(this.writer.processingInstruction(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n }\n return this;\n };\n\n XMLDocumentCB.prototype.declaration = function(version, encoding, standalone) {\n var node;\n this.openCurrent();\n if (this.documentStarted) {\n throw new Error(\"declaration() must be the first node.\");\n }\n node = new XMLDeclaration(this, version, encoding, standalone);\n this.onData(this.writer.declaration(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.doctype = function(root, pubID, sysID) {\n this.openCurrent();\n if (root == null) {\n throw new Error(\"Missing root node name.\");\n }\n if (this.root) {\n throw new Error(\"dtd() must come before the root node.\");\n }\n this.currentNode = new XMLDocType(this, pubID, sysID);\n this.currentNode.rootNodeName = root;\n this.currentNode.children = false;\n this.currentLevel++;\n this.openTags[this.currentLevel] = this.currentNode;\n return this;\n };\n\n XMLDocumentCB.prototype.dtdElement = function(name, value) {\n var node;\n this.openCurrent();\n node = new XMLDTDElement(this, name, value);\n this.onData(this.writer.dtdElement(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.attList = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {\n var node;\n this.openCurrent();\n node = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue);\n this.onData(this.writer.dtdAttList(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.entity = function(name, value) {\n var node;\n this.openCurrent();\n node = new XMLDTDEntity(this, false, name, value);\n this.onData(this.writer.dtdEntity(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.pEntity = function(name, value) {\n var node;\n this.openCurrent();\n node = new XMLDTDEntity(this, true, name, value);\n this.onData(this.writer.dtdEntity(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.notation = function(name, value) {\n var node;\n this.openCurrent();\n node = new XMLDTDNotation(this, name, value);\n this.onData(this.writer.dtdNotation(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.up = function() {\n if (this.currentLevel < 0) {\n throw new Error(\"The document node has no parent.\");\n }\n if (this.currentNode) {\n if (this.currentNode.children) {\n this.closeNode(this.currentNode);\n } else {\n this.openNode(this.currentNode);\n }\n this.currentNode = null;\n } else {\n this.closeNode(this.openTags[this.currentLevel]);\n }\n delete this.openTags[this.currentLevel];\n this.currentLevel--;\n return this;\n };\n\n XMLDocumentCB.prototype.end = function() {\n while (this.currentLevel >= 0) {\n this.up();\n }\n return this.onEnd();\n };\n\n XMLDocumentCB.prototype.openCurrent = function() {\n if (this.currentNode) {\n this.currentNode.children = true;\n return this.openNode(this.currentNode);\n }\n };\n\n XMLDocumentCB.prototype.openNode = function(node) {\n var att, chunk, name, ref1;\n if (!node.isOpen) {\n if (!this.root && this.currentLevel === 0 && node.type === NodeType.Element) {\n this.root = node;\n }\n chunk = '';\n if (node.type === NodeType.Element) {\n this.writerOptions.state = WriterState.OpenTag;\n chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + '<' + node.name;\n ref1 = node.attribs;\n for (name in ref1) {\n if (!hasProp.call(ref1, name)) continue;\n att = ref1[name];\n chunk += this.writer.attribute(att, this.writerOptions, this.currentLevel);\n }\n chunk += (node.children ? '>' : '/>') + this.writer.endline(node, this.writerOptions, this.currentLevel);\n this.writerOptions.state = WriterState.InsideTag;\n } else {\n this.writerOptions.state = WriterState.OpenTag;\n chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + '<!DOCTYPE ' + node.rootNodeName;\n if (node.pubID && node.sysID) {\n chunk += ' PUBLIC \"' + node.pubID + '\" \"' + node.sysID + '\"';\n } else if (node.sysID) {\n chunk += ' SYSTEM \"' + node.sysID + '\"';\n }\n if (node.children) {\n chunk += ' [';\n this.writerOptions.state = WriterState.InsideTag;\n } else {\n this.writerOptions.state = WriterState.CloseTag;\n chunk += '>';\n }\n chunk += this.writer.endline(node, this.writerOptions, this.currentLevel);\n }\n this.onData(chunk, this.currentLevel);\n return node.isOpen = true;\n }\n };\n\n XMLDocumentCB.prototype.closeNode = function(node) {\n var chunk;\n if (!node.isClosed) {\n chunk = '';\n this.writerOptions.state = WriterState.CloseTag;\n if (node.type === NodeType.Element) {\n chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + '</' + node.name + '>' + this.writer.endline(node, this.writerOptions, this.currentLevel);\n } else {\n chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + ']>' + this.writer.endline(node, this.writerOptions, this.currentLevel);\n }\n this.writerOptions.state = WriterState.None;\n this.onData(chunk, this.currentLevel);\n return node.isClosed = true;\n }\n };\n\n XMLDocumentCB.prototype.onData = function(chunk, level) {\n this.documentStarted = true;\n return this.onDataCallback(chunk, level + 1);\n };\n\n XMLDocumentCB.prototype.onEnd = function() {\n this.documentCompleted = true;\n return this.onEndCallback();\n };\n\n XMLDocumentCB.prototype.debugInfo = function(name) {\n if (name == null) {\n return \"\";\n } else {\n return \"node: <\" + name + \">\";\n }\n };\n\n XMLDocumentCB.prototype.ele = function() {\n return this.element.apply(this, arguments);\n };\n\n XMLDocumentCB.prototype.nod = function(name, attributes, text) {\n return this.node(name, attributes, text);\n };\n\n XMLDocumentCB.prototype.txt = function(value) {\n return this.text(value);\n };\n\n XMLDocumentCB.prototype.dat = function(value) {\n return this.cdata(value);\n };\n\n XMLDocumentCB.prototype.com = function(value) {\n return this.comment(value);\n };\n\n XMLDocumentCB.prototype.ins = function(target, value) {\n return this.instruction(target, value);\n };\n\n XMLDocumentCB.prototype.dec = function(version, encoding, standalone) {\n return this.declaration(version, encoding, standalone);\n };\n\n XMLDocumentCB.prototype.dtd = function(root, pubID, sysID) {\n return this.doctype(root, pubID, sysID);\n };\n\n XMLDocumentCB.prototype.e = function(name, attributes, text) {\n return this.element(name, attributes, text);\n };\n\n XMLDocumentCB.prototype.n = function(name, attributes, text) {\n return this.node(name, attributes, text);\n };\n\n XMLDocumentCB.prototype.t = function(value) {\n return this.text(value);\n };\n\n XMLDocumentCB.prototype.d = function(value) {\n return this.cdata(value);\n };\n\n XMLDocumentCB.prototype.c = function(value) {\n return this.comment(value);\n };\n\n XMLDocumentCB.prototype.r = function(value) {\n return this.raw(value);\n };\n\n XMLDocumentCB.prototype.i = function(target, value) {\n return this.instruction(target, value);\n };\n\n XMLDocumentCB.prototype.att = function() {\n if (this.currentNode && this.currentNode.type === NodeType.DocType) {\n return this.attList.apply(this, arguments);\n } else {\n return this.attribute.apply(this, arguments);\n }\n };\n\n XMLDocumentCB.prototype.a = function() {\n if (this.currentNode && this.currentNode.type === NodeType.DocType) {\n return this.attList.apply(this, arguments);\n } else {\n return this.attribute.apply(this, arguments);\n }\n };\n\n XMLDocumentCB.prototype.ent = function(name, value) {\n return this.entity(name, value);\n };\n\n XMLDocumentCB.prototype.pent = function(name, value) {\n return this.pEntity(name, value);\n };\n\n XMLDocumentCB.prototype.not = function(name, value) {\n return this.notation(name, value);\n };\n\n return XMLDocumentCB;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, WriterState, XMLStreamWriter, XMLWriterBase,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLWriterBase = require('./XMLWriterBase');\n\n WriterState = require('./WriterState');\n\n module.exports = XMLStreamWriter = (function(superClass) {\n extend(XMLStreamWriter, superClass);\n\n function XMLStreamWriter(stream, options) {\n this.stream = stream;\n XMLStreamWriter.__super__.constructor.call(this, options);\n }\n\n XMLStreamWriter.prototype.endline = function(node, options, level) {\n if (node.isLastRootNode && options.state === WriterState.CloseTag) {\n return '';\n } else {\n return XMLStreamWriter.__super__.endline.call(this, node, options, level);\n }\n };\n\n XMLStreamWriter.prototype.document = function(doc, options) {\n var child, i, j, k, len, len1, ref, ref1, results;\n ref = doc.children;\n for (i = j = 0, len = ref.length; j < len; i = ++j) {\n child = ref[i];\n child.isLastRootNode = i === doc.children.length - 1;\n }\n options = this.filterOptions(options);\n ref1 = doc.children;\n results = [];\n for (k = 0, len1 = ref1.length; k < len1; k++) {\n child = ref1[k];\n results.push(this.writeChildNode(child, options, 0));\n }\n return results;\n };\n\n XMLStreamWriter.prototype.attribute = function(att, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.attribute.call(this, att, options, level));\n };\n\n XMLStreamWriter.prototype.cdata = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.cdata.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.comment = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.comment.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.declaration = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.declaration.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.docType = function(node, options, level) {\n var child, j, len, ref;\n level || (level = 0);\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n this.stream.write(this.indent(node, options, level));\n this.stream.write('<!DOCTYPE ' + node.root().name);\n if (node.pubID && node.sysID) {\n this.stream.write(' PUBLIC \"' + node.pubID + '\" \"' + node.sysID + '\"');\n } else if (node.sysID) {\n this.stream.write(' SYSTEM \"' + node.sysID + '\"');\n }\n if (node.children.length > 0) {\n this.stream.write(' [');\n this.stream.write(this.endline(node, options, level));\n options.state = WriterState.InsideTag;\n ref = node.children;\n for (j = 0, len = ref.length; j < len; j++) {\n child = ref[j];\n this.writeChildNode(child, options, level + 1);\n }\n options.state = WriterState.CloseTag;\n this.stream.write(']');\n }\n options.state = WriterState.CloseTag;\n this.stream.write(options.spaceBeforeSlash + '>');\n this.stream.write(this.endline(node, options, level));\n options.state = WriterState.None;\n return this.closeNode(node, options, level);\n };\n\n XMLStreamWriter.prototype.element = function(node, options, level) {\n var att, child, childNodeCount, firstChildNode, j, len, name, prettySuppressed, ref, ref1;\n level || (level = 0);\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n this.stream.write(this.indent(node, options, level) + '<' + node.name);\n ref = node.attribs;\n for (name in ref) {\n if (!hasProp.call(ref, name)) continue;\n att = ref[name];\n this.attribute(att, options, level);\n }\n childNodeCount = node.children.length;\n firstChildNode = childNodeCount === 0 ? null : node.children[0];\n if (childNodeCount === 0 || node.children.every(function(e) {\n return (e.type === NodeType.Text || e.type === NodeType.Raw) && e.value === '';\n })) {\n if (options.allowEmpty) {\n this.stream.write('>');\n options.state = WriterState.CloseTag;\n this.stream.write('</' + node.name + '>');\n } else {\n options.state = WriterState.CloseTag;\n this.stream.write(options.spaceBeforeSlash + '/>');\n }\n } else if (options.pretty && childNodeCount === 1 && (firstChildNode.type === NodeType.Text || firstChildNode.type === NodeType.Raw) && (firstChildNode.value != null)) {\n this.stream.write('>');\n options.state = WriterState.InsideTag;\n options.suppressPrettyCount++;\n prettySuppressed = true;\n this.writeChildNode(firstChildNode, options, level + 1);\n options.suppressPrettyCount--;\n prettySuppressed = false;\n options.state = WriterState.CloseTag;\n this.stream.write('</' + node.name + '>');\n } else {\n this.stream.write('>' + this.endline(node, options, level));\n options.state = WriterState.InsideTag;\n ref1 = node.children;\n for (j = 0, len = ref1.length; j < len; j++) {\n child = ref1[j];\n this.writeChildNode(child, options, level + 1);\n }\n options.state = WriterState.CloseTag;\n this.stream.write(this.indent(node, options, level) + '</' + node.name + '>');\n }\n this.stream.write(this.endline(node, options, level));\n options.state = WriterState.None;\n return this.closeNode(node, options, level);\n };\n\n XMLStreamWriter.prototype.processingInstruction = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.processingInstruction.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.raw = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.raw.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.text = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.text.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.dtdAttList = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.dtdAttList.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.dtdElement = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.dtdElement.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.dtdEntity = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.dtdEntity.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.dtdNotation = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.dtdNotation.call(this, node, options, level));\n };\n\n return XMLStreamWriter;\n\n })(XMLWriterBase);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, WriterState, XMLDOMImplementation, XMLDocument, XMLDocumentCB, XMLStreamWriter, XMLStringWriter, assign, isFunction, ref;\n\n ref = require('./Utility'), assign = ref.assign, isFunction = ref.isFunction;\n\n XMLDOMImplementation = require('./XMLDOMImplementation');\n\n XMLDocument = require('./XMLDocument');\n\n XMLDocumentCB = require('./XMLDocumentCB');\n\n XMLStringWriter = require('./XMLStringWriter');\n\n XMLStreamWriter = require('./XMLStreamWriter');\n\n NodeType = require('./NodeType');\n\n WriterState = require('./WriterState');\n\n module.exports.create = function(name, xmldec, doctype, options) {\n var doc, root;\n if (name == null) {\n throw new Error(\"Root element needs a name.\");\n }\n options = assign({}, xmldec, doctype, options);\n doc = new XMLDocument(options);\n root = doc.element(name);\n if (!options.headless) {\n doc.declaration(options);\n if ((options.pubID != null) || (options.sysID != null)) {\n doc.dtd(options);\n }\n }\n return root;\n };\n\n module.exports.begin = function(options, onData, onEnd) {\n var ref1;\n if (isFunction(options)) {\n ref1 = [options, onData], onData = ref1[0], onEnd = ref1[1];\n options = {};\n }\n if (onData) {\n return new XMLDocumentCB(options, onData, onEnd);\n } else {\n return new XMLDocument(options);\n }\n };\n\n module.exports.stringWriter = function(options) {\n return new XMLStringWriter(options);\n };\n\n module.exports.streamWriter = function(stream, options) {\n return new XMLStreamWriter(stream, options);\n };\n\n module.exports.implementation = new XMLDOMImplementation();\n\n module.exports.nodeType = NodeType;\n\n module.exports.writerState = WriterState;\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n \"use strict\";\n var builder, defaults, escapeCDATA, requiresCDATA, wrapCDATA,\n hasProp = {}.hasOwnProperty;\n\n builder = require('xmlbuilder');\n\n defaults = require('./defaults').defaults;\n\n requiresCDATA = function(entry) {\n return typeof entry === \"string\" && (entry.indexOf('&') >= 0 || entry.indexOf('>') >= 0 || entry.indexOf('<') >= 0);\n };\n\n wrapCDATA = function(entry) {\n return \"<![CDATA[\" + (escapeCDATA(entry)) + \"]]>\";\n };\n\n escapeCDATA = function(entry) {\n return entry.replace(']]>', ']]]]><![CDATA[>');\n };\n\n exports.Builder = (function() {\n function Builder(opts) {\n var key, ref, value;\n this.options = {};\n ref = defaults[\"0.2\"];\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n value = ref[key];\n this.options[key] = value;\n }\n for (key in opts) {\n if (!hasProp.call(opts, key)) continue;\n value = opts[key];\n this.options[key] = value;\n }\n }\n\n Builder.prototype.buildObject = function(rootObj) {\n var attrkey, charkey, render, rootElement, rootName;\n attrkey = this.options.attrkey;\n charkey = this.options.charkey;\n if ((Object.keys(rootObj).length === 1) && (this.options.rootName === defaults['0.2'].rootName)) {\n rootName = Object.keys(rootObj)[0];\n rootObj = rootObj[rootName];\n } else {\n rootName = this.options.rootName;\n }\n render = (function(_this) {\n return function(element, obj) {\n var attr, child, entry, index, key, value;\n if (typeof obj !== 'object') {\n if (_this.options.cdata && requiresCDATA(obj)) {\n element.raw(wrapCDATA(obj));\n } else {\n element.txt(obj);\n }\n } else if (Array.isArray(obj)) {\n for (index in obj) {\n if (!hasProp.call(obj, index)) continue;\n child = obj[index];\n for (key in child) {\n entry = child[key];\n element = render(element.ele(key), entry).up();\n }\n }\n } else {\n for (key in obj) {\n if (!hasProp.call(obj, key)) continue;\n child = obj[key];\n if (key === attrkey) {\n if (typeof child === \"object\") {\n for (attr in child) {\n value = child[attr];\n element = element.att(attr, value);\n }\n }\n } else if (key === charkey) {\n if (_this.options.cdata && requiresCDATA(child)) {\n element = element.raw(wrapCDATA(child));\n } else {\n element = element.txt(child);\n }\n } else if (Array.isArray(child)) {\n for (index in child) {\n if (!hasProp.call(child, index)) continue;\n entry = child[index];\n if (typeof entry === 'string') {\n if (_this.options.cdata && requiresCDATA(entry)) {\n element = element.ele(key).raw(wrapCDATA(entry)).up();\n } else {\n element = element.ele(key, entry).up();\n }\n } else {\n element = render(element.ele(key), entry).up();\n }\n }\n } else if (typeof child === \"object\") {\n element = render(element.ele(key), child).up();\n } else {\n if (typeof child === 'string' && _this.options.cdata && requiresCDATA(child)) {\n element = element.ele(key).raw(wrapCDATA(child)).up();\n } else {\n if (child == null) {\n child = '';\n }\n element = element.ele(key, child.toString()).up();\n }\n }\n }\n }\n return element;\n };\n })(this);\n rootElement = builder.create(rootName, this.options.xmldec, this.options.doctype, {\n headless: this.options.headless,\n allowSurrogateChars: this.options.allowSurrogateChars\n });\n return render(rootElement, rootObj).end(this.options.renderOpts);\n };\n\n return Builder;\n\n })();\n\n}).call(this);\n",";(function (sax) { // wrapper for non-node envs\n sax.parser = function (strict, opt) { return new SAXParser(strict, opt) }\n sax.SAXParser = SAXParser\n sax.SAXStream = SAXStream\n sax.createStream = createStream\n\n // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.\n // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),\n // since that's the earliest that a buffer overrun could occur. This way, checks are\n // as rare as required, but as often as necessary to ensure never crossing this bound.\n // Furthermore, buffers are only tested at most once per write(), so passing a very\n // large string into write() might have undesirable effects, but this is manageable by\n // the caller, so it is assumed to be safe. Thus, a call to write() may, in the extreme\n // edge case, result in creating at most one complete copy of the string passed in.\n // Set to Infinity to have unlimited buffers.\n sax.MAX_BUFFER_LENGTH = 64 * 1024\n\n var buffers = [\n 'comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype',\n 'procInstName', 'procInstBody', 'entity', 'attribName',\n 'attribValue', 'cdata', 'script'\n ]\n\n sax.EVENTS = [\n 'text',\n 'processinginstruction',\n 'sgmldeclaration',\n 'doctype',\n 'comment',\n 'opentagstart',\n 'attribute',\n 'opentag',\n 'closetag',\n 'opencdata',\n 'cdata',\n 'closecdata',\n 'error',\n 'end',\n 'ready',\n 'script',\n 'opennamespace',\n 'closenamespace'\n ]\n\n function SAXParser (strict, opt) {\n if (!(this instanceof SAXParser)) {\n return new SAXParser(strict, opt)\n }\n\n var parser = this\n clearBuffers(parser)\n parser.q = parser.c = ''\n parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH\n parser.opt = opt || {}\n parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags\n parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'\n parser.tags = []\n parser.closed = parser.closedRoot = parser.sawRoot = false\n parser.tag = parser.error = null\n parser.strict = !!strict\n parser.noscript = !!(strict || parser.opt.noscript)\n parser.state = S.BEGIN\n parser.strictEntities = parser.opt.strictEntities\n parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES)\n parser.attribList = []\n\n // namespaces form a prototype chain.\n // it always points at the current tag,\n // which protos to its parent tag.\n if (parser.opt.xmlns) {\n parser.ns = Object.create(rootNS)\n }\n\n // disallow unquoted attribute values if not otherwise configured\n // and strict mode is true\n if (parser.opt.unquotedAttributeValues === undefined) {\n parser.opt.unquotedAttributeValues = !strict;\n }\n\n // mostly just for error reporting\n parser.trackPosition = parser.opt.position !== false\n if (parser.trackPosition) {\n parser.position = parser.line = parser.column = 0\n }\n emit(parser, 'onready')\n }\n\n if (!Object.create) {\n Object.create = function (o) {\n function F () {}\n F.prototype = o\n var newf = new F()\n return newf\n }\n }\n\n if (!Object.keys) {\n Object.keys = function (o) {\n var a = []\n for (var i in o) if (o.hasOwnProperty(i)) a.push(i)\n return a\n }\n }\n\n function checkBufferLength (parser) {\n var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)\n var maxActual = 0\n for (var i = 0, l = buffers.length; i < l; i++) {\n var len = parser[buffers[i]].length\n if (len > maxAllowed) {\n // Text/cdata nodes can get big, and since they're buffered,\n // we can get here under normal conditions.\n // Avoid issues by emitting the text node now,\n // so at least it won't get any bigger.\n switch (buffers[i]) {\n case 'textNode':\n closeText(parser)\n break\n\n case 'cdata':\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n break\n\n case 'script':\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n break\n\n default:\n error(parser, 'Max buffer length exceeded: ' + buffers[i])\n }\n }\n maxActual = Math.max(maxActual, len)\n }\n // schedule the next check for the earliest possible buffer overrun.\n var m = sax.MAX_BUFFER_LENGTH - maxActual\n parser.bufferCheckPosition = m + parser.position\n }\n\n function clearBuffers (parser) {\n for (var i = 0, l = buffers.length; i < l; i++) {\n parser[buffers[i]] = ''\n }\n }\n\n function flushBuffers (parser) {\n closeText(parser)\n if (parser.cdata !== '') {\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n }\n if (parser.script !== '') {\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n }\n\n SAXParser.prototype = {\n end: function () { end(this) },\n write: write,\n resume: function () { this.error = null; return this },\n close: function () { return this.write(null) },\n flush: function () { flushBuffers(this) }\n }\n\n var Stream\n try {\n Stream = require('stream').Stream\n } catch (ex) {\n Stream = function () {}\n }\n if (!Stream) Stream = function () {}\n\n var streamWraps = sax.EVENTS.filter(function (ev) {\n return ev !== 'error' && ev !== 'end'\n })\n\n function createStream (strict, opt) {\n return new SAXStream(strict, opt)\n }\n\n function SAXStream (strict, opt) {\n if (!(this instanceof SAXStream)) {\n return new SAXStream(strict, opt)\n }\n\n Stream.apply(this)\n\n this._parser = new SAXParser(strict, opt)\n this.writable = true\n this.readable = true\n\n var me = this\n\n this._parser.onend = function () {\n me.emit('end')\n }\n\n this._parser.onerror = function (er) {\n me.emit('error', er)\n\n // if didn't throw, then means error was handled.\n // go ahead and clear error, so we can write again.\n me._parser.error = null\n }\n\n this._decoder = null\n\n streamWraps.forEach(function (ev) {\n Object.defineProperty(me, 'on' + ev, {\n get: function () {\n return me._parser['on' + ev]\n },\n set: function (h) {\n if (!h) {\n me.removeAllListeners(ev)\n me._parser['on' + ev] = h\n return h\n }\n me.on(ev, h)\n },\n enumerable: true,\n configurable: false\n })\n })\n }\n\n SAXStream.prototype = Object.create(Stream.prototype, {\n constructor: {\n value: SAXStream\n }\n })\n\n SAXStream.prototype.write = function (data) {\n if (typeof Buffer === 'function' &&\n typeof Buffer.isBuffer === 'function' &&\n Buffer.isBuffer(data)) {\n if (!this._decoder) {\n var SD = require('string_decoder').StringDecoder\n this._decoder = new SD('utf8')\n }\n data = this._decoder.write(data)\n }\n\n this._parser.write(data.toString())\n this.emit('data', data)\n return true\n }\n\n SAXStream.prototype.end = function (chunk) {\n if (chunk && chunk.length) {\n this.write(chunk)\n }\n this._parser.end()\n return true\n }\n\n SAXStream.prototype.on = function (ev, handler) {\n var me = this\n if (!me._parser['on' + ev] && streamWraps.indexOf(ev) !== -1) {\n me._parser['on' + ev] = function () {\n var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments)\n args.splice(0, 0, ev)\n me.emit.apply(me, args)\n }\n }\n\n return Stream.prototype.on.call(me, ev, handler)\n }\n\n // this really needs to be replaced with character classes.\n // XML allows all manner of ridiculous numbers and digits.\n var CDATA = '[CDATA['\n var DOCTYPE = 'DOCTYPE'\n var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'\n var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'\n var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE }\n\n // http://www.w3.org/TR/REC-xml/#NT-NameStartChar\n // This implementation works on strings, a single character at a time\n // as such, it cannot ever support astral-plane characters (10000-EFFFF)\n // without a significant breaking change to either this parser, or the\n // JavaScript language. Implementation of an emoji-capable xml parser\n // is left as an exercise for the reader.\n var 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]/\n\n var 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-]/\n\n var 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]/\n var 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-]/\n\n function isWhitespace (c) {\n return c === ' ' || c === '\\n' || c === '\\r' || c === '\\t'\n }\n\n function isQuote (c) {\n return c === '\"' || c === '\\''\n }\n\n function isAttribEnd (c) {\n return c === '>' || isWhitespace(c)\n }\n\n function isMatch (regex, c) {\n return regex.test(c)\n }\n\n function notMatch (regex, c) {\n return !isMatch(regex, c)\n }\n\n var S = 0\n sax.STATE = {\n BEGIN: S++, // leading byte order mark or whitespace\n BEGIN_WHITESPACE: S++, // leading whitespace\n TEXT: S++, // general stuff\n TEXT_ENTITY: S++, // & and such.\n OPEN_WAKA: S++, // <\n SGML_DECL: S++, // <!BLARG\n SGML_DECL_QUOTED: S++, // <!BLARG foo \"bar\n DOCTYPE: S++, // <!DOCTYPE\n DOCTYPE_QUOTED: S++, // <!DOCTYPE \"//blah\n DOCTYPE_DTD: S++, // <!DOCTYPE \"//blah\" [ ...\n DOCTYPE_DTD_QUOTED: S++, // <!DOCTYPE \"//blah\" [ \"foo\n COMMENT_STARTING: S++, // <!-\n COMMENT: S++, // <!--\n COMMENT_ENDING: S++, // <!-- blah -\n COMMENT_ENDED: S++, // <!-- blah --\n CDATA: S++, // <![CDATA[ something\n CDATA_ENDING: S++, // ]\n CDATA_ENDING_2: S++, // ]]\n PROC_INST: S++, // <?hi\n PROC_INST_BODY: S++, // <?hi there\n PROC_INST_ENDING: S++, // <?hi \"there\" ?\n OPEN_TAG: S++, // <strong\n OPEN_TAG_SLASH: S++, // <strong /\n ATTRIB: S++, // <a\n ATTRIB_NAME: S++, // <a foo\n ATTRIB_NAME_SAW_WHITE: S++, // <a foo _\n ATTRIB_VALUE: S++, // <a foo=\n ATTRIB_VALUE_QUOTED: S++, // <a foo=\"bar\n ATTRIB_VALUE_CLOSED: S++, // <a foo=\"bar\"\n ATTRIB_VALUE_UNQUOTED: S++, // <a foo=bar\n ATTRIB_VALUE_ENTITY_Q: S++, // <foo bar=\""\"\n ATTRIB_VALUE_ENTITY_U: S++, // <foo bar="\n CLOSE_TAG: S++, // </a\n CLOSE_TAG_SAW_WHITE: S++, // </a >\n SCRIPT: S++, // <script> ...\n SCRIPT_ENDING: S++ // <script> ... <\n }\n\n sax.XML_ENTITIES = {\n 'amp': '&',\n 'gt': '>',\n 'lt': '<',\n 'quot': '\"',\n 'apos': \"'\"\n }\n\n sax.ENTITIES = {\n 'amp': '&',\n 'gt': '>',\n 'lt': '<',\n 'quot': '\"',\n 'apos': \"'\",\n 'AElig': 198,\n 'Aacute': 193,\n 'Acirc': 194,\n 'Agrave': 192,\n 'Aring': 197,\n 'Atilde': 195,\n 'Auml': 196,\n 'Ccedil': 199,\n 'ETH': 208,\n 'Eacute': 201,\n 'Ecirc': 202,\n 'Egrave': 200,\n 'Euml': 203,\n 'Iacute': 205,\n 'Icirc': 206,\n 'Igrave': 204,\n 'Iuml': 207,\n 'Ntilde': 209,\n 'Oacute': 211,\n 'Ocirc': 212,\n 'Ograve': 210,\n 'Oslash': 216,\n 'Otilde': 213,\n 'Ouml': 214,\n 'THORN': 222,\n 'Uacute': 218,\n 'Ucirc': 219,\n 'Ugrave': 217,\n 'Uuml': 220,\n 'Yacute': 221,\n 'aacute': 225,\n 'acirc': 226,\n 'aelig': 230,\n 'agrave': 224,\n 'aring': 229,\n 'atilde': 227,\n 'auml': 228,\n 'ccedil': 231,\n 'eacute': 233,\n 'ecirc': 234,\n 'egrave': 232,\n 'eth': 240,\n 'euml': 235,\n 'iacute': 237,\n 'icirc': 238,\n 'igrave': 236,\n 'iuml': 239,\n 'ntilde': 241,\n 'oacute': 243,\n 'ocirc': 244,\n 'ograve': 242,\n 'oslash': 248,\n 'otilde': 245,\n 'ouml': 246,\n 'szlig': 223,\n 'thorn': 254,\n 'uacute': 250,\n 'ucirc': 251,\n 'ugrave': 249,\n 'uuml': 252,\n 'yacute': 253,\n 'yuml': 255,\n 'copy': 169,\n 'reg': 174,\n 'nbsp': 160,\n 'iexcl': 161,\n 'cent': 162,\n 'pound': 163,\n 'curren': 164,\n 'yen': 165,\n 'brvbar': 166,\n 'sect': 167,\n 'uml': 168,\n 'ordf': 170,\n 'laquo': 171,\n 'not': 172,\n 'shy': 173,\n 'macr': 175,\n 'deg': 176,\n 'plusmn': 177,\n 'sup1': 185,\n 'sup2': 178,\n 'sup3': 179,\n 'acute': 180,\n 'micro': 181,\n 'para': 182,\n 'middot': 183,\n 'cedil': 184,\n 'ordm': 186,\n 'raquo': 187,\n 'frac14': 188,\n 'frac12': 189,\n 'frac34': 190,\n 'iquest': 191,\n 'times': 215,\n 'divide': 247,\n 'OElig': 338,\n 'oelig': 339,\n 'Scaron': 352,\n 'scaron': 353,\n 'Yuml': 376,\n 'fnof': 402,\n 'circ': 710,\n 'tilde': 732,\n 'Alpha': 913,\n 'Beta': 914,\n 'Gamma': 915,\n 'Delta': 916,\n 'Epsilon': 917,\n 'Zeta': 918,\n 'Eta': 919,\n 'Theta': 920,\n 'Iota': 921,\n 'Kappa': 922,\n 'Lambda': 923,\n 'Mu': 924,\n 'Nu': 925,\n 'Xi': 926,\n 'Omicron': 927,\n 'Pi': 928,\n 'Rho': 929,\n 'Sigma': 931,\n 'Tau': 932,\n 'Upsilon': 933,\n 'Phi': 934,\n 'Chi': 935,\n 'Psi': 936,\n 'Omega': 937,\n 'alpha': 945,\n 'beta': 946,\n 'gamma': 947,\n 'delta': 948,\n 'epsilon': 949,\n 'zeta': 950,\n 'eta': 951,\n 'theta': 952,\n 'iota': 953,\n 'kappa': 954,\n 'lambda': 955,\n 'mu': 956,\n 'nu': 957,\n 'xi': 958,\n 'omicron': 959,\n 'pi': 960,\n 'rho': 961,\n 'sigmaf': 962,\n 'sigma': 963,\n 'tau': 964,\n 'upsilon': 965,\n 'phi': 966,\n 'chi': 967,\n 'psi': 968,\n 'omega': 969,\n 'thetasym': 977,\n 'upsih': 978,\n 'piv': 982,\n 'ensp': 8194,\n 'emsp': 8195,\n 'thinsp': 8201,\n 'zwnj': 8204,\n 'zwj': 8205,\n 'lrm': 8206,\n 'rlm': 8207,\n 'ndash': 8211,\n 'mdash': 8212,\n 'lsquo': 8216,\n 'rsquo': 8217,\n 'sbquo': 8218,\n 'ldquo': 8220,\n 'rdquo': 8221,\n 'bdquo': 8222,\n 'dagger': 8224,\n 'Dagger': 8225,\n 'bull': 8226,\n 'hellip': 8230,\n 'permil': 8240,\n 'prime': 8242,\n 'Prime': 8243,\n 'lsaquo': 8249,\n 'rsaquo': 8250,\n 'oline': 8254,\n 'frasl': 8260,\n 'euro': 8364,\n 'image': 8465,\n 'weierp': 8472,\n 'real': 8476,\n 'trade': 8482,\n 'alefsym': 8501,\n 'larr': 8592,\n 'uarr': 8593,\n 'rarr': 8594,\n 'darr': 8595,\n 'harr': 8596,\n 'crarr': 8629,\n 'lArr': 8656,\n 'uArr': 8657,\n 'rArr': 8658,\n 'dArr': 8659,\n 'hArr': 8660,\n 'forall': 8704,\n 'part': 8706,\n 'exist': 8707,\n 'empty': 8709,\n 'nabla': 8711,\n 'isin': 8712,\n 'notin': 8713,\n 'ni': 8715,\n 'prod': 8719,\n 'sum': 8721,\n 'minus': 8722,\n 'lowast': 8727,\n 'radic': 8730,\n 'prop': 8733,\n 'infin': 8734,\n 'ang': 8736,\n 'and': 8743,\n 'or': 8744,\n 'cap': 8745,\n 'cup': 8746,\n 'int': 8747,\n 'there4': 8756,\n 'sim': 8764,\n 'cong': 8773,\n 'asymp': 8776,\n 'ne': 8800,\n 'equiv': 8801,\n 'le': 8804,\n 'ge': 8805,\n 'sub': 8834,\n 'sup': 8835,\n 'nsub': 8836,\n 'sube': 8838,\n 'supe': 8839,\n 'oplus': 8853,\n 'otimes': 8855,\n 'perp': 8869,\n 'sdot': 8901,\n 'lceil': 8968,\n 'rceil': 8969,\n 'lfloor': 8970,\n 'rfloor': 8971,\n 'lang': 9001,\n 'rang': 9002,\n 'loz': 9674,\n 'spades': 9824,\n 'clubs': 9827,\n 'hearts': 9829,\n 'diams': 9830\n }\n\n Object.keys(sax.ENTITIES).forEach(function (key) {\n var e = sax.ENTITIES[key]\n var s = typeof e === 'number' ? String.fromCharCode(e) : e\n sax.ENTITIES[key] = s\n })\n\n for (var s in sax.STATE) {\n sax.STATE[sax.STATE[s]] = s\n }\n\n // shorthand\n S = sax.STATE\n\n function emit (parser, event, data) {\n parser[event] && parser[event](data)\n }\n\n function emitNode (parser, nodeType, data) {\n if (parser.textNode) closeText(parser)\n emit(parser, nodeType, data)\n }\n\n function closeText (parser) {\n parser.textNode = textopts(parser.opt, parser.textNode)\n if (parser.textNode) emit(parser, 'ontext', parser.textNode)\n parser.textNode = ''\n }\n\n function textopts (opt, text) {\n if (opt.trim) text = text.trim()\n if (opt.normalize) text = text.replace(/\\s+/g, ' ')\n return text\n }\n\n function error (parser, er) {\n closeText(parser)\n if (parser.trackPosition) {\n er += '\\nLine: ' + parser.line +\n '\\nColumn: ' + parser.column +\n '\\nChar: ' + parser.c\n }\n er = new Error(er)\n parser.error = er\n emit(parser, 'onerror', er)\n return parser\n }\n\n function end (parser) {\n if (parser.sawRoot && !parser.closedRoot) strictFail(parser, 'Unclosed root tag')\n if ((parser.state !== S.BEGIN) &&\n (parser.state !== S.BEGIN_WHITESPACE) &&\n (parser.state !== S.TEXT)) {\n error(parser, 'Unexpected end')\n }\n closeText(parser)\n parser.c = ''\n parser.closed = true\n emit(parser, 'onend')\n SAXParser.call(parser, parser.strict, parser.opt)\n return parser\n }\n\n function strictFail (parser, message) {\n if (typeof parser !== 'object' || !(parser instanceof SAXParser)) {\n throw new Error('bad call to strictFail')\n }\n if (parser.strict) {\n error(parser, message)\n }\n }\n\n function newTag (parser) {\n if (!parser.strict) parser.tagName = parser.tagName[parser.looseCase]()\n var parent = parser.tags[parser.tags.length - 1] || parser\n var tag = parser.tag = { name: parser.tagName, attributes: {} }\n\n // will be overridden if tag contails an xmlns=\"foo\" or xmlns:foo=\"bar\"\n if (parser.opt.xmlns) {\n tag.ns = parent.ns\n }\n parser.attribList.length = 0\n emitNode(parser, 'onopentagstart', tag)\n }\n\n function qname (name, attribute) {\n var i = name.indexOf(':')\n var qualName = i < 0 ? [ '', name ] : name.split(':')\n var prefix = qualName[0]\n var local = qualName[1]\n\n // <x \"xmlns\"=\"http://foo\">\n if (attribute && name === 'xmlns') {\n prefix = 'xmlns'\n local = ''\n }\n\n return { prefix: prefix, local: local }\n }\n\n function attrib (parser) {\n if (!parser.strict) {\n parser.attribName = parser.attribName[parser.looseCase]()\n }\n\n if (parser.attribList.indexOf(parser.attribName) !== -1 ||\n parser.tag.attributes.hasOwnProperty(parser.attribName)) {\n parser.attribName = parser.attribValue = ''\n return\n }\n\n if (parser.opt.xmlns) {\n var qn = qname(parser.attribName, true)\n var prefix = qn.prefix\n var local = qn.local\n\n if (prefix === 'xmlns') {\n // namespace binding attribute. push the binding into scope\n if (local === 'xml' && parser.attribValue !== XML_NAMESPACE) {\n strictFail(parser,\n 'xml: prefix must be bound to ' + XML_NAMESPACE + '\\n' +\n 'Actual: ' + parser.attribValue)\n } else if (local === 'xmlns' && parser.attribValue !== XMLNS_NAMESPACE) {\n strictFail(parser,\n 'xmlns: prefix must be bound to ' + XMLNS_NAMESPACE + '\\n' +\n 'Actual: ' + parser.attribValue)\n } else {\n var tag = parser.tag\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (tag.ns === parent.ns) {\n tag.ns = Object.create(parent.ns)\n }\n tag.ns[local] = parser.attribValue\n }\n }\n\n // defer onattribute events until all attributes have been seen\n // so any new bindings can take effect. preserve attribute order\n // so deferred events can be emitted in document order\n parser.attribList.push([parser.attribName, parser.attribValue])\n } else {\n // in non-xmlns mode, we can emit the event right away\n parser.tag.attributes[parser.attribName] = parser.attribValue\n emitNode(parser, 'onattribute', {\n name: parser.attribName,\n value: parser.attribValue\n })\n }\n\n parser.attribName = parser.attribValue = ''\n }\n\n function openTag (parser, selfClosing) {\n if (parser.opt.xmlns) {\n // emit namespace binding events\n var tag = parser.tag\n\n // add namespace info to tag\n var qn = qname(parser.tagName)\n tag.prefix = qn.prefix\n tag.local = qn.local\n tag.uri = tag.ns[qn.prefix] || ''\n\n if (tag.prefix && !tag.uri) {\n strictFail(parser, 'Unbound namespace prefix: ' +\n JSON.stringify(parser.tagName))\n tag.uri = qn.prefix\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (tag.ns && parent.ns !== tag.ns) {\n Object.keys(tag.ns).forEach(function (p) {\n emitNode(parser, 'onopennamespace', {\n prefix: p,\n uri: tag.ns[p]\n })\n })\n }\n\n // handle deferred onattribute events\n // Note: do not apply default ns to attributes:\n // http://www.w3.org/TR/REC-xml-names/#defaulting\n for (var i = 0, l = parser.attribList.length; i < l; i++) {\n var nv = parser.attribList[i]\n var name = nv[0]\n var value = nv[1]\n var qualName = qname(name, true)\n var prefix = qualName.prefix\n var local = qualName.local\n var uri = prefix === '' ? '' : (tag.ns[prefix] || '')\n var a = {\n name: name,\n value: value,\n prefix: prefix,\n local: local,\n uri: uri\n }\n\n // if there's any attributes with an undefined namespace,\n // then fail on them now.\n if (prefix && prefix !== 'xmlns' && !uri) {\n strictFail(parser, 'Unbound namespace prefix: ' +\n JSON.stringify(prefix))\n a.uri = prefix\n }\n parser.tag.attributes[name] = a\n emitNode(parser, 'onattribute', a)\n }\n parser.attribList.length = 0\n }\n\n parser.tag.isSelfClosing = !!selfClosing\n\n // process the tag\n parser.sawRoot = true\n parser.tags.push(parser.tag)\n emitNode(parser, 'onopentag', parser.tag)\n if (!selfClosing) {\n // special case for <script> in non-strict mode.\n if (!parser.noscript && parser.tagName.toLowerCase() === 'script') {\n parser.state = S.SCRIPT\n } else {\n parser.state = S.TEXT\n }\n parser.tag = null\n parser.tagName = ''\n }\n parser.attribName = parser.attribValue = ''\n parser.attribList.length = 0\n }\n\n function closeTag (parser) {\n if (!parser.tagName) {\n strictFail(parser, 'Weird empty close tag.')\n parser.textNode += '</>'\n parser.state = S.TEXT\n return\n }\n\n if (parser.script) {\n if (parser.tagName !== 'script') {\n parser.script += '</' + parser.tagName + '>'\n parser.tagName = ''\n parser.state = S.SCRIPT\n return\n }\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n\n // first make sure that the closing tag actually exists.\n // <a><b></c></b></a> will close everything, otherwise.\n var t = parser.tags.length\n var tagName = parser.tagName\n if (!parser.strict) {\n tagName = tagName[parser.looseCase]()\n }\n var closeTo = tagName\n while (t--) {\n var close = parser.tags[t]\n if (close.name !== closeTo) {\n // fail the first time in strict mode\n strictFail(parser, 'Unexpected close tag')\n } else {\n break\n }\n }\n\n // didn't find it. we already failed for strict, so just abort.\n if (t < 0) {\n strictFail(parser, 'Unmatched closing tag: ' + parser.tagName)\n parser.textNode += '</' + parser.tagName + '>'\n parser.state = S.TEXT\n return\n }\n parser.tagName = tagName\n var s = parser.tags.length\n while (s-- > t) {\n var tag = parser.tag = parser.tags.pop()\n parser.tagName = parser.tag.name\n emitNode(parser, 'onclosetag', parser.tagName)\n\n var x = {}\n for (var i in tag.ns) {\n x[i] = tag.ns[i]\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (parser.opt.xmlns && tag.ns !== parent.ns) {\n // remove namespace bindings introduced by tag\n Object.keys(tag.ns).forEach(function (p) {\n var n = tag.ns[p]\n emitNode(parser, 'onclosenamespace', { prefix: p, uri: n })\n })\n }\n }\n if (t === 0) parser.closedRoot = true\n parser.tagName = parser.attribValue = parser.attribName = ''\n parser.attribList.length = 0\n parser.state = S.TEXT\n }\n\n function parseEntity (parser) {\n var entity = parser.entity\n var entityLC = entity.toLowerCase()\n var num\n var numStr = ''\n\n if (parser.ENTITIES[entity]) {\n return parser.ENTITIES[entity]\n }\n if (parser.ENTITIES[entityLC]) {\n return parser.ENTITIES[entityLC]\n }\n entity = entityLC\n if (entity.charAt(0) === '#') {\n if (entity.charAt(1) === 'x') {\n entity = entity.slice(2)\n num = parseInt(entity, 16)\n numStr = num.toString(16)\n } else {\n entity = entity.slice(1)\n num = parseInt(entity, 10)\n numStr = num.toString(10)\n }\n }\n entity = entity.replace(/^0+/, '')\n if (isNaN(num) || numStr.toLowerCase() !== entity) {\n strictFail(parser, 'Invalid character entity')\n return '&' + parser.entity + ';'\n }\n\n return String.fromCodePoint(num)\n }\n\n function beginWhiteSpace (parser, c) {\n if (c === '<') {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else if (!isWhitespace(c)) {\n // have to process this as a text node.\n // weird, but happens.\n strictFail(parser, 'Non-whitespace before first tag.')\n parser.textNode = c\n parser.state = S.TEXT\n }\n }\n\n function charAt (chunk, i) {\n var result = ''\n if (i < chunk.length) {\n result = chunk.charAt(i)\n }\n return result\n }\n\n function write (chunk) {\n var parser = this\n if (this.error) {\n throw this.error\n }\n if (parser.closed) {\n return error(parser,\n 'Cannot write after close. Assign an onready handler.')\n }\n if (chunk === null) {\n return end(parser)\n }\n if (typeof chunk === 'object') {\n chunk = chunk.toString()\n }\n var i = 0\n var c = ''\n while (true) {\n c = charAt(chunk, i++)\n parser.c = c\n\n if (!c) {\n break\n }\n\n if (parser.trackPosition) {\n parser.position++\n if (c === '\\n') {\n parser.line++\n parser.column = 0\n } else {\n parser.column++\n }\n }\n\n switch (parser.state) {\n case S.BEGIN:\n parser.state = S.BEGIN_WHITESPACE\n if (c === '\\uFEFF') {\n continue\n }\n beginWhiteSpace(parser, c)\n continue\n\n case S.BEGIN_WHITESPACE:\n beginWhiteSpace(parser, c)\n continue\n\n case S.TEXT:\n if (parser.sawRoot && !parser.closedRoot) {\n var starti = i - 1\n while (c && c !== '<' && c !== '&') {\n c = charAt(chunk, i++)\n if (c && parser.trackPosition) {\n parser.position++\n if (c === '\\n') {\n parser.line++\n parser.column = 0\n } else {\n parser.column++\n }\n }\n }\n parser.textNode += chunk.substring(starti, i - 1)\n }\n if (c === '<' && !(parser.sawRoot && parser.closedRoot && !parser.strict)) {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else {\n if (!isWhitespace(c) && (!parser.sawRoot || parser.closedRoot)) {\n strictFail(parser, 'Text data outside of root node.')\n }\n if (c === '&') {\n parser.state = S.TEXT_ENTITY\n } else {\n parser.textNode += c\n }\n }\n continue\n\n case S.SCRIPT:\n // only non-strict\n if (c === '<') {\n parser.state = S.SCRIPT_ENDING\n } else {\n parser.script += c\n }\n continue\n\n case S.SCRIPT_ENDING:\n if (c === '/') {\n parser.state = S.CLOSE_TAG\n } else {\n parser.script += '<' + c\n parser.state = S.SCRIPT\n }\n continue\n\n case S.OPEN_WAKA:\n // either a /, ?, !, or text is coming next.\n if (c === '!') {\n parser.state = S.SGML_DECL\n parser.sgmlDecl = ''\n } else if (isWhitespace(c)) {\n // wait for it...\n } else if (isMatch(nameStart, c)) {\n parser.state = S.OPEN_TAG\n parser.tagName = c\n } else if (c === '/') {\n parser.state = S.CLOSE_TAG\n parser.tagName = ''\n } else if (c === '?') {\n parser.state = S.PROC_INST\n parser.procInstName = parser.procInstBody = ''\n } else {\n strictFail(parser, 'Unencoded <')\n // if there was some whitespace, then add that in.\n if (parser.startTagPosition + 1 < parser.position) {\n var pad = parser.position - parser.startTagPosition\n c = new Array(pad).join(' ') + c\n }\n parser.textNode += '<' + c\n parser.state = S.TEXT\n }\n continue\n\n case S.SGML_DECL:\n if (parser.sgmlDecl + c === '--') {\n parser.state = S.COMMENT\n parser.comment = ''\n parser.sgmlDecl = ''\n continue;\n }\n\n if (parser.doctype && parser.doctype !== true && parser.sgmlDecl) {\n parser.state = S.DOCTYPE_DTD\n parser.doctype += '<!' + parser.sgmlDecl + c\n parser.sgmlDecl = ''\n } else if ((parser.sgmlDecl + c).toUpperCase() === CDATA) {\n emitNode(parser, 'onopencdata')\n parser.state = S.CDATA\n parser.sgmlDecl = ''\n parser.cdata = ''\n } else if ((parser.sgmlDecl + c).toUpperCase() === DOCTYPE) {\n parser.state = S.DOCTYPE\n if (parser.doctype || parser.sawRoot) {\n strictFail(parser,\n 'Inappropriately located doctype declaration')\n }\n parser.doctype = ''\n parser.sgmlDecl = ''\n } else if (c === '>') {\n emitNode(parser, 'onsgmldeclaration', parser.sgmlDecl)\n parser.sgmlDecl = ''\n parser.state = S.TEXT\n } else if (isQuote(c)) {\n parser.state = S.SGML_DECL_QUOTED\n parser.sgmlDecl += c\n } else {\n parser.sgmlDecl += c\n }\n continue\n\n case S.SGML_DECL_QUOTED:\n if (c === parser.q) {\n parser.state = S.SGML_DECL\n parser.q = ''\n }\n parser.sgmlDecl += c\n continue\n\n case S.DOCTYPE:\n if (c === '>') {\n parser.state = S.TEXT\n emitNode(parser, 'ondoctype', parser.doctype)\n parser.doctype = true // just remember that we saw it.\n } else {\n parser.doctype += c\n if (c === '[') {\n parser.state = S.DOCTYPE_DTD\n } else if (isQuote(c)) {\n parser.state = S.DOCTYPE_QUOTED\n parser.q = c\n }\n }\n continue\n\n case S.DOCTYPE_QUOTED:\n parser.doctype += c\n if (c === parser.q) {\n parser.q = ''\n parser.state = S.DOCTYPE\n }\n continue\n\n case S.DOCTYPE_DTD:\n if (c === ']') {\n parser.doctype += c\n parser.state = S.DOCTYPE\n } else if (c === '<') {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else if (isQuote(c)) {\n parser.doctype += c\n parser.state = S.DOCTYPE_DTD_QUOTED\n parser.q = c\n } else {\n parser.doctype += c\n }\n continue\n\n case S.DOCTYPE_DTD_QUOTED:\n parser.doctype += c\n if (c === parser.q) {\n parser.state = S.DOCTYPE_DTD\n parser.q = ''\n }\n continue\n\n case S.COMMENT:\n if (c === '-') {\n parser.state = S.COMMENT_ENDING\n } else {\n parser.comment += c\n }\n continue\n\n case S.COMMENT_ENDING:\n if (c === '-') {\n parser.state = S.COMMENT_ENDED\n parser.comment = textopts(parser.opt, parser.comment)\n if (parser.comment) {\n emitNode(parser, 'oncomment', parser.comment)\n }\n parser.comment = ''\n } else {\n parser.comment += '-' + c\n parser.state = S.COMMENT\n }\n continue\n\n case S.COMMENT_ENDED:\n if (c !== '>') {\n strictFail(parser, 'Malformed comment')\n // allow <!-- blah -- bloo --> in non-strict mode,\n // which is a comment of \" blah -- bloo \"\n parser.comment += '--' + c\n parser.state = S.COMMENT\n } else if (parser.doctype && parser.doctype !== true) {\n parser.state = S.DOCTYPE_DTD\n } else {\n parser.state = S.TEXT\n }\n continue\n\n case S.CDATA:\n if (c === ']') {\n parser.state = S.CDATA_ENDING\n } else {\n parser.cdata += c\n }\n continue\n\n case S.CDATA_ENDING:\n if (c === ']') {\n parser.state = S.CDATA_ENDING_2\n } else {\n parser.cdata += ']' + c\n parser.state = S.CDATA\n }\n continue\n\n case S.CDATA_ENDING_2:\n if (c === '>') {\n if (parser.cdata) {\n emitNode(parser, 'oncdata', parser.cdata)\n }\n emitNode(parser, 'onclosecdata')\n parser.cdata = ''\n parser.state = S.TEXT\n } else if (c === ']') {\n parser.cdata += ']'\n } else {\n parser.cdata += ']]' + c\n parser.state = S.CDATA\n }\n continue\n\n case S.PROC_INST:\n if (c === '?') {\n parser.state = S.PROC_INST_ENDING\n } else if (isWhitespace(c)) {\n parser.state = S.PROC_INST_BODY\n } else {\n parser.procInstName += c\n }\n continue\n\n case S.PROC_INST_BODY:\n if (!parser.procInstBody && isWhitespace(c)) {\n continue\n } else if (c === '?') {\n parser.state = S.PROC_INST_ENDING\n } else {\n parser.procInstBody += c\n }\n continue\n\n case S.PROC_INST_ENDING:\n if (c === '>') {\n emitNode(parser, 'onprocessinginstruction', {\n name: parser.procInstName,\n body: parser.procInstBody\n })\n parser.procInstName = parser.procInstBody = ''\n parser.state = S.TEXT\n } else {\n parser.procInstBody += '?' + c\n parser.state = S.PROC_INST_BODY\n }\n continue\n\n case S.OPEN_TAG:\n if (isMatch(nameBody, c)) {\n parser.tagName += c\n } else {\n newTag(parser)\n if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, 'Invalid character in tag name')\n }\n parser.state = S.ATTRIB\n }\n }\n continue\n\n case S.OPEN_TAG_SLASH:\n if (c === '>') {\n openTag(parser, true)\n closeTag(parser)\n } else {\n strictFail(parser, 'Forward-slash in opening tag not followed by >')\n parser.state = S.ATTRIB\n }\n continue\n\n case S.ATTRIB:\n // haven't read the attribute name yet.\n if (isWhitespace(c)) {\n continue\n } else if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c\n parser.attribValue = ''\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_NAME:\n if (c === '=') {\n parser.state = S.ATTRIB_VALUE\n } else if (c === '>') {\n strictFail(parser, 'Attribute without value')\n parser.attribValue = parser.attribName\n attrib(parser)\n openTag(parser)\n } else if (isWhitespace(c)) {\n parser.state = S.ATTRIB_NAME_SAW_WHITE\n } else if (isMatch(nameBody, c)) {\n parser.attribName += c\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_NAME_SAW_WHITE:\n if (c === '=') {\n parser.state = S.ATTRIB_VALUE\n } else if (isWhitespace(c)) {\n continue\n } else {\n strictFail(parser, 'Attribute without value')\n parser.tag.attributes[parser.attribName] = ''\n parser.attribValue = ''\n emitNode(parser, 'onattribute', {\n name: parser.attribName,\n value: ''\n })\n parser.attribName = ''\n if (c === '>') {\n openTag(parser)\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n parser.state = S.ATTRIB\n }\n }\n continue\n\n case S.ATTRIB_VALUE:\n if (isWhitespace(c)) {\n continue\n } else if (isQuote(c)) {\n parser.q = c\n parser.state = S.ATTRIB_VALUE_QUOTED\n } else {\n if (!parser.opt.unquotedAttributeValues) {\n error(parser, 'Unquoted attribute value')\n }\n parser.state = S.ATTRIB_VALUE_UNQUOTED\n parser.attribValue = c\n }\n continue\n\n case S.ATTRIB_VALUE_QUOTED:\n if (c !== parser.q) {\n if (c === '&') {\n parser.state = S.ATTRIB_VALUE_ENTITY_Q\n } else {\n parser.attribValue += c\n }\n continue\n }\n attrib(parser)\n parser.q = ''\n parser.state = S.ATTRIB_VALUE_CLOSED\n continue\n\n case S.ATTRIB_VALUE_CLOSED:\n if (isWhitespace(c)) {\n parser.state = S.ATTRIB\n } else if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else if (isMatch(nameStart, c)) {\n strictFail(parser, 'No whitespace between attributes')\n parser.attribName = c\n parser.attribValue = ''\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_VALUE_UNQUOTED:\n if (!isAttribEnd(c)) {\n if (c === '&') {\n parser.state = S.ATTRIB_VALUE_ENTITY_U\n } else {\n parser.attribValue += c\n }\n continue\n }\n attrib(parser)\n if (c === '>') {\n openTag(parser)\n } else {\n parser.state = S.ATTRIB\n }\n continue\n\n case S.CLOSE_TAG:\n if (!parser.tagName) {\n if (isWhitespace(c)) {\n continue\n } else if (notMatch(nameStart, c)) {\n if (parser.script) {\n parser.script += '</' + c\n parser.state = S.SCRIPT\n } else {\n strictFail(parser, 'Invalid tagname in closing tag.')\n }\n } else {\n parser.tagName = c\n }\n } else if (c === '>') {\n closeTag(parser)\n } else if (isMatch(nameBody, c)) {\n parser.tagName += c\n } else if (parser.script) {\n parser.script += '</' + parser.tagName\n parser.tagName = ''\n parser.state = S.SCRIPT\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, 'Invalid tagname in closing tag')\n }\n parser.state = S.CLOSE_TAG_SAW_WHITE\n }\n continue\n\n case S.CLOSE_TAG_SAW_WHITE:\n if (isWhitespace(c)) {\n continue\n }\n if (c === '>') {\n closeTag(parser)\n } else {\n strictFail(parser, 'Invalid characters in closing tag')\n }\n continue\n\n case S.TEXT_ENTITY:\n case S.ATTRIB_VALUE_ENTITY_Q:\n case S.ATTRIB_VALUE_ENTITY_U:\n var returnState\n var buffer\n switch (parser.state) {\n case S.TEXT_ENTITY:\n returnState = S.TEXT\n buffer = 'textNode'\n break\n\n case S.ATTRIB_VALUE_ENTITY_Q:\n returnState = S.ATTRIB_VALUE_QUOTED\n buffer = 'attribValue'\n break\n\n case S.ATTRIB_VALUE_ENTITY_U:\n returnState = S.ATTRIB_VALUE_UNQUOTED\n buffer = 'attribValue'\n break\n }\n\n if (c === ';') {\n var parsedEntity = parseEntity(parser)\n if (parser.opt.unparsedEntities && !Object.values(sax.XML_ENTITIES).includes(parsedEntity)) {\n parser.entity = ''\n parser.state = returnState\n parser.write(parsedEntity)\n } else {\n parser[buffer] += parsedEntity\n parser.entity = ''\n parser.state = returnState\n }\n } else if (isMatch(parser.entity.length ? entityBody : entityStart, c)) {\n parser.entity += c\n } else {\n strictFail(parser, 'Invalid character in entity name')\n parser[buffer] += '&' + parser.entity + c\n parser.entity = ''\n parser.state = returnState\n }\n\n continue\n\n default: /* istanbul ignore next */ {\n throw new Error(parser, 'Unknown state: ' + parser.state)\n }\n }\n } // while\n\n if (parser.position >= parser.bufferCheckPosition) {\n checkBufferLength(parser)\n }\n return parser\n }\n\n /*! http://mths.be/fromcodepoint v0.1.0 by @mathias */\n /* istanbul ignore next */\n if (!String.fromCodePoint) {\n (function () {\n var stringFromCharCode = String.fromCharCode\n var floor = Math.floor\n var fromCodePoint = function () {\n var MAX_SIZE = 0x4000\n var codeUnits = []\n var highSurrogate\n var lowSurrogate\n var index = -1\n var length = arguments.length\n if (!length) {\n return ''\n }\n var result = ''\n while (++index < length) {\n var codePoint = Number(arguments[index])\n if (\n !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10FFFF || // not a valid Unicode code point\n floor(codePoint) !== codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint)\n }\n if (codePoint <= 0xFFFF) { // BMP code point\n codeUnits.push(codePoint)\n } else { // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000\n highSurrogate = (codePoint >> 10) + 0xD800\n lowSurrogate = (codePoint % 0x400) + 0xDC00\n codeUnits.push(highSurrogate, lowSurrogate)\n }\n if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n result += stringFromCharCode.apply(null, codeUnits)\n codeUnits.length = 0\n }\n }\n return result\n }\n /* istanbul ignore next */\n if (Object.defineProperty) {\n Object.defineProperty(String, 'fromCodePoint', {\n value: fromCodePoint,\n configurable: true,\n writable: true\n })\n } else {\n String.fromCodePoint = fromCodePoint\n }\n }())\n }\n})(typeof exports === 'undefined' ? this.sax = {} : exports)\n","// Generated by CoffeeScript 1.12.7\n(function() {\n \"use strict\";\n exports.stripBOM = function(str) {\n if (str[0] === '\\uFEFF') {\n return str.substring(1);\n } else {\n return str;\n }\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n \"use strict\";\n var prefixMatch;\n\n prefixMatch = new RegExp(/(?!xmlns)^.*:/);\n\n exports.normalize = function(str) {\n return str.toLowerCase();\n };\n\n exports.firstCharLowerCase = function(str) {\n return str.charAt(0).toLowerCase() + str.slice(1);\n };\n\n exports.stripPrefix = function(str) {\n return str.replace(prefixMatch, '');\n };\n\n exports.parseNumbers = function(str) {\n if (!isNaN(str)) {\n str = str % 1 === 0 ? parseInt(str, 10) : parseFloat(str);\n }\n return str;\n };\n\n exports.parseBooleans = function(str) {\n if (/^(?:true|false)$/i.test(str)) {\n str = str.toLowerCase() === 'true';\n }\n return str;\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n \"use strict\";\n var bom, defaults, defineProperty, events, isEmpty, processItem, processors, sax, setImmediate,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n sax = require('sax');\n\n events = require('events');\n\n bom = require('./bom');\n\n processors = require('./processors');\n\n setImmediate = require('timers').setImmediate;\n\n defaults = require('./defaults').defaults;\n\n isEmpty = function(thing) {\n return typeof thing === \"object\" && (thing != null) && Object.keys(thing).length === 0;\n };\n\n processItem = function(processors, item, key) {\n var i, len, process;\n for (i = 0, len = processors.length; i < len; i++) {\n process = processors[i];\n item = process(item, key);\n }\n return item;\n };\n\n defineProperty = function(obj, key, value) {\n var descriptor;\n descriptor = Object.create(null);\n descriptor.value = value;\n descriptor.writable = true;\n descriptor.enumerable = true;\n descriptor.configurable = true;\n return Object.defineProperty(obj, key, descriptor);\n };\n\n exports.Parser = (function(superClass) {\n extend(Parser, superClass);\n\n function Parser(opts) {\n this.parseStringPromise = bind(this.parseStringPromise, this);\n this.parseString = bind(this.parseString, this);\n this.reset = bind(this.reset, this);\n this.assignOrPush = bind(this.assignOrPush, this);\n this.processAsync = bind(this.processAsync, this);\n var key, ref, value;\n if (!(this instanceof exports.Parser)) {\n return new exports.Parser(opts);\n }\n this.options = {};\n ref = defaults[\"0.2\"];\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n value = ref[key];\n this.options[key] = value;\n }\n for (key in opts) {\n if (!hasProp.call(opts, key)) continue;\n value = opts[key];\n this.options[key] = value;\n }\n if (this.options.xmlns) {\n this.options.xmlnskey = this.options.attrkey + \"ns\";\n }\n if (this.options.normalizeTags) {\n if (!this.options.tagNameProcessors) {\n this.options.tagNameProcessors = [];\n }\n this.options.tagNameProcessors.unshift(processors.normalize);\n }\n this.reset();\n }\n\n Parser.prototype.processAsync = function() {\n var chunk, err;\n try {\n if (this.remaining.length <= this.options.chunkSize) {\n chunk = this.remaining;\n this.remaining = '';\n this.saxParser = this.saxParser.write(chunk);\n return this.saxParser.close();\n } else {\n chunk = this.remaining.substr(0, this.options.chunkSize);\n this.remaining = this.remaining.substr(this.options.chunkSize, this.remaining.length);\n this.saxParser = this.saxParser.write(chunk);\n return setImmediate(this.processAsync);\n }\n } catch (error1) {\n err = error1;\n if (!this.saxParser.errThrown) {\n this.saxParser.errThrown = true;\n return this.emit(err);\n }\n }\n };\n\n Parser.prototype.assignOrPush = function(obj, key, newValue) {\n if (!(key in obj)) {\n if (!this.options.explicitArray) {\n return defineProperty(obj, key, newValue);\n } else {\n return defineProperty(obj, key, [newValue]);\n }\n } else {\n if (!(obj[key] instanceof Array)) {\n defineProperty(obj, key, [obj[key]]);\n }\n return obj[key].push(newValue);\n }\n };\n\n Parser.prototype.reset = function() {\n var attrkey, charkey, ontext, stack;\n this.removeAllListeners();\n this.saxParser = sax.parser(this.options.strict, {\n trim: false,\n normalize: false,\n xmlns: this.options.xmlns\n });\n this.saxParser.errThrown = false;\n this.saxParser.onerror = (function(_this) {\n return function(error) {\n _this.saxParser.resume();\n if (!_this.saxParser.errThrown) {\n _this.saxParser.errThrown = true;\n return _this.emit(\"error\", error);\n }\n };\n })(this);\n this.saxParser.onend = (function(_this) {\n return function() {\n if (!_this.saxParser.ended) {\n _this.saxParser.ended = true;\n return _this.emit(\"end\", _this.resultObject);\n }\n };\n })(this);\n this.saxParser.ended = false;\n this.EXPLICIT_CHARKEY = this.options.explicitCharkey;\n this.resultObject = null;\n stack = [];\n attrkey = this.options.attrkey;\n charkey = this.options.charkey;\n this.saxParser.onopentag = (function(_this) {\n return function(node) {\n var key, newValue, obj, processedKey, ref;\n obj = {};\n obj[charkey] = \"\";\n if (!_this.options.ignoreAttrs) {\n ref = node.attributes;\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n if (!(attrkey in obj) && !_this.options.mergeAttrs) {\n obj[attrkey] = {};\n }\n newValue = _this.options.attrValueProcessors ? processItem(_this.options.attrValueProcessors, node.attributes[key], key) : node.attributes[key];\n processedKey = _this.options.attrNameProcessors ? processItem(_this.options.attrNameProcessors, key) : key;\n if (_this.options.mergeAttrs) {\n _this.assignOrPush(obj, processedKey, newValue);\n } else {\n defineProperty(obj[attrkey], processedKey, newValue);\n }\n }\n }\n obj[\"#name\"] = _this.options.tagNameProcessors ? processItem(_this.options.tagNameProcessors, node.name) : node.name;\n if (_this.options.xmlns) {\n obj[_this.options.xmlnskey] = {\n uri: node.uri,\n local: node.local\n };\n }\n return stack.push(obj);\n };\n })(this);\n this.saxParser.onclosetag = (function(_this) {\n return function() {\n var cdata, emptyStr, key, node, nodeName, obj, objClone, old, s, xpath;\n obj = stack.pop();\n nodeName = obj[\"#name\"];\n if (!_this.options.explicitChildren || !_this.options.preserveChildrenOrder) {\n delete obj[\"#name\"];\n }\n if (obj.cdata === true) {\n cdata = obj.cdata;\n delete obj.cdata;\n }\n s = stack[stack.length - 1];\n if (obj[charkey].match(/^\\s*$/) && !cdata) {\n emptyStr = obj[charkey];\n delete obj[charkey];\n } else {\n if (_this.options.trim) {\n obj[charkey] = obj[charkey].trim();\n }\n if (_this.options.normalize) {\n obj[charkey] = obj[charkey].replace(/\\s{2,}/g, \" \").trim();\n }\n obj[charkey] = _this.options.valueProcessors ? processItem(_this.options.valueProcessors, obj[charkey], nodeName) : obj[charkey];\n if (Object.keys(obj).length === 1 && charkey in obj && !_this.EXPLICIT_CHARKEY) {\n obj = obj[charkey];\n }\n }\n if (isEmpty(obj)) {\n if (typeof _this.options.emptyTag === 'function') {\n obj = _this.options.emptyTag();\n } else {\n obj = _this.options.emptyTag !== '' ? _this.options.emptyTag : emptyStr;\n }\n }\n if (_this.options.validator != null) {\n xpath = \"/\" + ((function() {\n var i, len, results;\n results = [];\n for (i = 0, len = stack.length; i < len; i++) {\n node = stack[i];\n results.push(node[\"#name\"]);\n }\n return results;\n })()).concat(nodeName).join(\"/\");\n (function() {\n var err;\n try {\n return obj = _this.options.validator(xpath, s && s[nodeName], obj);\n } catch (error1) {\n err = error1;\n return _this.emit(\"error\", err);\n }\n })();\n }\n if (_this.options.explicitChildren && !_this.options.mergeAttrs && typeof obj === 'object') {\n if (!_this.options.preserveChildrenOrder) {\n node = {};\n if (_this.options.attrkey in obj) {\n node[_this.options.attrkey] = obj[_this.options.attrkey];\n delete obj[_this.options.attrkey];\n }\n if (!_this.options.charsAsChildren && _this.options.charkey in obj) {\n node[_this.options.charkey] = obj[_this.options.charkey];\n delete obj[_this.options.charkey];\n }\n if (Object.getOwnPropertyNames(obj).length > 0) {\n node[_this.options.childkey] = obj;\n }\n obj = node;\n } else if (s) {\n s[_this.options.childkey] = s[_this.options.childkey] || [];\n objClone = {};\n for (key in obj) {\n if (!hasProp.call(obj, key)) continue;\n defineProperty(objClone, key, obj[key]);\n }\n s[_this.options.childkey].push(objClone);\n delete obj[\"#name\"];\n if (Object.keys(obj).length === 1 && charkey in obj && !_this.EXPLICIT_CHARKEY) {\n obj = obj[charkey];\n }\n }\n }\n if (stack.length > 0) {\n return _this.assignOrPush(s, nodeName, obj);\n } else {\n if (_this.options.explicitRoot) {\n old = obj;\n obj = {};\n defineProperty(obj, nodeName, old);\n }\n _this.resultObject = obj;\n _this.saxParser.ended = true;\n return _this.emit(\"end\", _this.resultObject);\n }\n };\n })(this);\n ontext = (function(_this) {\n return function(text) {\n var charChild, s;\n s = stack[stack.length - 1];\n if (s) {\n s[charkey] += text;\n if (_this.options.explicitChildren && _this.options.preserveChildrenOrder && _this.options.charsAsChildren && (_this.options.includeWhiteChars || text.replace(/\\\\n/g, '').trim() !== '')) {\n s[_this.options.childkey] = s[_this.options.childkey] || [];\n charChild = {\n '#name': '__text__'\n };\n charChild[charkey] = text;\n if (_this.options.normalize) {\n charChild[charkey] = charChild[charkey].replace(/\\s{2,}/g, \" \").trim();\n }\n s[_this.options.childkey].push(charChild);\n }\n return s;\n }\n };\n })(this);\n this.saxParser.ontext = ontext;\n return this.saxParser.oncdata = (function(_this) {\n return function(text) {\n var s;\n s = ontext(text);\n if (s) {\n return s.cdata = true;\n }\n };\n })(this);\n };\n\n Parser.prototype.parseString = function(str, cb) {\n var err;\n if ((cb != null) && typeof cb === \"function\") {\n this.on(\"end\", function(result) {\n this.reset();\n return cb(null, result);\n });\n this.on(\"error\", function(err) {\n this.reset();\n return cb(err);\n });\n }\n try {\n str = str.toString();\n if (str.trim() === '') {\n this.emit(\"end\", null);\n return true;\n }\n str = bom.stripBOM(str);\n if (this.options.async) {\n this.remaining = str;\n setImmediate(this.processAsync);\n return this.saxParser;\n }\n return this.saxParser.write(str).close();\n } catch (error1) {\n err = error1;\n if (!(this.saxParser.errThrown || this.saxParser.ended)) {\n this.emit('error', err);\n return this.saxParser.errThrown = true;\n } else if (this.saxParser.ended) {\n throw err;\n }\n }\n };\n\n Parser.prototype.parseStringPromise = function(str) {\n return new Promise((function(_this) {\n return function(resolve, reject) {\n return _this.parseString(str, function(err, value) {\n if (err) {\n return reject(err);\n } else {\n return resolve(value);\n }\n });\n };\n })(this));\n };\n\n return Parser;\n\n })(events);\n\n exports.parseString = function(str, a, b) {\n var cb, options, parser;\n if (b != null) {\n if (typeof b === 'function') {\n cb = b;\n }\n if (typeof a === 'object') {\n options = a;\n }\n } else {\n if (typeof a === 'function') {\n cb = a;\n }\n options = {};\n }\n parser = new exports.Parser(options);\n return parser.parseString(str, cb);\n };\n\n exports.parseStringPromise = function(str, a) {\n var options, parser;\n if (typeof a === 'object') {\n options = a;\n }\n parser = new exports.Parser(options);\n return parser.parseStringPromise(str);\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n \"use strict\";\n var builder, defaults, parser, processors,\n extend = function(child, parent) { for (var key in parent) { if (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; return child; },\n hasProp = {}.hasOwnProperty;\n\n defaults = require('./defaults');\n\n builder = require('./builder');\n\n parser = require('./parser');\n\n processors = require('./processors');\n\n exports.defaults = defaults.defaults;\n\n exports.processors = processors;\n\n exports.ValidationError = (function(superClass) {\n extend(ValidationError, superClass);\n\n function ValidationError(message) {\n this.message = message;\n }\n\n return ValidationError;\n\n })(Error);\n\n exports.Builder = builder.Builder;\n\n exports.Parser = parser.Parser;\n\n exports.parseString = parser.parseString;\n\n exports.parseStringPromise = parser.parseStringPromise;\n\n}).call(this);\n","import React from 'react';\nimport type { FC } from 'react';\nimport { DevCommandScreen } from './DevCommandScreen.js';\nimport { DevEnvironmentProvider } from './DevEnvironment.js';\n\nexport const DevCommand: FC<{ useTunnel: boolean }> = ({ useTunnel }) => {\n return (\n <DevEnvironmentProvider useTunnel={useTunnel}>\n <DevCommandScreen />\n </DevEnvironmentProvider>\n );\n};\n","import React from 'react';\nimport type { FC } from 'react';\nimport { Trans } from '@wix/cli-i18n';\nimport {\n Box,\n Key,\n Alert,\n Badge,\n Spinner,\n useInput,\n useAsyncCallback,\n} from '@wix/cli-ui-kit';\nimport { openBrowser } from '@wix/user-browser';\nimport { useDevEnvironment } from './DevEnvironment.js';\n\nexport const DevCommandScreen: FC = () => {\n const { devEditorUrl, isDevEditorConnected, isSyncingChanges } =\n useDevEnvironment();\n const { execute: openDevEditor } = useAsyncCallback(() =>\n openBrowser(devEditorUrl)\n );\n\n useInput((input) => {\n if (input === 'e' && !isDevEditorConnected) {\n void openDevEditor();\n }\n });\n\n return (\n <>\n <Alert type=\"success\">\n <Badge skin=\"success\">\n <Trans i18nKey=\"general.success\" />\n </Badge>{' '}\n <Trans i18nKey=\"dev_command.dev_environment.success\" />\n </Alert>\n <Box marginTop={1} marginLeft={1}>\n {!isDevEditorConnected && (\n <Alert type=\"warning\">\n <Trans\n i18nKey=\"dev_command.no_open_editor\"\n components={[<Key value=\"E\" />]}\n />\n </Alert>\n )}\n {isDevEditorConnected && (\n <>\n {isSyncingChanges ? (\n <Spinner\n text={<Trans i18nKey=\"dev_command.sync_changes.loading\" />}\n />\n ) : (\n <Alert type=\"success\">\n <Trans i18nKey=\"dev_command.sync_changes.success\" />\n </Alert>\n )}\n </>\n )}\n </Box>\n </>\n );\n};\n","import React, { createContext, useContext, useState } from 'react';\nimport type { FC, ReactNode } from 'react';\nimport pLimit from 'p-limit';\nimport { match } from 'variant';\nimport { Trans } from '@wix/cli-i18n';\nimport { openBrowser } from '@wix/user-browser';\nimport { Spinner, useAsync, useExit } from '@wix/cli-ui-kit';\nimport { useProjectModel } from '../../model.js';\nimport { createSiteFsManager } from '../../site-fs-manager.js';\nimport { createIntellisenseAdapter } from '../../intellisense-adapter.js';\nimport { useVelo } from './useVelo.js';\nimport { useFsWatcher } from './useFsWatcher.js';\nimport { useDevEditorUrl } from './useDevEditorUrl.js';\nimport { useWebSocketServer } from './useWebSocketServer.js';\n\ninterface DevEnvironment {\n devEditorUrl: string;\n isSyncingChanges: boolean;\n isDevEditorConnected: boolean;\n}\n\nconst DevEnvironmentContext = createContext<DevEnvironment | null>(null);\n\nexport const DevEnvironmentProvider: FC<{\n children: ReactNode;\n useTunnel: boolean;\n}> = ({ children, useTunnel: shouldUseTunnel }) => {\n const exit = useExit();\n const { model } = useProjectModel();\n const { createMutableApp, updateAppFiles } = useVelo();\n const getDevEditorUrl = useDevEditorUrl();\n const wsServer = useWebSocketServer();\n const fsWatcher = useFsWatcher(model.projectFolder);\n\n const [isSyncing, setIsSyncing] = useState(false);\n const [isDevEditorConnected, setIsDevEditorConnected] = useState(false);\n\n const { status } = useAsync(async () => {\n const limiter = pLimit(1);\n const siteFsManager = await createSiteFsManager(model.projectFolder);\n const intellisenseAdapter = await createIntellisenseAdapter(\n model.projectFolder,\n siteFsManager.convertToOnlineLayout\n );\n\n const [code, document] = await Promise.all([\n siteFsManager.getCode(),\n siteFsManager.getDocument(),\n ]);\n\n const [{ id: appId }] = await Promise.all([\n createMutableApp(code),\n intellisenseAdapter.initTypes(document),\n ]);\n\n wsServer.on('connected', () => {\n setIsDevEditorConnected(true);\n });\n wsServer.on('disconnected', () => {\n setIsDevEditorConnected(false);\n });\n wsServer.on('documentUpdate', async (document) => {\n try {\n await limiter(async () => {\n setIsSyncing(true);\n await siteFsManager.applyExternalUpdates({ document });\n await intellisenseAdapter.updateTypes(document);\n });\n } catch (error) {\n exit(error);\n } finally {\n setIsSyncing(false);\n }\n });\n\n const { port, wsUrl } = await wsServer.serve(appId, {\n getDocument: siteFsManager.getDocument,\n onConnectionError: exit,\n });\n\n fsWatcher.onBatchChange(async (update) => {\n try {\n await limiter(async () => {\n setIsSyncing(true);\n\n const { document, code } = await siteFsManager.applyFsUpdates(update);\n\n await Promise.all([\n code && updateAppFiles(appId, code),\n document && wsServer.syncDocumentUpdate(document),\n document && intellisenseAdapter.updateTypes(document),\n ]);\n });\n } catch (error) {\n exit(error);\n } finally {\n setIsSyncing(false);\n }\n });\n\n const devEditorUrl = await getDevEditorUrl({\n serverWsUrl: wsUrl,\n serverPort: port,\n shouldUseTunnel,\n });\n\n await openBrowser(devEditorUrl);\n\n return { devEditorUrl };\n }, []);\n\n return match(status, {\n Error: () => null,\n Loading: () => (\n <Spinner text={<Trans i18nKey=\"dev_command.dev_environment.loading\" />} />\n ),\n Success: ({ result: { devEditorUrl } }) => (\n <DevEnvironmentContext.Provider\n value={{\n devEditorUrl,\n isDevEditorConnected,\n isSyncingChanges: isSyncing,\n }}\n >\n {children}\n </DevEnvironmentContext.Provider>\n ),\n });\n};\n\nexport function useDevEnvironment(): DevEnvironment {\n const context = useContext(DevEnvironmentContext);\n if (context == null) {\n throw new Error(\n 'useDevEnvironment() cannot be used without an <DevEnvironmentProvider>'\n );\n }\n return context;\n}\n","import { CliError, CliErrorCode } from '@wix/cli-error';\nimport type {\n FullDocument,\n DocumentUpdate,\n ConvertToOnlineLayoutCB,\n} from '@wix/anyide-intellisense-adapter';\nimport { createIntellisenseAdapter as createIntellisenseAdapterOriginal } from '@wix/anyide-intellisense-adapter';\n\nexport async function createIntellisenseAdapter(\n projectFolder: string,\n convertToOnlineLayout: ConvertToOnlineLayoutCB\n) {\n const adapter = await createIntellisenseAdapterOriginal(\n convertToOnlineLayout,\n projectFolder\n ).catch((error: unknown) => {\n throw new CliError({\n code: CliErrorCode.FailedToCreateIntellisenseAdapter(),\n cause: error,\n });\n });\n\n return {\n initTypes: async (document: FullDocument) => {\n try {\n await adapter.initTypes(document);\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToInitIntellisenseAdapterTypes(),\n cause: error,\n });\n }\n },\n updateTypes: async (document: DocumentUpdate) => {\n try {\n await adapter.updateTypes(document);\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToUpdateIntellisenseAdapterTypes(),\n cause: error,\n });\n }\n },\n };\n}\n","export * from './intellisenseAdapter.js';\nexport * from './types.js';\n","import { createAgnosticTypeSyncer } from '@wix/velo-site-types-syncer';\nimport { getNicknamesToComponentTypesMap } from '@wix/anyide-document-utils';\nexport const createIntellisenseAdapter = async (convertToOnlineLayoutCB, projectRootFolder) => {\n const agnosticTypesSyncer = await createAgnosticTypeSyncer(projectRootFolder, convertToOnlineLayoutCB);\n const processDocumentPages = async ({ pages }) => {\n const updatedPagesList = [];\n const deletedPagesList = [];\n for (const [pageId, pageData] of Object.entries(pages)) {\n if (pageData) {\n updatedPagesList.push({\n id: pageId,\n elements: await getNicknamesToComponentTypesMap(pageData.data)\n });\n }\n else {\n deletedPagesList.push({ id: pageId });\n }\n }\n return {\n updatedPagesList,\n deletedPagesList\n };\n };\n return {\n initTypes: async (document) => {\n const { updatedPagesList } = await processDocumentPages(document);\n await agnosticTypesSyncer.syncSite({ offlinePages: updatedPagesList });\n },\n updateTypes: async (document) => {\n const { updatedPagesList, deletedPagesList } = await processDocumentPages(document);\n if (updatedPagesList.length > 0) {\n await agnosticTypesSyncer.syncPages(updatedPagesList);\n }\n if (deletedPagesList.length > 0) {\n await agnosticTypesSyncer.deletePages(deletedPagesList);\n }\n }\n };\n};\n","export * from './getNicknamesToComponentTypesMap.js';\n","import { parseStringPromise } from 'xml2js';\nimport { PAGE_TYPES, TYPE_TO_COMP_TYPE } from './constants.js';\nconst parsePageStructure = async (pageStructure) => {\n const parsedXml = await parseStringPromise(pageStructure);\n const elementTypes = Object.keys(parsedXml);\n if (elementTypes.length !== 1 || !PAGE_TYPES.has(elementTypes[0])) {\n throw new Error('Invalid page data');\n }\n return parsedXml;\n};\nconst isKnownComponentType = (type) => type in TYPE_TO_COMP_TYPE;\nconst appendNodeToMap = (nicknamesToComponentTypesMap, node, nodeType) => {\n const { $, _, ...childrenGroups } = node;\n if ($.codeName) {\n nicknamesToComponentTypesMap[$.codeName] = isKnownComponentType(nodeType) ? TYPE_TO_COMP_TYPE[nodeType] : null;\n }\n for (const [type, children] of Object.entries(childrenGroups)) {\n for (const child of children) {\n appendNodeToMap(nicknamesToComponentTypesMap, child, type);\n }\n }\n};\nexport const getNicknamesToComponentTypesMap = async (pageData) => {\n const nicknamesToComponentTypesMap = {};\n const parsedXml = await parsePageStructure(pageData.structure.content);\n const pageKey = Object.keys(parsedXml)[0];\n appendNodeToMap(nicknamesToComponentTypesMap, parsedXml[pageKey], pageKey);\n return nicknamesToComponentTypesMap;\n};\n","export const PAGE_TYPES = new Set(['Page', 'MasterPage']);\nexport const TYPE_TO_COMP_TYPE = {\n Image: 'core.components.Image',\n MenuButton: 'core.components.MenuButton',\n Page: 'mobile.core.components.Page',\n MasterPage: 'mobile.core.components.MasterPage',\n AppPage: 'wixapps.integration.components.AppPage',\n AppPart: 'wixapps.integration.components.AppPart',\n AppPart2: 'wixapps.integration.components.AppPart2',\n TextInput: 'wysiwyg.viewer.components.inputs.TextInput',\n DropDownMenu: 'wysiwyg.viewer.components.menus.DropDownMenu',\n Icon: 'wixapps.integration.components.Icon',\n 'wixapps.integration.components.ImageButton': 'wixapps.integration.components.ImageButton',\n RSSButton: 'wysiwyg.common.components.rssbutton.viewer.RSSButton',\n Anchor: 'wysiwyg.common.components.anchor.viewer.Anchor',\n VerticalAnchorsMenu: 'wysiwyg.common.components.verticalanchorsmenu.viewer.VerticalAnchorsMenu',\n FacebookLikeBox: 'wysiwyg.common.components.facebooklikebox.viewer.FacebookLikeBox',\n 'wysiwyg.common.components.imagebutton.viewer.ImageButton': 'wysiwyg.common.components.imagebutton.viewer.ImageButton',\n OptionsListInput: 'wysiwyg.common.components.inputs.OptionsListInput',\n SelectOptionsList: 'wysiwyg.common.components.inputs.SelectOptionsList',\n PinItPinWidget: 'wysiwyg.common.components.pinitpinwidget.viewer.PinItPinWidget',\n PinterestPinIt: 'wysiwyg.common.components.pinterestpinit.viewer.PinterestPinIt',\n SingleAudioPlayer: 'wysiwyg.common.components.singleaudioplayer.viewer.SingleAudioPlayer',\n SkypeCallButton: 'wysiwyg.common.components.skypecallbutton.viewer.SkypeCallButton',\n SpotifyFollow: 'wysiwyg.common.components.spotifyfollow.viewer.SpotifyFollow',\n SpotifyPlayer: 'wysiwyg.common.components.spotifyplayer.viewer.SpotifyPlayer',\n SubscribeForm: 'wysiwyg.common.components.subscribeform.viewer.SubscribeForm',\n VerticalMenu: 'wysiwyg.common.components.verticalmenu.viewer.VerticalMenu',\n YouTubeSubscribeButton: 'wysiwyg.common.components.youtubesubscribebutton.viewer.YouTubeSubscribeButton',\n AdminLoginButton: 'wysiwyg.viewer.components.AdminLoginButton',\n AudioPlayer: 'wysiwyg.viewer.components.AudioPlayer',\n BgImageStrip: 'wysiwyg.viewer.components.BgImageStrip',\n ClipArt: 'wysiwyg.viewer.components.ClipArt',\n ContactForm: 'wysiwyg.viewer.components.ContactForm',\n DynamicContactForm: 'wysiwyg.viewer.components.DynamicContactForm',\n Displayer: 'wysiwyg.viewer.components.Displayer',\n DocumentMedia: 'wysiwyg.viewer.components.documentmedia.DocumentMedia',\n EbayItemsBySeller: 'wysiwyg.viewer.components.EbayItemsBySeller',\n FacebookShare: 'wysiwyg.viewer.components.FacebookShare',\n FlashComponent: 'wysiwyg.viewer.components.FlashComponent',\n FlickrBadgeWidget: 'wysiwyg.viewer.components.FlickrBadgeWidget',\n GoogleMap: 'wysiwyg.viewer.components.GoogleMap',\n HtmlComponent: 'wysiwyg.viewer.components.HtmlComponent',\n ItunesButton: 'wysiwyg.viewer.components.ItunesButton',\n LinkBar: 'wysiwyg.viewer.components.LinkBar',\n LinkBarItem: 'wysiwyg.viewer.components.LinkBarItem',\n LoginButton: 'wysiwyg.viewer.components.LoginButton',\n LoginSocialBar: 'wysiwyg.viewer.components.LoginSocialBar',\n MatrixGallery: 'wysiwyg.viewer.components.MatrixGallery',\n MediaRichText: 'wysiwyg.viewer.components.MediaRichText',\n PayPalButton: 'wysiwyg.viewer.components.PayPalButton',\n PinterestFollow: 'wysiwyg.viewer.components.PinterestFollow',\n SiteButton: 'wysiwyg.viewer.components.SiteButton',\n SliderGallery: 'wysiwyg.viewer.components.SliderGallery',\n SlideShowGallery: 'wysiwyg.viewer.components.SlideShowGallery',\n SoundCloudWidget: 'wysiwyg.viewer.components.SoundCloudWidget',\n TwitterFeed: 'wysiwyg.viewer.components.TwitterFeed',\n VerticalRepeater: 'wysiwyg.viewer.components.VerticalRepeater',\n Video: 'wysiwyg.viewer.components.Video',\n VKShareButton: 'wysiwyg.viewer.components.VKShareButton',\n WPhoto: 'wysiwyg.viewer.components.WPhoto',\n WRichText: 'wysiwyg.viewer.components.WRichText',\n WTwitterFollow: 'wysiwyg.viewer.components.WTwitterFollow',\n WTwitterTweet: 'wysiwyg.viewer.components.WTwitterTweet',\n ComboBoxInput: 'wysiwyg.viewer.components.inputs.ComboBoxInput',\n TextOption: 'wysiwyg.viewer.components.inputs.TextOption',\n MobileTextOption: 'ecommerce.integration.components.MobileTextOption',\n ColorOption: 'wysiwyg.viewer.components.inputs.ColorOption',\n MobileColorOption: 'ecommerce.integration.components.MobileColorOption',\n TinyMenu: 'wysiwyg.viewer.components.mobile.TinyMenu',\n ExpandableMenu: 'wysiwyg.viewer.components.ExpandableMenu',\n QuickActionBar: 'wysiwyg.viewer.components.QuickActionBar',\n QuickActionBarItem: 'wysiwyg.viewer.components.QuickActionBarItem',\n Collage: 'tpa.viewer.components.Collage',\n Freestyle: 'tpa.viewer.components.Freestyle',\n TouchMediaZoom: 'wysiwyg.viewer.components.TouchMediaZoom',\n TouchMediaZoomItem: 'wysiwyg.viewer.components.TouchMediaZoomItem',\n Honeycomb: 'tpa.viewer.components.Honeycomb',\n Masonry: 'tpa.viewer.components.Masonry',\n TPA3DCarousel: 'wysiwyg.viewer.components.tpapps.TPA3DCarousel',\n TPA3DGallery: 'wysiwyg.viewer.components.tpapps.TPA3DGallery',\n StripShowcase: 'tpa.viewer.components.StripShowcase',\n StripSlideshow: 'tpa.viewer.components.StripSlideshow',\n Thumbnails: 'tpa.viewer.components.Thumbnails',\n Accordion: 'tpa.viewer.components.Accordion',\n Impress: 'tpa.viewer.components.Impress',\n ExitMobileMode: 'wysiwyg.common.components.exitmobilemode.viewer.ExitMobileMode',\n NumericStepper: 'wysiwyg.common.components.NumericStepper',\n FiveGridLine: 'wysiwyg.viewer.components.FiveGridLine',\n PageGroup: 'wysiwyg.viewer.components.PageGroup',\n PaginatedGridGallery: 'wysiwyg.viewer.components.PaginatedGridGallery',\n WFacebookComment: 'wysiwyg.viewer.components.WFacebookComment',\n DisqusComments: 'wysiwyg.common.components.disquscomments.viewer.DisqusComments',\n WFacebookLike: 'wysiwyg.viewer.components.WFacebookLike',\n WGooglePlusOne: 'wysiwyg.viewer.components.WGooglePlusOne',\n SvgShape: 'wysiwyg.viewer.components.svgshape.SvgShape',\n VectorImage: 'wysiwyg.viewer.components.VectorImage',\n SvgPrimitive: 'wysiwyg.viewer.components.svgPrimitive.SvgPrimitive',\n SiteRegionContainer: 'wysiwyg.viewer.components.SiteRegionContainer',\n Container: 'mobile.core.components.Container',\n SlotsPlaceholder: 'wixui.SlotsPlaceholder',\n MediaBox: 'wysiwyg.viewer.components.MediaBox',\n HoverBox: 'wysiwyg.viewer.components.HoverBox',\n PopupContainer: 'wysiwyg.viewer.components.PopupContainer',\n PopupCloseTextButton: 'wysiwyg.viewer.components.PopupCloseTextButton',\n PopupCloseIconButton: 'wysiwyg.viewer.components.PopupCloseIconButton',\n Group: 'wysiwyg.viewer.components.Group',\n FormContainer: 'wysiwyg.viewer.components.FormContainer',\n WSiteStructure: 'wysiwyg.viewer.components.WSiteStructure',\n HeaderContainer: 'wysiwyg.viewer.components.HeaderContainer',\n FooterContainer: 'wysiwyg.viewer.components.FooterContainer',\n PagesContainer: 'wysiwyg.viewer.components.PagesContainer',\n StripContainer: 'wysiwyg.viewer.components.StripContainer',\n StripColumnsContainer: 'wysiwyg.viewer.components.StripColumnsContainer',\n ClassicSection: 'wysiwyg.viewer.components.ClassicSection',\n Column: 'wysiwyg.viewer.components.Column',\n MediaPlayer: 'wysiwyg.viewer.components.MediaPlayer',\n MediaOverlayControls: 'wysiwyg.viewer.components.MediaOverlayControls',\n MediaControls: 'wysiwyg.viewer.components.MediaControls',\n MediaControlPlay: 'wysiwyg.viewer.components.MediaControlPlay',\n MediaControlVolume: 'wysiwyg.viewer.components.MediaControlVolume',\n MediaControlFullscreen: 'wysiwyg.viewer.components.MediaControlFullscreen',\n MediaControlProgress: 'wysiwyg.viewer.components.MediaControlProgress',\n MediaControlTime: 'wysiwyg.viewer.components.MediaControlTime',\n MediaControlStoryboard: 'wysiwyg.viewer.components.MediaControlStoryboard',\n ScreenWidthContainer: 'wysiwyg.viewer.components.ScreenWidthContainer',\n VerticalLine: 'wysiwyg.viewer.components.VerticalLine',\n TPAGluedWidget: 'wysiwyg.viewer.components.tpapps.TPAGluedWidget',\n TPAWidget: 'wysiwyg.viewer.components.tpapps.TPAWidget',\n TPASection: 'wysiwyg.viewer.components.tpapps.TPASection',\n TPAMultiSection: 'wysiwyg.viewer.components.tpapps.TPAMultiSection',\n 'wysiwyg.common.components.backtotopbutton.viewer.BackToTopButton': 'wysiwyg.common.components.backtotopbutton.viewer.BackToTopButton',\n 'wysiwyg.viewer.components.BackToTopButton': 'wysiwyg.viewer.components.BackToTopButton',\n SiteBackground: 'wysiwyg.viewer.components.SiteBackground',\n EnterPasswordDialog: 'wysiwyg.viewer.components.dialogs.EnterPasswordDialog',\n NotificationDialog: 'wysiwyg.viewer.components.dialogs.NotificationDialog',\n SignUpDialog: 'wysiwyg.viewer.components.dialogs.siteMemberDialogs.SignUpDialog',\n MemberLoginDialog: 'wysiwyg.viewer.components.dialogs.siteMemberDialogs.MemberLoginDialog',\n RequestPasswordResetDialog: 'wysiwyg.viewer.components.dialogs.siteMemberDialogs.RequestPasswordResetDialog',\n ResetPasswordDialog: 'wysiwyg.viewer.components.dialogs.siteMemberDialogs.ResetPasswordDialog',\n EcomCheckoutMessageDialog: 'ecommerce.viewer.dialogs.EcomCheckoutMessageDialog',\n ZoomedImage: 'core.components.ZoomedImage',\n imageZoom: 'wysiwyg.components.imageZoom',\n ImageZoomDisplayer: 'wysiwyg.components.ImageZoomDisplayer',\n AppPartZoom: 'wixapps.integration.components.AppPartZoom',\n MediaZoom: 'wysiwyg.viewer.components.MediaZoom',\n MobileMediaZoom: 'wysiwyg.viewer.components.MobileMediaZoom',\n ErasableTextInput: 'wysiwyg.viewer.components.inputs.ErasableTextInput',\n InfoTip: 'wysiwyg.common.components.InfoTip',\n InputWithValidation: 'wysiwyg.components.viewer.inputs.InputWithValidation',\n MessageView: 'wysiwyg.viewer.components.MessageView',\n Area: 'wixapps.integration.components.Area',\n TextAreaInput: 'wysiwyg.viewer.components.inputs.TextAreaInput',\n TextArea: 'wixapps.integration.components.inputs.TextArea',\n Toggle: 'wixapps.integration.components.Toggle',\n MobileActionsMenu: 'wysiwyg.viewer.components.MobileActionsMenu',\n Table: 'wysiwyg.viewer.components.Table',\n TPAModal: 'wysiwyg.viewer.components.tpapps.TPAModal',\n TPAPopup: 'wysiwyg.viewer.components.tpapps.TPAPopup',\n TPAPreloaderOverlay: 'wysiwyg.viewer.components.tpapps.TPAPreloaderOverlay',\n TPAUnavailableMessageOverlay: 'wysiwyg.viewer.components.tpapps.TPAUnavailableMessageOverlay',\n TPAWorker: 'tpa.viewer.classes.TPAWorker',\n TPAPlaceholder: 'wysiwyg.viewer.components.tpapps.TPAPlaceholder',\n CloudGluedWidget: 'wysiwyg.viewer.components.cloud.CloudGluedWidget',\n CloudWidget: 'wysiwyg.viewer.components.cloud.CloudWidget',\n bgMedia: 'wysiwyg.viewer.components.background.bgMedia',\n bgImage: 'wysiwyg.viewer.components.background.bgImage',\n html5Video: 'wysiwyg.viewer.components.background.html5Video',\n webglMedia: 'wysiwyg.viewer.components.background.webglMedia',\n iframeVideo: 'wysiwyg.viewer.components.background.iframeVideo',\n bgOverlay: 'wysiwyg.viewer.components.background.bgOverlay',\n BoxSlideShow: 'wysiwyg.viewer.components.BoxSlideShow',\n StateBox: 'wysiwyg.viewer.components.StateBox',\n StateStrip: 'wysiwyg.viewer.components.StateStrip',\n StateBoxState: 'wysiwyg.viewer.components.StateBoxState',\n StateBoxFormState: 'wysiwyg.viewer.components.StateBoxFormState',\n StateStripState: 'wysiwyg.viewer.components.StateStripState',\n StripContainerSlideShow: 'wysiwyg.viewer.components.StripContainerSlideShow',\n BoxSlideShowSlide: 'wysiwyg.viewer.components.BoxSlideShowSlide',\n StripContainerSlideShowSlide: 'wysiwyg.viewer.components.StripContainerSlideShowSlide',\n Checkbox: 'wysiwyg.viewer.components.inputs.Checkbox',\n RadioButton: 'wysiwyg.viewer.components.inputs.RadioButton',\n RadioGroup: 'wysiwyg.viewer.components.inputs.RadioGroup',\n CheckboxGroup: 'wysiwyg.viewer.components.inputs.CheckboxGroup',\n FileUploader: 'wysiwyg.viewer.components.inputs.FileUploader',\n uploadName: 'wysiwyg.viewer.components.inputs.uploadName',\n DatePicker: 'wysiwyg.viewer.components.inputs.DatePicker',\n ImageButtonWithText: 'wysiwyg.viewer.components.ImageButtonWithText',\n Grid: 'wysiwyg.viewer.components.Grid',\n Repeater: 'wysiwyg.viewer.components.Repeater',\n MediaContainer: 'wysiwyg.viewer.components.MediaContainer',\n InlinePopup: 'wysiwyg.viewer.components.InlinePopup',\n MenuContainer: 'wysiwyg.viewer.components.MenuContainer',\n InlinePopupToggle: 'wysiwyg.viewer.components.InlinePopupToggle',\n MenuToggle: 'wysiwyg.viewer.components.MenuToggle',\n AppController: 'platform.components.AppController',\n AppWidget: 'platform.components.AppWidget',\n LanguageSelector: 'wysiwyg.viewer.components.LanguageSelector',\n Popover: 'wysiwyg.viewer.components.Popover',\n RefComponent: 'wysiwyg.viewer.components.RefComponent',\n Section: 'responsive.components.Section',\n HeaderSection: 'responsive.components.HeaderSection',\n FooterSection: 'responsive.components.FooterSection',\n MembersAreaSection: 'responsive.components.MembersAreaSection',\n MultiStateBox: 'wixui.MultiStateBox',\n MobuiButton: 'mobui.MobuiButton',\n MobuiImage: 'mobui.MobuiImage',\n MobuiPicker: 'mobui.MobuiPicker',\n MobuiSwitch: 'mobui.MobuiSwitch',\n MobuiText: 'mobui.MobuiText',\n MobuiTextInput: 'mobui.MobuiTextInput',\n MobuiContainer: 'mobui.MobuiContainer',\n Logo: 'wixui.Logo',\n ShareButtons: 'wixui.ShareButtons',\n AccordionContainer: 'wixui.AccordionContainer',\n AccordionItem: 'wixui.AccordionItem',\n AddressInput: 'wixui.AddressInput',\n BoltComponent: 'wixui.BoltComponent',\n Breadcrumbs: 'wixui.Breadcrumbs',\n Captcha: 'wixui.Captcha',\n CollapsibleText: 'wixui.CollapsibleText',\n CustomElementComponent: 'wixui.CustomElementComponent',\n DynamicRepeater: 'wixui.DynamicRepeater',\n ExternalComponent: 'wixui.ExternalComponent',\n FastGallery: 'wixui.FastGallery',\n HamburgerCloseButton: 'wixui.HamburgerCloseButton',\n HamburgerMenuContainer: 'wixui.HamburgerMenuContainer',\n HamburgerMenuContent: 'wixui.HamburgerMenuContent',\n HamburgerMenuRoot: 'wixui.HamburgerMenuRoot',\n HamburgerOpenButton: 'wixui.HamburgerOpenButton',\n HamburgerOverlay: 'wixui.HamburgerOverlay',\n ImageX: 'wixui.ImageX',\n LineShareButton: 'wixui.LineShareButton',\n LottieEmbed: 'wixui.LottieEmbed',\n MegaMenuContainerItem: 'wixui.MegaMenuContainerItem',\n Menu: 'wixui.Menu',\n MusicPlayer: 'wixui.MusicPlayer',\n OldBlogDeprecation: 'wixui.OldBlogDeprecation',\n Pagination: 'wixui.Pagination',\n ProductSpecification: 'wixui.ProductSpecification',\n ProGallery: 'wixui.ProGallery',\n ProgressBar: 'wixui.ProgressBar',\n RangeSlider: 'wixui.RangeSlider',\n RatingsDisplay: 'wixui.RatingsDisplay',\n RatingsInput: 'wixui.RatingsInput',\n RichContentViewer: 'wixui.RichContentViewer',\n RichTextBox: 'wixui.RichTextBox',\n SearchBox: 'wixui.SearchBox',\n SearchButton: 'wixui.SearchButton',\n SelectableContainer: 'wixui.SelectableContainer',\n SelectableContainerInput: 'wixui.SelectableContainerInput',\n SelectionTagsList: 'wixui.SelectionTagsList',\n SignatureInput: 'wixui.SignatureInput',\n SingleTab: 'wixui.SingleTab',\n Slider: 'wixui.Slider',\n Slideshow: 'wixui.Slideshow',\n SlideshowButton: 'wixui.SlideshowButton',\n SlideshowItem: 'wixui.SlideshowItem',\n SocialAuth: 'wixui.SocialAuth',\n StretchedContainer: 'wixui.StretchedContainer',\n StylableButton: 'wixui.StylableButton',\n StylableHorizontalMenu: 'wixui.StylableHorizontalMenu',\n Submenu: 'wixui.Submenu',\n SvgImage: 'wixui.SvgImage',\n Tabs: 'wixui.Tabs',\n TestComp: 'wixui.TestComp',\n TextMarquee: 'wixui.TextMarquee',\n TextMask: 'wixui.TextMask',\n TimePicker: 'wixui.TimePicker',\n ToggleSwitch: 'wixui.ToggleSwitch',\n UnsupportedComponent: 'wixui.UnsupportedComponent',\n VideoPlayer: 'wixui.VideoPlayer',\n ControlTypes: 'dsgnsys.ControlTypes',\n WutRadioButton: 'dsgnsys.WutRadioButton',\n DashboardButton: 'dsgnsys.DashboardButton',\n DashboardHeading: 'dsgnsys.DashboardHeading',\n DashboardIconButton: 'dsgnsys.DashboardIconButton',\n DashboardInfoIcon: 'dsgnsys.DashboardInfoIcon',\n DashboardInput: 'dsgnsys.DashboardInput',\n DashboardNumberInput: 'dsgnsys.DashboardNumberInput',\n DashboardText: 'dsgnsys.DashboardText',\n DashboardTextButton: 'dsgnsys.DashboardTextButton',\n DashboardToggleSwitch: 'dsgnsys.DashboardToggleSwitch',\n SettingsPanelContainer: 'dsgnsys.SettingsPanelContainer',\n WbuAccordion: 'dsgnsys.WbuAccordion',\n WbuBackButton: 'dsgnsys.WbuBackButton',\n WbuButton: 'dsgnsys.WbuButton',\n WbuCheckboxGroup: 'dsgnsys.WbuCheckboxGroup',\n WbuColorPicker: 'dsgnsys.WbuColorPicker',\n WbuColorSelector: 'dsgnsys.WbuColorSelector',\n WbuColumnControllerControl: 'dsgnsys.WbuColumnControllerControl',\n WbuDatePicker: 'dsgnsys.WbuDatePicker',\n WbuDrillDown: 'dsgnsys.WbuDrillDown',\n WbuDropdown: 'dsgnsys.WbuDropdown',\n WbuEmptyState: 'dsgnsys.WbuEmptyState',\n WbuFontAndColorPicker: 'dsgnsys.WbuFontAndColorPicker',\n WbuHorizontalTabs: 'dsgnsys.WbuHorizontalTabs',\n WbuLeftTextButton: 'dsgnsys.WbuLeftTextButton',\n WbuMultilineTextInput: 'dsgnsys.WbuMultilineTextInput',\n WbuNotificationBanner: 'dsgnsys.WbuNotificationBanner',\n WbuNumericInput: 'dsgnsys.WbuNumericInput',\n WbuRadioButtonGroup: 'dsgnsys.WbuRadioButtonGroup',\n WbuRichText: 'dsgnsys.WbuRichText',\n WbuSectionDivider: 'dsgnsys.WbuSectionDivider',\n WbuSlider: 'dsgnsys.WbuSlider',\n WbuTextInput: 'dsgnsys.WbuTextInput',\n WbuThumbnails: 'dsgnsys.WbuThumbnails',\n WbuToggleSwitch: 'dsgnsys.WbuToggleSwitch',\n WutAvatar: 'dsgnsys.WutAvatar',\n WutAvatarGroup: 'dsgnsys.WutAvatarGroup',\n WutBadge: 'dsgnsys.WutBadge'\n};\n","export {};\n","import { useCallback } from 'react';\nimport { useVeloClient, GridAppLayout } from '@wix/velo-client';\nimport type { VeloCode, VeloCodeUpdate } from '@wix/anyide-cli-file-structure';\nimport { useProjectModel } from '../../model.js';\nimport { loadProjectRootFiles } from '../../velo.js';\n\nexport function useVelo() {\n const { model } = useProjectModel();\n const veloClient = useVeloClient();\n\n const createMutableApp = useCallback(\n async (code: VeloCode) => {\n const rootFiles = await loadProjectRootFiles(model.projectFolder);\n\n return veloClient.createMutableApp({\n ...code,\n files: code.files.concat(rootFiles),\n layout: GridAppLayout[code.layout],\n });\n },\n [model.projectFolder, veloClient]\n );\n\n const updateAppFiles = useCallback(\n (appId: string, codeUpdate: VeloCodeUpdate) => {\n return veloClient.updateAppFiles(appId, {\n ...codeUpdate,\n layout: GridAppLayout[codeUpdate.layout],\n });\n },\n [veloClient]\n );\n\n return { createMutableApp, updateAppFiles };\n}\n","import { useState, useEffect } from 'react';\nimport { watch } from 'chokidar';\nimport { debounceQueue } from '@wix/debounce-queue';\nimport { useErrorReporter } from '@wix/cli-error-reporting';\nimport type { FSUpdate } from '@wix/anyide-cli-file-structure';\nimport { getSourceFolder } from '@wix/velo-github-layout-definitions';\n\nexport function useFsWatcher(projectFolder: string) {\n const { reportError } = useErrorReporter();\n\n const [{ watcher, ...publicApi }] = useState(() => {\n const watcher = watch('.', {\n cwd: getSourceFolder(projectFolder),\n ignoreInitial: true,\n disableGlobbing: true,\n });\n\n return {\n watcher,\n onBatchChange: (eventHandler: (update: FSUpdate[]) => void) => {\n const debouncedHandler = debounceQueue(\n (events: Array<[path: string, action: 'UPDATE' | 'DELETE']>) => {\n const uniqEvents = new Map(events);\n const update: FSUpdate[] = [];\n\n for (const [path, action] of uniqEvents) {\n update.push({ path, action });\n }\n\n eventHandler(update);\n },\n 400\n );\n\n watcher.on('change', (path) => debouncedHandler(path, 'UPDATE'));\n watcher.on('add', (path) => debouncedHandler(path, 'UPDATE'));\n watcher.on('unlink', (path) => debouncedHandler(path, 'DELETE'));\n },\n };\n });\n\n useEffect(() => {\n return () => {\n watcher.close().catch(reportError);\n };\n }, [watcher, reportError]);\n\n return publicApi;\n}\n","import { useCallback } from 'react';\nimport { getTestOverrides } from '@wix/cli-test-overrides';\nimport { useTunnel } from '@wix/cli-tunnel';\nimport { useProjectModel } from '../../model.js';\n\nexport function useDevEditorUrl() {\n const { model } = useProjectModel();\n const createTunnel = useTunnel();\n\n return useCallback(\n async ({\n serverWsUrl: localServerWsUrl,\n serverPort,\n shouldUseTunnel,\n }: {\n serverWsUrl: string;\n serverPort: number;\n shouldUseTunnel: boolean;\n }) => {\n const { devEditorBaseUrl } = getTestOverrides();\n const url = new URL(\n model.metaSiteId,\n devEditorBaseUrl ?? 'https://wix.com/editor/'\n );\n\n const tunnelWsUrl = shouldUseTunnel\n ? ensureWsProtocol((await createTunnel(serverPort)).url)\n : undefined;\n\n const serverUrl = tunnelWsUrl ?? localServerWsUrl;\n\n url.searchParams.set('localPort', String(serverPort));\n url.searchParams.set('localEditorDestination', serverUrl);\n url.searchParams.set('localEditorWsUrl', serverUrl);\n url.searchParams.set('github2', 'true');\n\n return url.toString();\n },\n [model.metaSiteId, createTunnel]\n );\n}\n\nconst ensureWsProtocol = (input: string) => {\n const url = new URL(input);\n url.protocol = url.protocol === 'http:' ? 'ws' : 'wss';\n return url.toString();\n};\n","import { useState, useEffect } from 'react';\nimport { useErrorReporter } from '@wix/cli-error-reporting';\nimport { createVeloCLIServer } from '@wix/editor-velo-cli-comm-api';\nimport type { DocumentFSUpdate } from '@wix/editor-velo-cli-comm-api';\nimport { CliError, CliErrorCode } from '@wix/cli-error';\n\nexport function useWebSocketServer() {\n const { reportError } = useErrorReporter();\n const [server] = useState(() => {\n const instance = createVeloCLIServer();\n\n return {\n ...instance,\n async syncDocumentUpdate(document: DocumentFSUpdate) {\n try {\n return await instance.syncDocumentUpdate(document);\n } catch (error) {\n throw new CliError({\n code: CliErrorCode.FailedToSyncVeloCLIServerDocumentUpdate(),\n cause: error,\n });\n }\n },\n };\n });\n\n useEffect(() => {\n return () => {\n server.close().catch(reportError);\n };\n }, [server, reportError]);\n\n return server;\n}\n"],"mappings":"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","names":["XMLDOMImplementation","XMLDOMErrorHandler","XMLDOMStringList","XMLDOMConfiguration","XMLAttribute","XMLNamedNodeMap","XMLElement","XMLCharacterData","XMLCData","XMLComment","XMLDeclaration","XMLDTDAttList","XMLDTDEntity","XMLDTDElement","XMLDTDNotation","XMLDocType","XMLRaw","XMLText","XMLProcessingInstruction","XMLDummy","XMLNodeList","XMLNode","XMLStringifier","XMLWriterBase","XMLStringWriter","XMLDocument","XMLDocumentCB","XMLStreamWriter","require_lib","s","processors","err","import_react","import_react","import_react","children","createIntellisenseAdapter","import_react","watcher","import_react","import_react","children","createIntellisenseAdapter","document","code","React","React","useTunnel","React"]}
|