@openplayerjs/ads 3.1.2 → 3.2.0
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/README.md +103 -2
- package/dist/.tsbuildinfo +1 -1
- package/dist/index.js +2236 -3090
- package/dist/index.js.map +1 -1
- package/dist/openplayer-ads.js +1 -1
- package/dist/openplayer-ads.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openplayer-ads.js","sources":["../../../node_modules/.pnpm/@dailymotion+vast-client@6.4.2/node_modules/@dailymotion/vast-client/dist/vast-client.min.js","../src/vast-parser.ts","../src/ad-dom.ts","../src/caption-manager.ts","../src/omid.ts","../../../node_modules/.pnpm/@dailymotion+vmap@3.3.3/node_modules/@dailymotion/vmap/dist/vmap-js.js","../src/schedule.ts","../src/simid.ts","../src/types.ts","../src/ads.ts","../src/umd.ts","../src/install.ts","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/conventions.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/dom.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/entities.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/sax.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/dom-parser.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/index.js"],"sourcesContent":["function e(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{id:e.id||null,adId:e.adId||null,sequence:e.sequence||null,apiFramework:e.apiFramework||null,universalAdIds:[],creativeExtensions:[]}}const t=[\"ADCATEGORIES\",\"ADCOUNT\",\"ADPLAYHEAD\",\"ADSERVINGID\",\"ADTYPE\",\"APIFRAMEWORKS\",\"APPBUNDLE\",\"ASSETURI\",\"BLOCKEDADCATEGORIES\",\"BREAKMAXADLENGTH\",\"BREAKMAXADS\",\"BREAKMAXDURATION\",\"BREAKMINADLENGTH\",\"BREAKMINDURATION\",\"BREAKPOSITION\",\"CLICKPOS\",\"CLICKTYPE\",\"CLIENTUA\",\"CONTENTID\",\"CONTENTPLAYHEAD\",\"CONTENTURI\",\"DEVICEIP\",\"DEVICEUA\",\"DOMAIN\",\"EXTENSIONS\",\"GDPRCONSENT\",\"IFA\",\"IFATYPE\",\"INVENTORYSTATE\",\"LATLONG\",\"LIMITADTRACKING\",\"MEDIAMIME\",\"MEDIAPLAYHEAD\",\"OMIDPARTNER\",\"PAGEURL\",\"PLACEMENTTYPE\",\"PLAYERCAPABILITIES\",\"PLAYERSIZE\",\"PLAYERSTATE\",\"PODSEQUENCE\",\"REGULATIONS\",\"SERVERSIDE\",\"SERVERUA\",\"TRANSACTIONID\",\"UNIVERSALADID\",\"VASTVERSIONS\",\"VERIFICATIONVENDORS\"];function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=[],n=s(e);!t.ERRORCODE||r.isCustomCode||/^[0-9]{3}$/.test(t.ERRORCODE)||(t.ERRORCODE=900),t.CACHEBUSTING=d(Math.round(1e8*Math.random())),t.TIMESTAMP=(new Date).toISOString(),t.RANDOM=t.random=t.CACHEBUSTING;for(const e in t)t[e]=c(t[e]);for(const e in n){const r=n[e];\"string\"==typeof r&&a.push(i(r,t))}return a}function i(e,r){const i=(e=a(e,r)).match(/[^[\\]]+(?=])/g);if(!i)return e;let s=i.filter((e=>t.indexOf(e)>-1));return 0===s.length?e:(s=s.reduce(((e,t)=>(e[t]=-1,e)),{}),a(e,s))}function a(e,t){let r=e;for(const e in t){const i=t[e];r=r.replace(new RegExp(\"(?:\\\\[|%%)(\".concat(e,\")(?:\\\\]|%%)\"),\"g\"),i)}return r}function s(e){return Array.isArray(e)?e.map((e=>e&&e.hasOwnProperty(\"url\")?e.url:e)):e}function n(e){return/^(https?:\\/\\/|\\/\\/)/.test(e)}function o(e,t){for(let r=0;r<t.length;r++)if(l(t[r],e))return!0;return!1}function l(e,t){if(e&&t){const r=Object.getOwnPropertyNames(e),i=Object.getOwnPropertyNames(t);return r.length===i.length&&(e.id===t.id&&e.url===t.url)}return!1}function c(e){return encodeURIComponent(e).replace(/[!'()*]/g,(e=>\"%\".concat(e.charCodeAt(0).toString(16))))}function d(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;return e.toString().padStart(t,\"0\")}const u={track:function(e,t,i){r(e,t,i).forEach((e=>{if(\"undefined\"!=typeof window&&null!==window){(new Image).src=e}}))},resolveURLTemplates:r,extractURLsFromTemplates:s,filterUrlTemplates:function(e){return e.reduce(((e,t)=>{const r=t.url||t;return n(r)?e.validUrls.push(r):e.invalidUrls.push(r),e}),{validUrls:[],invalidUrls:[]})},containsTemplateObject:o,isTemplateObjectEqual:l,encodeURIComponentRFC3986:c,replaceUrlMacros:i,isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},flatten:function e(t){return t.reduce(((t,r)=>t.concat(Array.isArray(r)?e(r):r)),[])},joinArrayOfUniqueTemplateObjs:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const r=Array.isArray(e)?e:[],i=Array.isArray(t)?t:[];return r.concat(i).reduce(((e,t)=>(o(t,e)||e.push(t),e)),[])},isValidTimeValue:function(e){return Number.isFinite(e)&&e>=-2},addLeadingZeros:d,isValidUrl:n,isBrowserEnvironment:function(){return\"undefined\"!=typeof window},formatMacrosValues:function(e){return\"object\"!=typeof e?e:JSON.stringify(e)}};function h(e){return[\"true\",\"TRUE\",\"True\",\"1\"].includes(e)}function p(e){if(null==e)return-1;if(u.isNumeric(e))return parseInt(e);const t=e.split(\":\");if(3!==t.length)return-1;const r=t[2].split(\".\");let i=parseInt(r[0]);2===r.length&&(i+=parseFloat(\"0.\".concat(r[1])));const a=parseInt(60*t[1]),s=parseInt(60*t[0]*60);return isNaN(s)||isNaN(a)||isNaN(i)||a>3600||i>60?-1:s+a+i}const m={childByName:function(e,t){return Array.from(e.childNodes).find((e=>e.nodeName===t))},childrenByName:function(e,t){return Array.from(e.childNodes).filter((e=>e.nodeName===t))},resolveVastAdTagURI:function(e,t){if(!t)return e;if(e.startsWith(\"//\")){const{protocol:t}=location;return\"\".concat(t).concat(e)}if(!e.includes(\"://\")){const r=t.slice(0,t.lastIndexOf(\"/\"));return\"\".concat(r,\"/\").concat(e)}return e},parseBoolean:h,parseNodeText:function(e){return e&&(e.textContent||e.text||\"\").trim()},copyNodeAttribute:function(e,t,r){const i=t.getAttribute(e);i&&r.setAttribute(e,i)},parseAttributes:function(e){return Array.from(e.attributes).reduce(((e,t)=>(e[t.nodeName]=t.nodeValue,e)),{})},parseDuration:p,getStandAloneAds:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).filter((e=>!parseInt(e.sequence,10)))},getSortedAdPods:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).filter((e=>parseInt(e.sequence,10))).sort(((e,t)=>e.sequence-t.sequence))},assignAttributes:function(e,t){e&&Array.from(e).forEach((e=>{let{nodeName:r,nodeValue:i}=e;if(r&&i&&t.hasOwnProperty(r)){let e=i;\"boolean\"==typeof t[r]&&(e=h(e)),t[r]=e}}))},mergeWrapperAdData:function(e,t){var r;e.errorURLTemplates=t.errorURLTemplates.concat(e.errorURLTemplates),e.impressionURLTemplates=t.impressionURLTemplates.concat(e.impressionURLTemplates),e.extensions=t.extensions.concat(e.extensions),t.viewableImpression.length>0&&(e.viewableImpression=[...e.viewableImpression,...t.viewableImpression]),e.followAdditionalWrappers=t.followAdditionalWrappers,e.allowMultipleAds=t.allowMultipleAds,e.fallbackOnNoAd=t.fallbackOnNoAd;const i=(t.creatives||[]).filter((e=>e&&\"companion\"===e.type)),a=i.reduce(((e,t)=>((t.variations||[]).forEach((t=>{(t.companionClickTrackingURLTemplates||[]).forEach((t=>{u.containsTemplateObject(t,e)||e.push(t)}))})),e)),[]);e.creatives=i.concat(e.creatives);const s=t.videoClickTrackingURLTemplates&&t.videoClickTrackingURLTemplates.length,n=t.videoCustomClickURLTemplates&&t.videoCustomClickURLTemplates.length;if(e.creatives.forEach((e=>{if(t.trackingEvents&&t.trackingEvents[e.type])for(const r in t.trackingEvents[e.type]){const i=t.trackingEvents[e.type][r];Array.isArray(e.trackingEvents[r])||(e.trackingEvents[r]=[]),e.trackingEvents[r]=e.trackingEvents[r].concat(i)}\"linear\"===e.type&&(s&&(e.videoClickTrackingURLTemplates=e.videoClickTrackingURLTemplates.concat(t.videoClickTrackingURLTemplates)),n&&(e.videoCustomClickURLTemplates=e.videoCustomClickURLTemplates.concat(t.videoCustomClickURLTemplates)),!t.videoClickThroughURLTemplate||null!==e.videoClickThroughURLTemplate&&void 0!==e.videoClickThroughURLTemplate||(e.videoClickThroughURLTemplate=t.videoClickThroughURLTemplate)),\"companion\"===e.type&&a.length&&(e.variations||[]).forEach((e=>{e.companionClickTrackingURLTemplates=u.joinArrayOfUniqueTemplateObjs(e.companionClickTrackingURLTemplates,a)}))})),t.adVerifications&&(e.adVerifications=e.adVerifications.concat(t.adVerifications)),t.blockedAdCategories&&(e.blockedAdCategories=e.blockedAdCategories.concat(t.blockedAdCategories)),null!==(r=t.creatives)&&void 0!==r&&r.length){const r=t.creatives.filter((e=>{var t;return(null===(t=e.icons)||void 0===t?void 0:t.length)&&!e.mediaFiles.length}));r.length&&(e.creatives=e.creatives.concat(r))}}};function g(t,r){const i=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{id:r,adId:i,sequence:a,apiFramework:s}=e(t);return{id:r,adId:i,sequence:a,apiFramework:s,type:\"companion\",required:null,variations:[]}}(r);return i.required=t.getAttribute(\"required\")||null,i.variations=m.childrenByName(t,\"Companion\").map((e=>{const t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{id:e.id||null,adType:\"companionAd\",width:e.width||0,height:e.height||0,assetWidth:e.assetWidth||null,assetHeight:e.assetHeight||null,expandedWidth:e.expandedWidth||null,expandedHeight:e.expandedHeight||null,apiFramework:e.apiFramework||null,adSlotId:e.adSlotId||null,pxratio:e.pxratio||\"1\",renderingMode:e.renderingMode||\"default\",staticResources:[],htmlResources:[],iframeResources:[],adParameters:null,altText:null,companionClickThroughURLTemplate:null,companionClickTrackingURLTemplates:[],trackingEvents:{}}}(m.parseAttributes(e));t.htmlResources=m.childrenByName(e,\"HTMLResource\").reduce(((e,t)=>{const r=m.parseNodeText(t);return r?e.concat(r):e}),[]),t.iframeResources=m.childrenByName(e,\"IFrameResource\").reduce(((e,t)=>{const r=m.parseNodeText(t);return r?e.concat(r):e}),[]),t.staticResources=m.childrenByName(e,\"StaticResource\").reduce(((e,t)=>{const r=m.parseNodeText(t);return r?e.concat({url:r,creativeType:t.getAttribute(\"creativeType\")||null}):e}),[]),t.altText=m.parseNodeText(m.childByName(e,\"AltText\"))||null;const r=m.childByName(e,\"TrackingEvents\");r&&m.childrenByName(r,\"Tracking\").forEach((e=>{const r=e.getAttribute(\"event\"),i=m.parseNodeText(e);r&&i&&(Array.isArray(t.trackingEvents[r])||(t.trackingEvents[r]=[]),t.trackingEvents[r].push(i))})),t.companionClickTrackingURLTemplates=m.childrenByName(e,\"CompanionClickTracking\").map((e=>({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)}))),t.companionClickThroughURLTemplate=m.parseNodeText(m.childByName(e,\"CompanionClickThrough\"))||null;const i=m.childByName(e,\"AdParameters\");return i&&(t.adParameters={value:m.parseNodeText(i),xmlEncoded:i.getAttribute(\"xmlEncoded\")||null}),t})),i}function v(t,r){let i;const a=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{id:r,adId:i,sequence:a,apiFramework:s}=e(t);return{id:r,adId:i,sequence:a,apiFramework:s,type:\"linear\",duration:0,skipDelay:null,mediaFiles:[],mezzanine:null,interactiveCreativeFile:null,closedCaptionFiles:[],videoClickThroughURLTemplate:null,videoClickTrackingURLTemplates:[],videoCustomClickURLTemplates:[],adParameters:null,icons:[],trackingEvents:{}}}(r);a.duration=m.parseDuration(m.parseNodeText(m.childByName(t,\"Duration\")));const s=t.getAttribute(\"skipoffset\");if(null==s)a.skipDelay=null;else if(\"%\"===s.charAt(s.length-1)&&-1!==a.duration){const e=parseInt(s,10);a.skipDelay=a.duration*(e/100)}else a.skipDelay=m.parseDuration(s);const n=m.childByName(t,\"VideoClicks\");if(n){const e=m.childByName(n,\"ClickThrough\");a.videoClickThroughURLTemplate=e?{id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)}:null,m.childrenByName(n,\"ClickTracking\").forEach((e=>{a.videoClickTrackingURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})})),m.childrenByName(n,\"CustomClick\").forEach((e=>{a.videoCustomClickURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})}))}const o=m.childByName(t,\"AdParameters\");o&&(a.adParameters={value:m.parseNodeText(o),xmlEncoded:o.getAttribute(\"xmlEncoded\")||null}),m.childrenByName(t,\"TrackingEvents\").forEach((e=>{m.childrenByName(e,\"Tracking\").forEach((e=>{let t=e.getAttribute(\"event\");const r=m.parseNodeText(e);if(t&&r){if(\"progress\"===t){if(i=e.getAttribute(\"offset\"),!i)return;t=\"%\"===i.charAt(i.length-1)?\"progress-\".concat(i):\"progress-\".concat(m.parseDuration(i))}Array.isArray(a.trackingEvents[t])||(a.trackingEvents[t]=[]),a.trackingEvents[t].push(r)}}))})),m.childrenByName(t,\"MediaFiles\").forEach((e=>{m.childrenByName(e,\"MediaFile\").forEach((e=>{a.mediaFiles.push(function(e){const t={id:null,fileURL:null,fileSize:0,deliveryType:\"progressive\",mimeType:null,mediaType:null,codec:null,bitrate:0,minBitrate:0,maxBitrate:0,width:0,height:0,apiFramework:null,scalable:null,maintainAspectRatio:null};t.id=e.getAttribute(\"id\"),t.fileURL=m.parseNodeText(e),t.deliveryType=e.getAttribute(\"delivery\"),t.codec=e.getAttribute(\"codec\"),t.mimeType=e.getAttribute(\"type\"),t.mediaType=e.getAttribute(\"mediaType\")||\"2D\",t.apiFramework=e.getAttribute(\"apiFramework\"),t.fileSize=parseInt(e.getAttribute(\"fileSize\")||0),t.bitrate=parseInt(e.getAttribute(\"bitrate\")||0),t.minBitrate=parseInt(e.getAttribute(\"minBitrate\")||0),t.maxBitrate=parseInt(e.getAttribute(\"maxBitrate\")||0),t.width=parseInt(e.getAttribute(\"width\")||0),t.height=parseInt(e.getAttribute(\"height\")||0);const r=e.getAttribute(\"scalable\");r&&\"string\"==typeof r&&(t.scalable=m.parseBoolean(r));const i=e.getAttribute(\"maintainAspectRatio\");i&&\"string\"==typeof i&&(t.maintainAspectRatio=m.parseBoolean(i));return t}(e))}));const t=m.childByName(e,\"InteractiveCreativeFile\");t&&(a.interactiveCreativeFile=function(e){const t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:e.type||null,apiFramework:e.apiFramework||null,variableDuration:m.parseBoolean(e.variableDuration),fileURL:null}}(m.parseAttributes(e));return t.fileURL=m.parseNodeText(e),t}(t));const r=m.childByName(e,\"ClosedCaptionFiles\");r&&m.childrenByName(r,\"ClosedCaptionFile\").forEach((e=>{const t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:e.type||null,language:e.language||null,fileURL:null}}(m.parseAttributes(e));t.fileURL=m.parseNodeText(e),a.closedCaptionFiles.push(t)}));const i=m.childByName(e,\"Mezzanine\"),s=function(e,t){const r={};let i=!1;return t.forEach((t=>{e&&e.getAttribute(t)?r[t]=e.getAttribute(t):i=!0})),i?null:r}(i,[\"delivery\",\"type\",\"width\",\"height\"]);if(s){const e={id:null,fileURL:null,delivery:null,codec:null,type:null,width:0,height:0,fileSize:0,mediaType:\"2D\"};e.id=i.getAttribute(\"id\"),e.fileURL=m.parseNodeText(i),e.delivery=s.delivery,e.codec=i.getAttribute(\"codec\"),e.type=s.type,e.width=parseInt(s.width,10),e.height=parseInt(s.height,10),e.fileSize=parseInt(i.getAttribute(\"fileSize\"),10),e.mediaType=i.getAttribute(\"mediaType\")||\"2D\",a.mezzanine=e}}));const l=m.childByName(t,\"Icons\");return l&&m.childrenByName(l,\"Icon\").forEach((e=>{a.icons.push(function(e){const t={program:null,height:0,width:0,xPosition:0,yPosition:0,apiFramework:null,offset:null,duration:0,type:null,staticResource:null,htmlResource:null,iframeResource:null,pxratio:\"1\",iconClickThroughURLTemplate:null,iconClickTrackingURLTemplates:[],iconViewTrackingURLTemplate:null,iconClickFallbackImages:[],altText:null,hoverText:null};t.program=e.getAttribute(\"program\"),t.height=parseInt(e.getAttribute(\"height\")||0),t.width=parseInt(e.getAttribute(\"width\")||0),t.xPosition=function(e){if(-1!==[\"left\",\"right\"].indexOf(e))return e;return parseInt(e||0)}(e.getAttribute(\"xPosition\")),t.yPosition=function(e){if(-1!==[\"top\",\"bottom\"].indexOf(e))return e;return parseInt(e||0)}(e.getAttribute(\"yPosition\")),t.apiFramework=e.getAttribute(\"apiFramework\"),t.pxratio=e.getAttribute(\"pxratio\")||\"1\",t.offset=m.parseDuration(e.getAttribute(\"offset\")),t.duration=m.parseDuration(e.getAttribute(\"duration\")),t.altText=e.getAttribute(\"altText\"),t.hoverText=e.getAttribute(\"hoverText\"),m.childrenByName(e,\"HTMLResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||\"text/html\",t.htmlResource=m.parseNodeText(e)})),m.childrenByName(e,\"IFrameResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.iframeResource=m.parseNodeText(e)})),m.childrenByName(e,\"StaticResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.staticResource=m.parseNodeText(e)}));const r=m.childByName(e,\"IconClicks\");if(r){t.iconClickThroughURLTemplate=m.parseNodeText(m.childByName(r,\"IconClickThrough\")),m.childrenByName(r,\"IconClickTracking\").forEach((e=>{t.iconClickTrackingURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})}));const e=m.childByName(r,\"IconClickFallbackImages\");e&&m.childrenByName(e,\"IconClickFallbackImage\").forEach((e=>{t.iconClickFallbackImages.push({url:m.parseNodeText(e)||null,width:e.getAttribute(\"width\")||null,height:e.getAttribute(\"height\")||null})}))}return t.iconViewTrackingURLTemplate=m.parseNodeText(m.childByName(e,\"IconViewTracking\")),t}(e))})),a}function f(t,r){const i=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{id:r,adId:i,sequence:a,apiFramework:s}=e(t);return{id:r,adId:i,sequence:a,apiFramework:s,type:\"nonlinear\",variations:[],trackingEvents:{}}}(r);return m.childrenByName(t,\"TrackingEvents\").forEach((e=>{let t,r;m.childrenByName(e,\"Tracking\").forEach((e=>{t=e.getAttribute(\"event\"),r=m.parseNodeText(e),t&&r&&(Array.isArray(i.trackingEvents[t])||(i.trackingEvents[t]=[]),i.trackingEvents[t].push(r))}))})),m.childrenByName(t,\"NonLinear\").forEach((e=>{const t={id:null,width:0,height:0,expandedWidth:0,expandedHeight:0,scalable:!0,maintainAspectRatio:!0,minSuggestedDuration:0,apiFramework:\"static\",adType:\"nonLinearAd\",type:null,staticResource:null,htmlResource:null,iframeResource:null,nonlinearClickThroughURLTemplate:null,nonlinearClickTrackingURLTemplates:[],adParameters:null};t.id=e.getAttribute(\"id\")||null,t.width=e.getAttribute(\"width\"),t.height=e.getAttribute(\"height\"),t.expandedWidth=e.getAttribute(\"expandedWidth\"),t.expandedHeight=e.getAttribute(\"expandedHeight\"),t.scalable=m.parseBoolean(e.getAttribute(\"scalable\")),t.maintainAspectRatio=m.parseBoolean(e.getAttribute(\"maintainAspectRatio\")),t.minSuggestedDuration=m.parseDuration(e.getAttribute(\"minSuggestedDuration\")),t.apiFramework=e.getAttribute(\"apiFramework\"),m.childrenByName(e,\"HTMLResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||\"text/html\",t.htmlResource=m.parseNodeText(e)})),m.childrenByName(e,\"IFrameResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.iframeResource=m.parseNodeText(e)})),m.childrenByName(e,\"StaticResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.staticResource=m.parseNodeText(e)}));const r=m.childByName(e,\"AdParameters\");r&&(t.adParameters={value:m.parseNodeText(r),xmlEncoded:r.getAttribute(\"xmlEncoded\")||null}),t.nonlinearClickThroughURLTemplate=m.parseNodeText(m.childByName(e,\"NonLinearClickThrough\")),m.childrenByName(e,\"NonLinearClickTracking\").forEach((e=>{t.nonlinearClickTrackingURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})})),i.variations.push(t)})),i}function T(e){const t=[];return e.forEach((e=>{const r=A(e);r&&t.push(r)})),t}function A(e){if(\"#comment\"===e.nodeName)return null;const t={name:null,value:null,attributes:{},children:[]},r=e.attributes,i=e.childNodes;if(t.name=e.nodeName,e.attributes)for(const e in r)if(r.hasOwnProperty(e)){const i=r[e];i.nodeName&&i.nodeValue&&(t.attributes[i.nodeName]=i.nodeValue)}for(const e in i)if(i.hasOwnProperty(e)){const r=A(i[e]);r&&t.children.push(r)}if(0===t.children.length||1===t.children.length&&[\"#cdata-section\",\"#text\"].indexOf(t.children[0].name)>=0){const r=m.parseNodeText(e);\"\"!==r&&(t.value=r),t.children=[]}return null===(a=t).value&&0===Object.keys(a.attributes).length&&0===a.children.length?null:t;var a}function R(e){return e.getAttribute(\"AdID\")||e.getAttribute(\"adID\")||e.getAttribute(\"adId\")||null}const k={Wrapper:{subElements:[\"VASTAdTagURI\",\"Impression\"]},BlockedAdCategories:{attributes:[\"authority\"]},InLine:{subElements:[\"AdSystem\",\"AdTitle\",\"Impression\",\"AdServingId\",\"Creatives\"]},Category:{attributes:[\"authority\"]},Pricing:{attributes:[\"model\",\"currency\"]},Verification:{oneOfinLineResources:[\"JavaScriptResource\",\"ExecutableResource\"],attributes:[\"vendor\"]},UniversalAdId:{attributes:[\"idRegistry\"]},JavaScriptResource:{attributes:[\"apiFramework\",\"browserOptional\"]},ExecutableResource:{attributes:[\"apiFramework\",\"type\"]},Tracking:{attributes:[\"event\"]},Creatives:{subElements:[\"Creative\"]},Creative:{subElements:[\"UniversalAdId\"]},Linear:{subElements:[\"MediaFiles\",\"Duration\"]},MediaFiles:{subElements:[\"MediaFile\"]},MediaFile:{attributes:[\"delivery\",\"type\",\"width\",\"height\"]},Mezzanine:{attributes:[\"delivery\",\"type\",\"width\",\"height\"]},NonLinear:{oneOfinLineResources:[\"StaticResource\",\"IFrameResource\",\"HTMLResource\"],attributes:[\"width\",\"height\"]},Companion:{oneOfinLineResources:[\"StaticResource\",\"IFrameResource\",\"HTMLResource\"],attributes:[\"width\",\"height\"]},StaticResource:{attributes:[\"creativeType\"]},Icons:{subElements:[\"Icon\"]},Icon:{oneOfinLineResources:[\"StaticResource\",\"IFrameResource\",\"HTMLResource\"]}};function y(e,t){if(!k[e.nodeName]||!k[e.nodeName].attributes)return;const r=k[e.nodeName].attributes.filter((t=>!e.getAttribute(t)));r.length>0&&N({name:e.nodeName,parentName:e.parentNode.nodeName,attributes:r},t)}function E(e,t,r){const i=k[e.nodeName],a=!r&&\"Wrapper\"!==e.nodeName;if(!i||a)return;if(i.subElements){const r=i.subElements.filter((t=>!m.childByName(e,t)));r.length>0&&N({name:e.nodeName,parentName:e.parentNode.nodeName,subElements:r},t)}if(!r||!i.oneOfinLineResources)return;i.oneOfinLineResources.some((t=>m.childByName(e,t)))||N({name:e.nodeName,parentName:e.parentNode.nodeName,oneOfResources:i.oneOfinLineResources},t)}function b(e){return e.children&&0!==e.children.length}function N(e,t){let{name:r,parentName:i,attributes:a,subElements:s,oneOfResources:n}=e,o=\"Element '\".concat(r,\"'\");o+=a?\" missing required attribute(s) '\".concat(a.join(\", \"),\"' \"):s?\" missing required sub element(s) '\".concat(s.join(\", \"),\"' \"):n?\" must provide one of the following '\".concat(n.join(\", \"),\"' \"):\" is empty\",t(\"VAST-warning\",{message:o,parentElement:i,specVersion:4.1})}const w={verifyRequiredValues:function e(t,r,i){if(t&&t.nodeName)if(\"InLine\"===t.nodeName&&(i=!0),y(t,r),b(t)){E(t,r,i);for(let a=0;a<t.children.length;a++)e(t.children[a],r,i)}else 0===m.parseNodeText(t).length&&N({name:t.nodeName,parentName:t.parentNode.nodeName},r)},hasSubElements:b,emitMissingValueWarning:N,verifyRequiredAttributes:y,verifyRequiredSubElements:E};function L(e,t){let{allowMultipleAds:r,followAdditionalWrappers:i}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=Array.from(e.childNodes).filter((e=>{const t=e.nodeName.toLowerCase();return\"inline\"===t||!1!==i&&\"wrapper\"===t}));for(const i of a){if(m.copyNodeAttribute(\"id\",e,i),m.copyNodeAttribute(\"sequence\",e,i),m.copyNodeAttribute(\"adType\",e,i),\"Wrapper\"===i.nodeName)return{ad:I(i,t),type:\"WRAPPER\"};if(\"InLine\"===i.nodeName)return{ad:C(i,t,{allowMultipleAds:r}),type:\"INLINE\"};const a=i.nodeName.toLowerCase();t(\"VAST-warning\",{message:\"<\".concat(i.nodeName,\"inline\"===a?\"> must be written <InLine>\":\"> must be written <Wrapper>\"),wrongNode:i})}}function C(e,t){let{allowMultipleAds:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return!1===r&&e.getAttribute(\"sequence\")?null:U(e,t)}function U(e,t){let r=[];t&&w.verifyRequiredValues(e,t);const i=Array.from(e.childNodes),a=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{id:e.id||null,sequence:e.sequence||null,adType:e.adType||null,adServingId:null,categories:[],expires:null,viewableImpression:[],system:null,title:null,description:null,advertiser:null,pricing:null,survey:null,errorURLTemplates:[],impressionURLTemplates:[],creatives:[],extensions:[],adVerifications:[],blockedAdCategories:[],followAdditionalWrappers:!0,allowMultipleAds:!1,fallbackOnNoAd:null}}(m.parseAttributes(e));return i.forEach((e=>{switch(e.nodeName){case\"Error\":a.errorURLTemplates.push(m.parseNodeText(e));break;case\"Impression\":a.impressionURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)});break;case\"Creatives\":a.creatives=function(e){const t=[];return e.forEach((e=>{const r={id:e.getAttribute(\"id\")||null,adId:R(e),sequence:e.getAttribute(\"sequence\")||null,apiFramework:e.getAttribute(\"apiFramework\")||null},i=[];let a;m.childrenByName(e,\"UniversalAdId\").forEach((e=>{const t={idRegistry:e.getAttribute(\"idRegistry\")||\"unknown\",value:m.parseNodeText(e)};i.push(t)}));const s=m.childByName(e,\"CreativeExtensions\");s&&(a=T(m.childrenByName(s,\"CreativeExtension\")));for(const s in e.childNodes){const n=e.childNodes[s];let o;switch(n.nodeName){case\"Linear\":o=v(n,r);break;case\"NonLinearAds\":o=f(n,r);break;case\"CompanionAds\":o=g(n,r)}o&&(i&&(o.universalAdIds=i),a&&(o.creativeExtensions=a),t.push(o))}})),t}(m.childrenByName(e,\"Creative\"));break;case\"Extensions\":{const t=m.childrenByName(e,\"Extension\");a.extensions=T(t),a.adVerifications.length||(r=function(e){let t=null,r=[];e.some((e=>t=m.childByName(e,\"AdVerifications\"))),t&&(r=x(m.childrenByName(t,\"Verification\")));return r}(t));break}case\"AdVerifications\":a.adVerifications=x(m.childrenByName(e,\"Verification\"));break;case\"AdSystem\":a.system={value:m.parseNodeText(e),version:e.getAttribute(\"version\")||null};break;case\"AdTitle\":a.title=m.parseNodeText(e);break;case\"AdServingId\":a.adServingId=m.parseNodeText(e);break;case\"Category\":a.categories.push({authority:e.getAttribute(\"authority\")||null,value:m.parseNodeText(e)});break;case\"Expires\":a.expires=parseInt(m.parseNodeText(e),10);break;case\"ViewableImpression\":a.viewableImpression.push(function(e){const t=(e,t)=>{const r=m.parseNodeText(t);return r&&e.push(r),e};return{id:e.getAttribute(\"id\")||null,viewable:m.childrenByName(e,\"Viewable\").reduce(t,[]),notViewable:m.childrenByName(e,\"NotViewable\").reduce(t,[]),viewUndetermined:m.childrenByName(e,\"ViewUndetermined\").reduce(t,[])}}(e));break;case\"Description\":a.description=m.parseNodeText(e);break;case\"Advertiser\":a.advertiser={id:e.getAttribute(\"id\")||null,value:m.parseNodeText(e)};break;case\"Pricing\":a.pricing={value:m.parseNodeText(e),model:e.getAttribute(\"model\")||null,currency:e.getAttribute(\"currency\")||null};break;case\"Survey\":a.survey={value:m.parseNodeText(e),type:e.getAttribute(\"type\")||null};break;case\"BlockedAdCategories\":a.blockedAdCategories.push({authority:e.getAttribute(\"authority\")||null,value:m.parseNodeText(e)})}})),r.length&&(a.adVerifications=a.adVerifications.concat(r)),a}function I(e,t){const r=U(e,t),i=e.getAttribute(\"followAdditionalWrappers\"),a=e.getAttribute(\"allowMultipleAds\"),s=e.getAttribute(\"fallbackOnNoAd\");r.followAdditionalWrappers=!i||m.parseBoolean(i),r.allowMultipleAds=!!a&&m.parseBoolean(a),r.fallbackOnNoAd=s?m.parseBoolean(s):null;let n=m.childByName(e,\"VASTAdTagURI\");if(n?r.nextWrapperURL=m.parseNodeText(n):(n=m.childByName(e,\"VASTAdTagURL\"),n&&(r.nextWrapperURL=m.parseNodeText(m.childByName(n,\"URL\")))),r.creatives.forEach((e=>{if([\"linear\",\"nonlinear\"].includes(e.type)){if(e.trackingEvents){r.trackingEvents||(r.trackingEvents={}),r.trackingEvents[e.type]||(r.trackingEvents[e.type]={});for(const t in e.trackingEvents){const i=e.trackingEvents[t];Array.isArray(r.trackingEvents[e.type][t])||(r.trackingEvents[e.type][t]=[]),i.forEach((i=>{r.trackingEvents[e.type][t].push(i)}))}}e.videoClickTrackingURLTemplates&&(Array.isArray(r.videoClickTrackingURLTemplates)||(r.videoClickTrackingURLTemplates=[]),e.videoClickTrackingURLTemplates.forEach((e=>{r.videoClickTrackingURLTemplates.push(e)}))),e.videoClickThroughURLTemplate&&(r.videoClickThroughURLTemplate=e.videoClickThroughURLTemplate),e.videoCustomClickURLTemplates&&(Array.isArray(r.videoCustomClickURLTemplates)||(r.videoCustomClickURLTemplates=[]),e.videoCustomClickURLTemplates.forEach((e=>{r.videoCustomClickURLTemplates.push(e)})))}})),r.nextWrapperURL)return r}function x(e){const t=[];return e.forEach((e=>{const r={resource:null,vendor:null,browserOptional:!1,apiFramework:null,type:null,parameters:null,trackingEvents:{}},i=Array.from(e.childNodes);m.assignAttributes(e.attributes,r),i.forEach((e=>{let{nodeName:t,textContent:i,attributes:a}=e;switch(t){case\"JavaScriptResource\":case\"ExecutableResource\":r.resource=i.trim(),m.assignAttributes(a,r);break;case\"VerificationParameters\":r.parameters=i.trim()}}));const a=m.childByName(e,\"TrackingEvents\");a&&m.childrenByName(a,\"Tracking\").forEach((e=>{const t=e.getAttribute(\"event\"),i=m.parseNodeText(e);t&&i&&(Array.isArray(r.trackingEvents[t])||(r.trackingEvents[t]=[]),r.trackingEvents[t].push(i))})),t.push(r)})),t}class S{constructor(){this._handlers=[]}on(e,t){if(\"function\"!=typeof t)throw new TypeError(\"The handler argument must be of type Function. Received type \".concat(typeof t));if(!e)throw new TypeError(\"The event argument must be of type String. Received type \".concat(typeof e));return this._handlers.push({event:e,handler:t}),this}once(e,t){return this.on(e,function(e,t,r){const i={fired:!1,wrapFn:void 0};function a(){i.fired||(e.off(t,i.wrapFn),i.fired=!0,r.bind(e)(...arguments))}return i.wrapFn=a,a}(this,e,t))}off(e,t){return this._handlers=this._handlers.filter((r=>r.event!==e||r.handler!==t)),this}emit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];let a=!1;return this._handlers.forEach((t=>{\"*\"===t.event&&(a=!0,t.handler(e,...r)),t.event===e&&(a=!0,t.handler(...r))})),a}removeAllListeners(e){return e?(this._handlers=this._handlers.filter((t=>t.event!==e)),this):(this._handlers=[],this)}listenerCount(e){return this._handlers.filter((t=>t.event===e)).length}listeners(e){return this._handlers.reduce(((t,r)=>(r.event===e&&t.push(r.handler),t)),[])}eventNames(){return this._handlers.map((e=>e.event))}}let V=0,D=0;const O=(e,t)=>{if(!e||!t||e<=0||t<=0)return;D=(D*V+8*e/t)/++V},F={ERRORCODE:900,extensions:[]},P=\"VAST response version not supported\";class B extends S{constructor(){let{fetcher:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),this.maxWrapperDepth=null,this.rootErrorURLTemplates=[],this.errorURLTemplates=[],this.remainingAds=[],this.parsingOptions={},this.fetcher=e||null,this.keepFailedAdPod=!1}trackVastError(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),a=2;a<r;a++)i[a-2]=arguments[a];this.emit(\"VAST-error\",Object.assign({},F,t,...i)),u.track(e,t)}getErrorURLTemplates(){return this.rootErrorURLTemplates.concat(this.errorURLTemplates)}getEstimatedBitrate(){return D}initParsingStatus(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.maxWrapperDepth=e.wrapperLimit||10,this.parsingOptions={allowMultipleAds:e.allowMultipleAds},this.keepFailedAdPod=e.keepFailedAdPod||!1,this.rootURL=\"\",this.resetParsingStatus(),O(e.byteLength,e.requestDuration)}resetParsingStatus(){this.errorURLTemplates=[],this.rootErrorURLTemplates=[],this.vastVersion=null}getRemainingAds(e){if(0===this.remainingAds.length)return Promise.reject(new Error(\"No more ads are available for the given VAST\"));const t=e?this.remainingAds:[this.remainingAds.shift()];return this.errorURLTemplates=[],this.resolveAds(t,{wrapperDepth:0,url:this.rootURL}).then((e=>this.buildVASTResponse(e)))}parseVAST(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.initParsingStatus(t),t.isRootVAST=!0,this.parse(e,t).then((e=>this.buildVASTResponse(e)))}buildVASTResponse(e){const t=function(e){let{ads:t,errorURLTemplates:r,version:i}=e;return{ads:t||[],errorURLTemplates:r||[],version:i||null}}({ads:e,errorURLTemplates:this.getErrorURLTemplates(),version:this.vastVersion});return this.completeWrapperResolving(t),t}parseVastXml(e,t){let{isRootVAST:r=!1,url:i=null,wrapperDepth:a=0,allowMultipleAds:s,followAdditionalWrappers:n}=t;if(!e||!e.documentElement||\"VAST\"!==e.documentElement.nodeName){var o;this.emit(\"VAST-ad-parsed\",{type:\"ERROR\",url:i,wrapperDepth:a});const t=\"VideoAdServingTemplate\"===(null==e||null===(o=e.documentElement)||void 0===o?void 0:o.nodeName);throw new Error(t?P:\"Invalid VAST XMLDocument\")}const l=[],c=e.documentElement.childNodes,d=e.documentElement.getAttribute(\"version\");r&&d&&(this.vastVersion=d);for(const e in c){const t=c[e];if(\"Error\"===t.nodeName){const e=m.parseNodeText(t);r?this.rootErrorURLTemplates.push(e):this.errorURLTemplates.push(e)}else if(\"Ad\"===t.nodeName){if(this.vastVersion&&parseFloat(this.vastVersion)<3)s=!0;else if(!1===s&&l.length>1)break;const e=L(t,this.emit.bind(this),{allowMultipleAds:s,followAdditionalWrappers:n});e.ad?(l.push(e.ad),this.emit(\"VAST-ad-parsed\",{type:e.type,url:i,wrapperDepth:a,adIndex:l.length-1,vastVersion:d})):this.trackVastError(this.getErrorURLTemplates(),{ERRORCODE:101})}}return l}parse(e){let{url:t=null,resolveAll:r=!0,wrapperSequence:i=null,previousUrl:a=null,wrapperDepth:s=0,isRootVAST:n=!1,followAdditionalWrappers:o,allowMultipleAds:l}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=[];this.vastVersion&&parseFloat(this.vastVersion)<3&&n&&(l=!0);try{c=this.parseVastXml(e,{isRootVAST:n,url:t,wrapperDepth:s,allowMultipleAds:l,followAdditionalWrappers:o})}catch(e){return Promise.reject(e)}if(1===c.length&&null!=i&&(c[0].sequence=i),!1===r){const e=m.getSortedAdPods(c),t=m.getStandAloneAds(c);e.length?c=e:t.length&&(c=[t.shift()]),this.remainingAds=t}return this.resolveAds(c,{wrapperDepth:s,previousUrl:a,url:t})}resolveAds(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],{wrapperDepth:t,previousUrl:r,url:i}=arguments.length>1?arguments[1]:void 0;const a=[];return r=i,e.forEach((e=>{const i=this.resolveWrappers(e,t,r);a.push(i)})),Promise.all(a).then((e=>u.flatten(e)))}resolveWrappers(e,t,r){const i={...e};return new Promise((e=>{var a;if(t++,!i.nextWrapperURL)return delete i.nextWrapperURL,e(i);if(!this.fetcher)return i.VASTAdTagURI=i.nextWrapperURL,delete i.nextWrapperURL,e(i);if(t>=this.maxWrapperDepth)return i.errorCode=302,delete i.nextWrapperURL,e(i);i.nextWrapperURL=m.resolveVastAdTagURI(i.nextWrapperURL,r);const s=null!==(a=this.parsingOptions.allowMultipleAds)&&void 0!==a?a:i.allowMultipleAds,n=i.sequence;this.fetcher.fetchVAST({url:i.nextWrapperURL,emitter:this.emit.bind(this),maxWrapperDepth:this.maxWrapperDepth}).then((a=>this.parse(a,{url:i.nextWrapperURL,previousUrl:r,wrapperSequence:n,wrapperDepth:t,followAdditionalWrappers:i.followAdditionalWrappers,allowMultipleAds:s}).then((t=>{if(delete i.nextWrapperURL,0===t.length)return i.creatives=[],e(i);t.forEach((e=>{e&&m.mergeWrapperAdData(e,i)})),e(t)})))).catch((t=>{i.errorCode=t.message===P?102:301,i.errorMessage=t.message,e(i)}))}))}completeWrapperResolving(e){if(0===e.ads.length)this.trackVastError(e.errorURLTemplates,{ERRORCODE:303});else for(let t=e.ads.length-1;t>=0;t--){const r=e.ads[t],i=!r.creatives.some((e=>{var t,r;return(null===(t=e.mediaFiles)||void 0===t?void 0:t.length)>0||(null===(r=e.variations)||void 0===r?void 0:r.length)>0}));!r.errorCode&&!i||r.VASTAdTagURI||(this.trackVastError(r.errorURLTemplates.concat(e.errorURLTemplates),{ERRORCODE:r.errorCode||303},{ERRORMESSAGE:r.errorMessage||\"\"},{extensions:r.extensions},{system:r.system}),this.keepFailedAdPod&&r.sequence?r.hasFailed=!0:e.ads.splice(t,1))}}}let M=null;const W={data:{},length:0,getItem(e){return this.data[e]},setItem(e,t){this.data[e]=t,this.length=Object.keys(this.data).length},removeItem(e){delete this.data[e],this.length=Object.keys(this.data).length},clear(){this.data={},this.length=0}};class j{constructor(){this.storage=this.initStorage()}initStorage(){if(M)return M;try{M=\"undefined\"!=typeof window&&null!==window?window.localStorage||window.sessionStorage:null}catch(e){M=null}return M&&!this.isStorageDisabled(M)||(M=W,M.clear()),M}isStorageDisabled(e){const t=\"__VASTStorage__\";try{if(e.setItem(t,t),e.getItem(t)!==t)return e.removeItem(t),!0}catch(e){return!0}return e.removeItem(t),!1}getItem(e){return this.storage.getItem(e)}setItem(e,t){return this.storage.setItem(e,t)}removeItem(e){return this.storage.removeItem(e)}clear(){return this.storage.clear()}}const q=12e4;const K={get:async function(e,t){try{const r=new AbortController,i=setTimeout((()=>{throw r.abort(),new Error(\"URLHandler: Request timed out after \".concat(t.timeout||q,\" ms (408)\"))}),t.timeout||q),a=await fetch(e,{...t,signal:r.signal,credentials:t.withCredentials?\"include\":\"omit\"}).finally((()=>{clearTimeout(i)})),s=function(e){return u.isBrowserEnvironment()&&\"https:\"===window.location.protocol&&e.url.includes(\"http://\")?\"URLHandler: Cannot go from HTTPS to HTTP.\":200===e.status&&e.ok?null:\"URLHandler: \".concat(e.statusText,\" (\").concat(e.status,\")\")}(a);return s?{error:new Error(s),statusCode:a.status}:async function(e){const t=await e.text();let r;r=u.isBrowserEnvironment()?new DOMParser:new((await import(\"@xmldom/xmldom\")).DOMParser);return{xml:r.parseFromString(t,\"text/xml\"),details:{byteLength:t.length,statusCode:e.status,rawXml:t}}}(a)}catch(e){return{error:e,statusCode:\"AbortError\"===e.name?408:null}}}};class H{constructor(){this.URLTemplateFilters=[]}setOptions(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.urlHandler=e.urlHandler||e.urlhandler||K,this.fetchingOptions={...e.fetchOptions,timeout:e.timeout||q,withCredentials:Boolean(e.withCredentials)}}addURLTemplateFilter(e){\"function\"==typeof e&&this.URLTemplateFilters.push(e)}removeLastURLTemplateFilter(){this.URLTemplateFilters.pop()}countURLTemplateFilters(){return this.URLTemplateFilters.length}clearURLTemplateFilters(){this.URLTemplateFilters=[]}async fetchVAST(e){var t;let{url:r,maxWrapperDepth:i,emitter:a,wrapperDepth:s=0,previousUrl:n=null,wrapperAd:o=null}=e;const l=Date.now();this.URLTemplateFilters.forEach((e=>{r=e(r)})),a(\"VAST-resolving\",{url:r,previousUrl:n,wrapperDepth:s,maxWrapperDepth:i,timeout:this.fetchingOptions.timeout,wrapperAd:o});const c=await this.urlHandler.get(r,this.fetchingOptions),d=Math.round(Date.now()-l);if(a(\"VAST-resolved\",{url:r,previousUrl:n,wrapperDepth:s,error:(null==c?void 0:c.error)||null,duration:d,statusCode:(null==c?void 0:c.statusCode)||null,...null==c?void 0:c.details}),O(null==c||null===(t=c.details)||void 0===t?void 0:t.byteLength,d),c.error)throw new Error(c.error);return c.xml}}class _{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new j;this.cappingFreeLunch=e,this.cappingMinimumTimeInterval=t,this.fetcher=new H,this.vastParser=new B({fetcher:this.fetcher}),this.storage=r,void 0===this.lastSuccessfulAd&&(this.lastSuccessfulAd=0),void 0===this.totalCalls&&(this.totalCalls=0),void 0===this.totalCallsTimeout&&(this.totalCallsTimeout=0)}addURLTemplateFilter(e){this.fetcher.addURLTemplateFilter(e)}removeLastURLTemplateFilter(){this.fetcher.removeLastURLTemplateFilter()}countURLTemplateFilters(){return this.fetcher.countURLTemplateFilters()}clearURLTemplateFilters(){this.fetcher.clearURLTemplateFilters()}getParser(){return this.vastParser}get lastSuccessfulAd(){return this.storage.getItem(\"vast-client-last-successful-ad\")}set lastSuccessfulAd(e){this.storage.setItem(\"vast-client-last-successful-ad\",e)}get totalCalls(){return this.storage.getItem(\"vast-client-total-calls\")}set totalCalls(e){this.storage.setItem(\"vast-client-total-calls\",e)}get totalCallsTimeout(){return this.storage.getItem(\"vast-client-total-calls-timeout\")}set totalCallsTimeout(e){this.storage.setItem(\"vast-client-total-calls-timeout\",e)}hasRemainingAds(){return this.vastParser.remainingAds.length>0}getNextAds(e){return this.vastParser.getRemainingAds(e)}parseVAST(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.fetcher.setOptions(t),this.vastParser.parseVAST(e,t)}get(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Date.now();return t.hasOwnProperty(\"resolveAll\")||(t.resolveAll=!1),this.totalCallsTimeout<r?(this.totalCalls=1,this.totalCallsTimeout=r+36e5):this.totalCalls++,new Promise(((i,a)=>{if(this.cappingFreeLunch>=this.totalCalls)return a(new Error(\"VAST call canceled – FreeLunch capping not reached yet \".concat(this.totalCalls,\"/\").concat(this.cappingFreeLunch)));const s=r-this.lastSuccessfulAd;if(s<0)this.lastSuccessfulAd=0;else if(s<this.cappingMinimumTimeInterval)return a(new Error(\"VAST call canceled – (\".concat(this.cappingMinimumTimeInterval,\")ms minimum interval reached\")));this.vastParser.initParsingStatus(t),this.fetcher.setOptions(t),this.vastParser.rootURL=e,this.fetcher.fetchVAST({url:e,emitter:this.vastParser.emit.bind(this.vastParser),maxWrapperDepth:this.vastParser.maxWrapperDepth}).then((r=>(t.previousUrl=e,t.isRootVAST=!0,t.url=e,this.vastParser.parse(r,t).then((e=>{const t=this.vastParser.buildVASTResponse(e);i(t)}))))).catch((e=>a(e)))}))}}class z extends S{constructor(e,t,r){var i;let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];super(),this.ad=t,this.creative=r,this.variation=a,this.muted=s,this.impressed=!1,this.skippable=!1,this.trackingEvents={},this.trackedProgressEvents=[],this.lastPercentage=0,this._alreadyTriggeredQuartiles={},this.emitAlwaysEvents=[\"creativeView\",\"start\",\"firstQuartile\",\"midpoint\",\"thirdQuartile\",\"complete\",\"resume\",\"pause\",\"rewind\",\"skip\",\"closeLinear\",\"close\"];for(const e in this.creative.trackingEvents){const t=this.creative.trackingEvents[e];this.trackingEvents[e]=t.slice(0)}this.viewableImpressionTrackers=(null===(i=this.ad.viewableImpression)||void 0===i?void 0:i.reduce(((e,t)=>(e.notViewable.push(...t.notViewable),e.viewUndetermined.push(...t.viewUndetermined),e.viewable.push(...t.viewable),e)),{notViewable:[],viewUndetermined:[],viewable:[]}))||{},Object.entries(this.viewableImpressionTrackers).forEach((e=>{let[t,r]=e;r.length&&(this.trackingEvents[t]=r)})),!function(e){return\"linear\"===e.type}(this.creative)?this._initVariationTracking():this._initLinearTracking(),e&&this.on(\"start\",(()=>{e.lastSuccessfulAd=Date.now()}))}_initLinearTracking(){this.linear=!0,this.skipDelay=this.creative.skipDelay,this.setDuration(this.creative.duration),this.clickThroughURLTemplate=this.creative.videoClickThroughURLTemplate,this.clickTrackingURLTemplates=this.creative.videoClickTrackingURLTemplates}_initVariationTracking(){if(this.linear=!1,this.skipDelay=-1,this.variation){for(const e in this.variation.trackingEvents){const t=this.variation.trackingEvents[e];this.trackingEvents[e]?this.trackingEvents[e]=this.trackingEvents[e].concat(t.slice(0)):this.trackingEvents[e]=t.slice(0)}\"nonLinearAd\"===this.variation.adType?(this.clickThroughURLTemplate=this.variation.nonlinearClickThroughURLTemplate,this.clickTrackingURLTemplates=this.variation.nonlinearClickTrackingURLTemplates,this.setDuration(this.variation.minSuggestedDuration)):function(e){return\"companionAd\"===e.adType}(this.variation)&&(this.clickThroughURLTemplate=this.variation.companionClickThroughURLTemplate,this.clickTrackingURLTemplates=this.variation.companionClickTrackingURLTemplates)}}setDuration(e){u.isValidTimeValue(e)?(this.assetDuration=e,this.quartiles={firstQuartile:Math.round(25*this.assetDuration)/100,midpoint:Math.round(50*this.assetDuration)/100,thirdQuartile:Math.round(75*this.assetDuration)/100}):this.emit(\"TRACKER-error\",{message:\"the duration provided is not valid. duration: \".concat(e)})}setProgress(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!u.isValidTimeValue(e)||\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"One given setProgress parameter has the wrong type. progress: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))});const i=this.skipDelay||-1;if(-1===i||this.skippable||(i>e?this.emit(\"skip-countdown\",i-e):(this.skippable=!0,this.emit(\"skip-countdown\",0))),this.assetDuration>0){const i=Math.round(e/this.assetDuration*100),a=[];if(e>0){a.push(\"start\");for(let e=this.lastPercentage;e<i;e++)a.push(\"progress-\".concat(e+1,\"%\"));a.push(\"progress-\".concat(e));for(const t in this.quartiles)this.isQuartileReached(t,this.quartiles[t],e)&&(a.push(t),this._alreadyTriggeredQuartiles[t]=!0);this.lastPercentage=i}a.forEach((e=>{this.track(e,{macros:t,once:r})})),e<this.progress&&(this.track(\"rewind\",{macros:t}),this.trackedProgressEvents&&this.trackedProgressEvents.splice(0))}this.progress=e}isQuartileReached(e,t,r){let i=!1;return t<=r&&!this._alreadyTriggeredQuartiles[e]&&(i=!0),i}setMuted(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.muted!==e&&this.track(e?\"mute\":\"unmute\",{macros:t}),this.muted=e):this.emit(\"TRACKER-error\",{message:\"One given setMuted parameter has the wrong type. muted: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setPaused(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.paused!==e&&this.track(e?\"pause\":\"resume\",{macros:t}),this.paused=e):this.emit(\"TRACKER-error\",{message:\"One given setPaused parameter has the wrong type. paused: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setFullscreen(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.fullscreen!==e&&this.track(e?\"fullscreen\":\"exitFullscreen\",{macros:t}),this.fullscreen=e):this.emit(\"TRACKER-error\",{message:\"One given setFullScreen parameter has the wrong type. fullscreen: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setExpand(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.expanded!==e&&(this.track(e?\"expand\":\"collapse\",{macros:t}),this.track(e?\"playerExpand\":\"playerCollapse\",{macros:t})),this.expanded=e):this.emit(\"TRACKER-error\",{message:\"One given setExpand parameter has the wrong type. expanded: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setSkipDelay(e){u.isValidTimeValue(e)?this.skipDelay=e:this.emit(\"TRACKER-error\",{message:\"setSkipDelay parameter does not have a valid value. duration: \".concat(e)})}trackImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.impressed||(this.impressed=!0,this.trackURLs(this.ad.impressionURLTemplates,e),this.track(\"creativeView\",{macros:e})):this.emit(\"TRACKER-error\",{message:\"trackImpression parameter has the wrong type. macros: \".concat(e)})}trackViewableImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e?this.track(\"viewable\",{macros:e,once:t}):this.emit(\"TRACKER-error\",{message:\"trackViewableImpression given macros has the wrong type. macros: \".concat(e)})}trackNotViewableImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e?this.track(\"notViewable\",{macros:e,once:t}):this.emit(\"TRACKER-error\",{message:\"trackNotViewableImpression given macros has the wrong type. macros: \".concat(e)})}trackUndeterminedImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e?this.track(\"viewUndetermined\",{macros:e,once:t}):this.emit(\"TRACKER-error\",{message:\"trackUndeterminedImpression given macros has the wrong type. macros: \".concat(e)})}error(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e&&\"boolean\"==typeof t?this.trackURLs(this.ad.errorURLTemplates,e,{isCustomCode:t}):this.emit(\"TRACKER-error\",{message:\"One given error parameter has the wrong type. macros: \".concat(u.formatMacrosValues(e),\", isCustomCode: \").concat(t)})}errorWithCode(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"string\"==typeof e&&\"boolean\"==typeof t?(this.error({ERRORCODE:e},t),console.log(\"The method errorWithCode is deprecated, please use vast tracker error method instead\")):this.emit(\"TRACKER-error\",{message:\"One given errorWithCode parameter has the wrong type. errorCode: \".concat(e,\", isCustomCode: \").concat(t)})}complete(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"complete\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"complete given macros has the wrong type. macros: \".concat(e)})}notUsed(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?(this.track(\"notUsed\",{macros:e}),this.trackingEvents=[]):this.emit(\"TRACKER-error\",{message:\"notUsed given macros has the wrong type. macros: \".concat(e)})}otherAdInteraction(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"otherAdInteraction\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"otherAdInteraction given macros has the wrong type. macros: \".concat(e)})}acceptInvitation(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"acceptInvitation\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"acceptInvitation given macros has the wrong type. macros: \".concat(e)})}adExpand(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"adExpand\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"adExpand given macros has the wrong type. macros: \".concat(e)})}adCollapse(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"adCollapse\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"adCollapse given macros has the wrong type. macros: \".concat(e)})}minimize(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"minimize\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"minimize given macros has the wrong type. macros: \".concat(e)})}verificationNotExecuted(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(\"string\"!=typeof e||\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"One given verificationNotExecuted parameter has to wrong type. vendor: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))});if(!this.ad||!this.ad.adVerifications||!this.ad.adVerifications.length)throw new Error(\"No adVerifications provided\");if(!e)throw new Error(\"No vendor provided, unable to find associated verificationNotExecuted\");const r=this.ad.adVerifications.find((t=>t.vendor===e));if(!r)throw new Error(\"No associated verification element found for vendor: \".concat(e));const i=r.trackingEvents;if(i&&i.verificationNotExecuted){const e=i.verificationNotExecuted;this.trackURLs(e,t),this.emit(\"verificationNotExecuted\",{trackingURLTemplates:e})}}overlayViewDuration(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"string\"==typeof e&&\"object\"==typeof t?(t.ADPLAYHEAD=e,this.track(\"overlayViewDuration\",{macros:t})):this.emit(\"TRACKER-error\",{message:\"One given overlayViewDuration parameters has the wrong type. formattedDuration: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}close(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(this.linear?\"closeLinear\":\"close\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"close given macros has the wrong type. macros: \".concat(e)})}skip(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"skip\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"skip given macros has the wrong type. macros: \".concat(e)})}load(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"loaded\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"load given macros has the wrong type. macros: \".concat(e)})}click(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null!==e&&\"string\"!=typeof e||\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"One given click parameter has the wrong type. fallbackClickThroughURL: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))});this.clickTrackingURLTemplates&&this.clickTrackingURLTemplates.length&&this.trackURLs(this.clickTrackingURLTemplates,t);const r=this.clickThroughURLTemplate||e,i={...t};if(r){this.progress&&(i.ADPLAYHEAD=this.progressFormatted());const e=u.resolveURLTemplates([r],i)[0];this.emit(\"clickthrough\",e)}}trackProgressEvents(e,t,r){const i=parseFloat(e.split(\"-\")[1]);Object.entries(this.trackingEvents).filter((e=>{let[t]=e;return t.startsWith(\"progress-\")})).map((e=>{let[t,r]=e;return{name:t,time:parseFloat(t.split(\"-\")[1]),urls:r}})).filter((e=>{let{time:t}=e;return t<=i&&t>this.progress})).forEach((e=>{let{name:i,urls:a}=e;!r&&this.trackedProgressEvents.includes(i)||(this.emit(i,{trackingURLTemplates:a}),this.trackURLs(a,t),r?delete this.trackingEvents[i]:this.trackedProgressEvents.push(i))}))}track(e){let{macros:t={},once:r=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"track given macros has the wrong type. macros: \".concat(t)});\"closeLinear\"===e&&!this.trackingEvents[e]&&this.trackingEvents.close&&(e=\"close\"),e.startsWith(\"progress-\")&&!e.endsWith(\"%\")&&this.trackProgressEvents(e,t,r);const i=this.trackingEvents[e],a=this.emitAlwaysEvents.indexOf(e)>-1;i?(this.emit(e,{trackingURLTemplates:i}),this.trackURLs(i,t)):a&&this.emit(e,null),r&&(delete this.trackingEvents[e],a&&this.emitAlwaysEvents.splice(this.emitAlwaysEvents.indexOf(e),1))}trackURLs(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{validUrls:a,invalidUrls:s}=u.filterUrlTemplates(e);s.length&&this.emit(\"TRACKER-error\",{message:\"Provided urls are malformed. url: \".concat(s)});const n={...r};this.linear&&(this.creative&&this.creative.mediaFiles&&this.creative.mediaFiles[0]&&this.creative.mediaFiles[0].fileURL&&(n.ASSETURI=this.creative.mediaFiles[0].fileURL),this.progress&&(n.ADPLAYHEAD=this.progressFormatted())),null!==(t=this.creative)&&void 0!==t&&null!==(t=t.universalAdIds)&&void 0!==t&&t.length&&(n.UNIVERSALADID=this.creative.universalAdIds.map((e=>e.idRegistry.concat(\" \",e.value))).join(\",\")),this.ad&&(this.ad.sequence&&(n.PODSEQUENCE=this.ad.sequence),this.ad.adType&&(n.ADTYPE=this.ad.adType),this.ad.adServingId&&(n.ADSERVINGID=this.ad.adServingId),this.ad.categories&&this.ad.categories.length&&(n.ADCATEGORIES=this.ad.categories.map((e=>e.value)).join(\",\")),this.ad.blockedAdCategories&&this.ad.blockedAdCategories.length&&(n.BLOCKEDADCATEGORIES=this.ad.blockedAdCategories.map((e=>e.value)).join(\",\"))),u.track(a,n,i)}convertToTimecode(e){if(!u.isValidTimeValue(e))return\"\";const t=1e3*e,r=Math.floor(t/36e5),i=Math.floor(t/6e4%60),a=Math.floor(t/1e3%60),s=Math.floor(t%1e3);return\"\".concat(u.addLeadingZeros(r,2),\":\").concat(u.addLeadingZeros(i,2),\":\").concat(u.addLeadingZeros(a,2),\".\").concat(u.addLeadingZeros(s,3))}progressFormatted(){return this.convertToTimecode(this.progress)}}export{_ as VASTClient,B as VASTParser,z as VASTTracker,p as parseDuration};\n",null,null,null,null,"function t(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function e(t,e){for(var a=0;a<e.length;a++){var n=e[a];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function a(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),Object.defineProperty(t,\"prototype\",{writable:!1}),t}var n=a((function e(a){for(var n in t(this,e),this.id=a.getAttribute(\"id\"),this.allowMultipleAds=a.getAttribute(\"allowMultipleAds\"),this.followRedirects=a.getAttribute(\"followRedirects\"),this.vastAdData=null,this.adTagURI=null,this.customData=null,a.childNodes){var i=a.childNodes[n];switch(i.localName){case\"AdTagURI\":this.adTagURI={templateType:i.getAttribute(\"templateType\"),uri:(i.textContent||i.text||\"\").trim()};break;case\"VASTAdData\":for(this.vastAdData=i.firstChild;this.vastAdData&&1!==this.vastAdData.nodeType;)this.vastAdData=this.vastAdData.nextSibling;break;case\"CustomAdData\":this.customData=i}}}));function i(t,e){var a=[];for(var n in t.childNodes){var i=t.childNodes[n];i.nodeName!==e&&e!==\"vmap:\".concat(i.nodeName)&&i.nodeName!==\"vmap:\".concat(e)||a.push(i)}return a}function r(t){var e={attributes:{},children:{},value:{}};e.value=function(t){if(!t||!t.childNodes)return{};var e=t.childNodes,a=[];for(var n in e){var i=e[n];\"#cdata-section\"===i.nodeName&&a.push(i)}if(a&&a.length>0)try{return JSON.parse(a[0].data)}catch(t){}var r=\"\";for(var s in e){var o=e[s];switch(o.nodeName){case\"#text\":r+=o.textContent.trim();break;case\"#cdata-section\":r+=o.data}}return r}(t);var a=t.attributes;if(a)for(var n in a){var i=a[n];i.nodeName&&void 0!==i.nodeValue&&null!==i.nodeValue&&(e.attributes[i.nodeName]=i.nodeValue)}var s=t.childNodes;if(s)for(var o in s){var c=s[o];c.nodeName&&\"#\"!==c.nodeName.substring(0,1)&&(e.children[c.nodeName]=r(c))}return e}var s=function(){function e(a){for(var s in t(this,e),this.timeOffset=a.getAttribute(\"timeOffset\"),this.breakType=a.getAttribute(\"breakType\"),this.breakId=a.getAttribute(\"breakId\"),this.repeatAfter=a.getAttribute(\"repeatAfter\"),this.adSource=null,this.trackingEvents=[],this.extensions=[],a.childNodes){var o=a.childNodes[s];switch(o.localName){case\"AdSource\":this.adSource=new n(o);break;case\"TrackingEvents\":for(var c in o.childNodes){var d=o.childNodes[c];\"Tracking\"===d.localName&&this.trackingEvents.push({event:d.getAttribute(\"event\"),uri:(d.textContent||d.text||\"\").trim()})}break;case\"Extensions\":this.extensions=i(o,\"Extension\").map((function(t){return r(t)}))}}}return a(e,[{key:\"track\",value:function(t,e){for(var a in this.trackingEvents){var n=this.trackingEvents[a];if(n.event===t){var i=n.uri;\"error\"===n.event&&(i=i.replace(\"[ERRORCODE]\",e)),this.tracker(i)}}}},{key:\"tracker\",value:function(t){\"undefined\"!=typeof window&&null!==window&&((new Image).src=t)}}]),e}(),o=a((function e(a){if(t(this,e),!a||!a.documentElement||\"VMAP\"!==a.documentElement.localName)throw new Error(\"Not a VMAP document\");for(var n in this.version=a.documentElement.getAttribute(\"version\"),this.adBreaks=[],this.extensions=[],a.documentElement.childNodes){var o=a.documentElement.childNodes[n];switch(o.localName){case\"AdBreak\":this.adBreaks.push(new s(o));break;case\"Extensions\":this.extensions=i(o,\"Extension\").map((function(t){return r(t)}))}}}));export{o as default};\n",null,null,null,null,null,null,"'use strict'\n\n/**\n * Ponyfill for `Array.prototype.find` which is only available in ES6 runtimes.\n *\n * Works with anything that has a `length` property and index access properties, including NodeList.\n *\n * @template {unknown} T\n * @param {Array<T> | ({length:number, [number]: T})} list\n * @param {function (item: T, index: number, list:Array<T> | ({length:number, [number]: T})):boolean} predicate\n * @param {Partial<Pick<ArrayConstructor['prototype'], 'find'>>?} ac `Array.prototype` by default,\n * \t\t\t\tallows injecting a custom implementation in tests\n * @returns {T | undefined}\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find\n * @see https://tc39.es/ecma262/multipage/indexed-collections.html#sec-array.prototype.find\n */\nfunction find(list, predicate, ac) {\n\tif (ac === undefined) {\n\t\tac = Array.prototype;\n\t}\n\tif (list && typeof ac.find === 'function') {\n\t\treturn ac.find.call(list, predicate);\n\t}\n\tfor (var i = 0; i < list.length; i++) {\n\t\tif (Object.prototype.hasOwnProperty.call(list, i)) {\n\t\t\tvar item = list[i];\n\t\t\tif (predicate.call(undefined, item, i, list)) {\n\t\t\t\treturn item;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * \"Shallow freezes\" an object to render it immutable.\n * Uses `Object.freeze` if available,\n * otherwise the immutability is only in the type.\n *\n * Is used to create \"enum like\" objects.\n *\n * @template T\n * @param {T} object the object to freeze\n * @param {Pick<ObjectConstructor, 'freeze'> = Object} oc `Object` by default,\n * \t\t\t\tallows to inject custom object constructor for tests\n * @returns {Readonly<T>}\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze\n */\nfunction freeze(object, oc) {\n\tif (oc === undefined) {\n\t\toc = Object\n\t}\n\treturn oc && typeof oc.freeze === 'function' ? oc.freeze(object) : object\n}\n\n/**\n * Since we can not rely on `Object.assign` we provide a simplified version\n * that is sufficient for our needs.\n *\n * @param {Object} target\n * @param {Object | null | undefined} source\n *\n * @returns {Object} target\n * @throws TypeError if target is not an object\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n * @see https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-object.assign\n */\nfunction assign(target, source) {\n\tif (target === null || typeof target !== 'object') {\n\t\tthrow new TypeError('target is not an object')\n\t}\n\tfor (var key in source) {\n\t\tif (Object.prototype.hasOwnProperty.call(source, key)) {\n\t\t\ttarget[key] = source[key]\n\t\t}\n\t}\n\treturn target\n}\n\n/**\n * All mime types that are allowed as input to `DOMParser.parseFromString`\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString#Argument02 MDN\n * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#domparsersupportedtype WHATWG HTML Spec\n * @see DOMParser.prototype.parseFromString\n */\nvar MIME_TYPE = freeze({\n\t/**\n\t * `text/html`, the only mime type that triggers treating an XML document as HTML.\n\t *\n\t * @see DOMParser.SupportedType.isHTML\n\t * @see https://www.iana.org/assignments/media-types/text/html IANA MimeType registration\n\t * @see https://en.wikipedia.org/wiki/HTML Wikipedia\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString MDN\n\t * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring WHATWG HTML Spec\n\t */\n\tHTML: 'text/html',\n\n\t/**\n\t * Helper method to check a mime type if it indicates an HTML document\n\t *\n\t * @param {string} [value]\n\t * @returns {boolean}\n\t *\n\t * @see https://www.iana.org/assignments/media-types/text/html IANA MimeType registration\n\t * @see https://en.wikipedia.org/wiki/HTML Wikipedia\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString MDN\n\t * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring \t */\n\tisHTML: function (value) {\n\t\treturn value === MIME_TYPE.HTML\n\t},\n\n\t/**\n\t * `application/xml`, the standard mime type for XML documents.\n\t *\n\t * @see https://www.iana.org/assignments/media-types/application/xml IANA MimeType registration\n\t * @see https://tools.ietf.org/html/rfc7303#section-9.1 RFC 7303\n\t * @see https://en.wikipedia.org/wiki/XML_and_MIME Wikipedia\n\t */\n\tXML_APPLICATION: 'application/xml',\n\n\t/**\n\t * `text/html`, an alias for `application/xml`.\n\t *\n\t * @see https://tools.ietf.org/html/rfc7303#section-9.2 RFC 7303\n\t * @see https://www.iana.org/assignments/media-types/text/xml IANA MimeType registration\n\t * @see https://en.wikipedia.org/wiki/XML_and_MIME Wikipedia\n\t */\n\tXML_TEXT: 'text/xml',\n\n\t/**\n\t * `application/xhtml+xml`, indicates an XML document that has the default HTML namespace,\n\t * but is parsed as an XML document.\n\t *\n\t * @see https://www.iana.org/assignments/media-types/application/xhtml+xml IANA MimeType registration\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocument WHATWG DOM Spec\n\t * @see https://en.wikipedia.org/wiki/XHTML Wikipedia\n\t */\n\tXML_XHTML_APPLICATION: 'application/xhtml+xml',\n\n\t/**\n\t * `image/svg+xml`,\n\t *\n\t * @see https://www.iana.org/assignments/media-types/image/svg+xml IANA MimeType registration\n\t * @see https://www.w3.org/TR/SVG11/ W3C SVG 1.1\n\t * @see https://en.wikipedia.org/wiki/Scalable_Vector_Graphics Wikipedia\n\t */\n\tXML_SVG_IMAGE: 'image/svg+xml',\n})\n\n/**\n * Namespaces that are used in this code base.\n *\n * @see http://www.w3.org/TR/REC-xml-names\n */\nvar NAMESPACE = freeze({\n\t/**\n\t * The XHTML namespace.\n\t *\n\t * @see http://www.w3.org/1999/xhtml\n\t */\n\tHTML: 'http://www.w3.org/1999/xhtml',\n\n\t/**\n\t * Checks if `uri` equals `NAMESPACE.HTML`.\n\t *\n\t * @param {string} [uri]\n\t *\n\t * @see NAMESPACE.HTML\n\t */\n\tisHTML: function (uri) {\n\t\treturn uri === NAMESPACE.HTML\n\t},\n\n\t/**\n\t * The SVG namespace.\n\t *\n\t * @see http://www.w3.org/2000/svg\n\t */\n\tSVG: 'http://www.w3.org/2000/svg',\n\n\t/**\n\t * The `xml:` namespace.\n\t *\n\t * @see http://www.w3.org/XML/1998/namespace\n\t */\n\tXML: 'http://www.w3.org/XML/1998/namespace',\n\n\t/**\n\t * The `xmlns:` namespace\n\t *\n\t * @see https://www.w3.org/2000/xmlns/\n\t */\n\tXMLNS: 'http://www.w3.org/2000/xmlns/',\n})\n\nexports.assign = assign;\nexports.find = find;\nexports.freeze = freeze;\nexports.MIME_TYPE = MIME_TYPE;\nexports.NAMESPACE = NAMESPACE;\n","var conventions = require(\"./conventions\");\n\nvar find = conventions.find;\nvar NAMESPACE = conventions.NAMESPACE;\n\n/**\n * A prerequisite for `[].filter`, to drop elements that are empty\n * @param {string} input\n * @returns {boolean}\n */\nfunction notEmptyString (input) {\n\treturn input !== ''\n}\n/**\n * @see https://infra.spec.whatwg.org/#split-on-ascii-whitespace\n * @see https://infra.spec.whatwg.org/#ascii-whitespace\n *\n * @param {string} input\n * @returns {string[]} (can be empty)\n */\nfunction splitOnASCIIWhitespace(input) {\n\t// U+0009 TAB, U+000A LF, U+000C FF, U+000D CR, U+0020 SPACE\n\treturn input ? input.split(/[\\t\\n\\f\\r ]+/).filter(notEmptyString) : []\n}\n\n/**\n * Adds element as a key to current if it is not already present.\n *\n * @param {Record<string, boolean | undefined>} current\n * @param {string} element\n * @returns {Record<string, boolean | undefined>}\n */\nfunction orderedSetReducer (current, element) {\n\tif (!current.hasOwnProperty(element)) {\n\t\tcurrent[element] = true;\n\t}\n\treturn current;\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#ordered-set\n * @param {string} input\n * @returns {string[]}\n */\nfunction toOrderedSet(input) {\n\tif (!input) return [];\n\tvar list = splitOnASCIIWhitespace(input);\n\treturn Object.keys(list.reduce(orderedSetReducer, {}))\n}\n\n/**\n * Uses `list.indexOf` to implement something like `Array.prototype.includes`,\n * which we can not rely on being available.\n *\n * @param {any[]} list\n * @returns {function(any): boolean}\n */\nfunction arrayIncludes (list) {\n\treturn function(element) {\n\t\treturn list && list.indexOf(element) !== -1;\n\t}\n}\n\nfunction copy(src,dest){\n\tfor(var p in src){\n\t\tif (Object.prototype.hasOwnProperty.call(src, p)) {\n\t\t\tdest[p] = src[p];\n\t\t}\n\t}\n}\n\n/**\n^\\w+\\.prototype\\.([_\\w]+)\\s*=\\s*((?:.*\\{\\s*?[\\r\\n][\\s\\S]*?^})|\\S.*?(?=[;\\r\\n]));?\n^\\w+\\.prototype\\.([_\\w]+)\\s*=\\s*(\\S.*?(?=[;\\r\\n]));?\n */\nfunction _extends(Class,Super){\n\tvar pt = Class.prototype;\n\tif(!(pt instanceof Super)){\n\t\tfunction t(){};\n\t\tt.prototype = Super.prototype;\n\t\tt = new t();\n\t\tcopy(pt,t);\n\t\tClass.prototype = pt = t;\n\t}\n\tif(pt.constructor != Class){\n\t\tif(typeof Class != 'function'){\n\t\t\tconsole.error(\"unknown Class:\"+Class)\n\t\t}\n\t\tpt.constructor = Class\n\t}\n}\n\n// Node Types\nvar NodeType = {}\nvar ELEMENT_NODE = NodeType.ELEMENT_NODE = 1;\nvar ATTRIBUTE_NODE = NodeType.ATTRIBUTE_NODE = 2;\nvar TEXT_NODE = NodeType.TEXT_NODE = 3;\nvar CDATA_SECTION_NODE = NodeType.CDATA_SECTION_NODE = 4;\nvar ENTITY_REFERENCE_NODE = NodeType.ENTITY_REFERENCE_NODE = 5;\nvar ENTITY_NODE = NodeType.ENTITY_NODE = 6;\nvar PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7;\nvar COMMENT_NODE = NodeType.COMMENT_NODE = 8;\nvar DOCUMENT_NODE = NodeType.DOCUMENT_NODE = 9;\nvar DOCUMENT_TYPE_NODE = NodeType.DOCUMENT_TYPE_NODE = 10;\nvar DOCUMENT_FRAGMENT_NODE = NodeType.DOCUMENT_FRAGMENT_NODE = 11;\nvar NOTATION_NODE = NodeType.NOTATION_NODE = 12;\n\n// ExceptionCode\nvar ExceptionCode = {}\nvar ExceptionMessage = {};\nvar INDEX_SIZE_ERR = ExceptionCode.INDEX_SIZE_ERR = ((ExceptionMessage[1]=\"Index size error\"),1);\nvar DOMSTRING_SIZE_ERR = ExceptionCode.DOMSTRING_SIZE_ERR = ((ExceptionMessage[2]=\"DOMString size error\"),2);\nvar HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = ((ExceptionMessage[3]=\"Hierarchy request error\"),3);\nvar WRONG_DOCUMENT_ERR = ExceptionCode.WRONG_DOCUMENT_ERR = ((ExceptionMessage[4]=\"Wrong document\"),4);\nvar INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]=\"Invalid character\"),5);\nvar NO_DATA_ALLOWED_ERR = ExceptionCode.NO_DATA_ALLOWED_ERR = ((ExceptionMessage[6]=\"No data allowed\"),6);\nvar NO_MODIFICATION_ALLOWED_ERR = ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = ((ExceptionMessage[7]=\"No modification allowed\"),7);\nvar NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = ((ExceptionMessage[8]=\"Not found\"),8);\nvar NOT_SUPPORTED_ERR = ExceptionCode.NOT_SUPPORTED_ERR = ((ExceptionMessage[9]=\"Not supported\"),9);\nvar INUSE_ATTRIBUTE_ERR = ExceptionCode.INUSE_ATTRIBUTE_ERR = ((ExceptionMessage[10]=\"Attribute in use\"),10);\n//level2\nvar INVALID_STATE_ERR \t= ExceptionCode.INVALID_STATE_ERR \t= ((ExceptionMessage[11]=\"Invalid state\"),11);\nvar SYNTAX_ERR \t= ExceptionCode.SYNTAX_ERR \t= ((ExceptionMessage[12]=\"Syntax error\"),12);\nvar INVALID_MODIFICATION_ERR \t= ExceptionCode.INVALID_MODIFICATION_ERR \t= ((ExceptionMessage[13]=\"Invalid modification\"),13);\nvar NAMESPACE_ERR \t= ExceptionCode.NAMESPACE_ERR \t= ((ExceptionMessage[14]=\"Invalid namespace\"),14);\nvar INVALID_ACCESS_ERR \t= ExceptionCode.INVALID_ACCESS_ERR \t= ((ExceptionMessage[15]=\"Invalid access\"),15);\n\n/**\n * DOM Level 2\n * Object DOMException\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html\n * @see http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html\n */\nfunction DOMException(code, message) {\n\tif(message instanceof Error){\n\t\tvar error = message;\n\t}else{\n\t\terror = this;\n\t\tError.call(this, ExceptionMessage[code]);\n\t\tthis.message = ExceptionMessage[code];\n\t\tif(Error.captureStackTrace) Error.captureStackTrace(this, DOMException);\n\t}\n\terror.code = code;\n\tif(message) this.message = this.message + \": \" + message;\n\treturn error;\n};\nDOMException.prototype = Error.prototype;\ncopy(ExceptionCode,DOMException)\n\n/**\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177\n * The NodeList interface provides the abstraction of an ordered collection of nodes, without defining or constraining how this collection is implemented. NodeList objects in the DOM are live.\n * The items in the NodeList are accessible via an integral index, starting from 0.\n */\nfunction NodeList() {\n};\nNodeList.prototype = {\n\t/**\n\t * The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive.\n\t * @standard level1\n\t */\n\tlength:0,\n\t/**\n\t * Returns the indexth item in the collection. If index is greater than or equal to the number of nodes in the list, this returns null.\n\t * @standard level1\n\t * @param index unsigned long\n\t * Index into the collection.\n\t * @return Node\n\t * \tThe node at the indexth position in the NodeList, or null if that is not a valid index.\n\t */\n\titem: function(index) {\n\t\treturn index >= 0 && index < this.length ? this[index] : null;\n\t},\n\ttoString:function(isHTML,nodeFilter){\n\t\tfor(var buf = [], i = 0;i<this.length;i++){\n\t\t\tserializeToString(this[i],buf,isHTML,nodeFilter);\n\t\t}\n\t\treturn buf.join('');\n\t},\n\t/**\n\t * @private\n\t * @param {function (Node):boolean} predicate\n\t * @returns {Node[]}\n\t */\n\tfilter: function (predicate) {\n\t\treturn Array.prototype.filter.call(this, predicate);\n\t},\n\t/**\n\t * @private\n\t * @param {Node} item\n\t * @returns {number}\n\t */\n\tindexOf: function (item) {\n\t\treturn Array.prototype.indexOf.call(this, item);\n\t},\n};\n\nfunction LiveNodeList(node,refresh){\n\tthis._node = node;\n\tthis._refresh = refresh\n\t_updateLiveList(this);\n}\nfunction _updateLiveList(list){\n\tvar inc = list._node._inc || list._node.ownerDocument._inc;\n\tif (list._inc !== inc) {\n\t\tvar ls = list._refresh(list._node);\n\t\t__set__(list,'length',ls.length);\n\t\tif (!list.$$length || ls.length < list.$$length) {\n\t\t\tfor (var i = ls.length; i in list; i++) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(list, i)) {\n\t\t\t\t\tdelete list[i];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tcopy(ls,list);\n\t\tlist._inc = inc;\n\t}\n}\nLiveNodeList.prototype.item = function(i){\n\t_updateLiveList(this);\n\treturn this[i] || null;\n}\n\n_extends(LiveNodeList,NodeList);\n\n/**\n * Objects implementing the NamedNodeMap interface are used\n * to represent collections of nodes that can be accessed by name.\n * Note that NamedNodeMap does not inherit from NodeList;\n * NamedNodeMaps are not maintained in any particular order.\n * Objects contained in an object implementing NamedNodeMap may also be accessed by an ordinal index,\n * but this is simply to allow convenient enumeration of the contents of a NamedNodeMap,\n * and does not imply that the DOM specifies an order to these Nodes.\n * NamedNodeMap objects in the DOM are live.\n * used for attributes or DocumentType entities\n */\nfunction NamedNodeMap() {\n};\n\nfunction _findNodeIndex(list,node){\n\tvar i = list.length;\n\twhile(i--){\n\t\tif(list[i] === node){return i}\n\t}\n}\n\nfunction _addNamedNode(el,list,newAttr,oldAttr){\n\tif(oldAttr){\n\t\tlist[_findNodeIndex(list,oldAttr)] = newAttr;\n\t}else{\n\t\tlist[list.length++] = newAttr;\n\t}\n\tif(el){\n\t\tnewAttr.ownerElement = el;\n\t\tvar doc = el.ownerDocument;\n\t\tif(doc){\n\t\t\toldAttr && _onRemoveAttribute(doc,el,oldAttr);\n\t\t\t_onAddAttribute(doc,el,newAttr);\n\t\t}\n\t}\n}\nfunction _removeNamedNode(el,list,attr){\n\t//console.log('remove attr:'+attr)\n\tvar i = _findNodeIndex(list,attr);\n\tif(i>=0){\n\t\tvar lastIndex = list.length-1\n\t\twhile(i<lastIndex){\n\t\t\tlist[i] = list[++i]\n\t\t}\n\t\tlist.length = lastIndex;\n\t\tif(el){\n\t\t\tvar doc = el.ownerDocument;\n\t\t\tif(doc){\n\t\t\t\t_onRemoveAttribute(doc,el,attr);\n\t\t\t\tattr.ownerElement = null;\n\t\t\t}\n\t\t}\n\t}else{\n\t\tthrow new DOMException(NOT_FOUND_ERR,new Error(el.tagName+'@'+attr))\n\t}\n}\nNamedNodeMap.prototype = {\n\tlength:0,\n\titem:NodeList.prototype.item,\n\tgetNamedItem: function(key) {\n//\t\tif(key.indexOf(':')>0 || key == 'xmlns'){\n//\t\t\treturn null;\n//\t\t}\n\t\t//console.log()\n\t\tvar i = this.length;\n\t\twhile(i--){\n\t\t\tvar attr = this[i];\n\t\t\t//console.log(attr.nodeName,key)\n\t\t\tif(attr.nodeName == key){\n\t\t\t\treturn attr;\n\t\t\t}\n\t\t}\n\t},\n\tsetNamedItem: function(attr) {\n\t\tvar el = attr.ownerElement;\n\t\tif(el && el!=this._ownerElement){\n\t\t\tthrow new DOMException(INUSE_ATTRIBUTE_ERR);\n\t\t}\n\t\tvar oldAttr = this.getNamedItem(attr.nodeName);\n\t\t_addNamedNode(this._ownerElement,this,attr,oldAttr);\n\t\treturn oldAttr;\n\t},\n\t/* returns Node */\n\tsetNamedItemNS: function(attr) {// raises: WRONG_DOCUMENT_ERR,NO_MODIFICATION_ALLOWED_ERR,INUSE_ATTRIBUTE_ERR\n\t\tvar el = attr.ownerElement, oldAttr;\n\t\tif(el && el!=this._ownerElement){\n\t\t\tthrow new DOMException(INUSE_ATTRIBUTE_ERR);\n\t\t}\n\t\toldAttr = this.getNamedItemNS(attr.namespaceURI,attr.localName);\n\t\t_addNamedNode(this._ownerElement,this,attr,oldAttr);\n\t\treturn oldAttr;\n\t},\n\n\t/* returns Node */\n\tremoveNamedItem: function(key) {\n\t\tvar attr = this.getNamedItem(key);\n\t\t_removeNamedNode(this._ownerElement,this,attr);\n\t\treturn attr;\n\n\n\t},// raises: NOT_FOUND_ERR,NO_MODIFICATION_ALLOWED_ERR\n\n\t//for level2\n\tremoveNamedItemNS:function(namespaceURI,localName){\n\t\tvar attr = this.getNamedItemNS(namespaceURI,localName);\n\t\t_removeNamedNode(this._ownerElement,this,attr);\n\t\treturn attr;\n\t},\n\tgetNamedItemNS: function(namespaceURI, localName) {\n\t\tvar i = this.length;\n\t\twhile(i--){\n\t\t\tvar node = this[i];\n\t\t\tif(node.localName == localName && node.namespaceURI == namespaceURI){\n\t\t\t\treturn node;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n};\n\n/**\n * The DOMImplementation interface represents an object providing methods\n * which are not dependent on any particular document.\n * Such an object is returned by the `Document.implementation` property.\n *\n * __The individual methods describe the differences compared to the specs.__\n *\n * @constructor\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation MDN\n * @see https://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-102161490 DOM Level 1 Core (Initial)\n * @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-102161490 DOM Level 2 Core\n * @see https://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-102161490 DOM Level 3 Core\n * @see https://dom.spec.whatwg.org/#domimplementation DOM Living Standard\n */\nfunction DOMImplementation() {\n}\n\nDOMImplementation.prototype = {\n\t/**\n\t * The DOMImplementation.hasFeature() method returns a Boolean flag indicating if a given feature is supported.\n\t * The different implementations fairly diverged in what kind of features were reported.\n\t * The latest version of the spec settled to force this method to always return true, where the functionality was accurate and in use.\n\t *\n\t * @deprecated It is deprecated and modern browsers return true in all cases.\n\t *\n\t * @param {string} feature\n\t * @param {string} [version]\n\t * @returns {boolean} always true\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/hasFeature MDN\n\t * @see https://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-5CED94D7 DOM Level 1 Core\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-hasfeature DOM Living Standard\n\t */\n\thasFeature: function(feature, version) {\n\t\t\treturn true;\n\t},\n\t/**\n\t * Creates an XML Document object of the specified type with its document element.\n\t *\n\t * __It behaves slightly different from the description in the living standard__:\n\t * - There is no interface/class `XMLDocument`, it returns a `Document` instance.\n\t * - `contentType`, `encoding`, `mode`, `origin`, `url` fields are currently not declared.\n\t * - this implementation is not validating names or qualified names\n\t * (when parsing XML strings, the SAX parser takes care of that)\n\t *\n\t * @param {string|null} namespaceURI\n\t * @param {string} qualifiedName\n\t * @param {DocumentType=null} doctype\n\t * @returns {Document}\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/createDocument MDN\n\t * @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#Level-2-Core-DOM-createDocument DOM Level 2 Core (initial)\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocument DOM Level 2 Core\n\t *\n\t * @see https://dom.spec.whatwg.org/#validate-and-extract DOM: Validate and extract\n\t * @see https://www.w3.org/TR/xml/#NT-NameStartChar XML Spec: Names\n\t * @see https://www.w3.org/TR/xml-names/#ns-qualnames XML Namespaces: Qualified names\n\t */\n\tcreateDocument: function(namespaceURI, qualifiedName, doctype){\n\t\tvar doc = new Document();\n\t\tdoc.implementation = this;\n\t\tdoc.childNodes = new NodeList();\n\t\tdoc.doctype = doctype || null;\n\t\tif (doctype){\n\t\t\tdoc.appendChild(doctype);\n\t\t}\n\t\tif (qualifiedName){\n\t\t\tvar root = doc.createElementNS(namespaceURI, qualifiedName);\n\t\t\tdoc.appendChild(root);\n\t\t}\n\t\treturn doc;\n\t},\n\t/**\n\t * Returns a doctype, with the given `qualifiedName`, `publicId`, and `systemId`.\n\t *\n\t * __This behavior is slightly different from the in the specs__:\n\t * - this implementation is not validating names or qualified names\n\t * (when parsing XML strings, the SAX parser takes care of that)\n\t *\n\t * @param {string} qualifiedName\n\t * @param {string} [publicId]\n\t * @param {string} [systemId]\n\t * @returns {DocumentType} which can either be used with `DOMImplementation.createDocument` upon document creation\n\t * \t\t\t\t or can be put into the document via methods like `Node.insertBefore()` or `Node.replaceChild()`\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/createDocumentType MDN\n\t * @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#Level-2-Core-DOM-createDocType DOM Level 2 Core\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocumenttype DOM Living Standard\n\t *\n\t * @see https://dom.spec.whatwg.org/#validate-and-extract DOM: Validate and extract\n\t * @see https://www.w3.org/TR/xml/#NT-NameStartChar XML Spec: Names\n\t * @see https://www.w3.org/TR/xml-names/#ns-qualnames XML Namespaces: Qualified names\n\t */\n\tcreateDocumentType: function(qualifiedName, publicId, systemId){\n\t\tvar node = new DocumentType();\n\t\tnode.name = qualifiedName;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.publicId = publicId || '';\n\t\tnode.systemId = systemId || '';\n\n\t\treturn node;\n\t}\n};\n\n\n/**\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247\n */\n\nfunction Node() {\n};\n\nNode.prototype = {\n\tfirstChild : null,\n\tlastChild : null,\n\tpreviousSibling : null,\n\tnextSibling : null,\n\tattributes : null,\n\tparentNode : null,\n\tchildNodes : null,\n\townerDocument : null,\n\tnodeValue : null,\n\tnamespaceURI : null,\n\tprefix : null,\n\tlocalName : null,\n\t// Modified in DOM Level 2:\n\tinsertBefore:function(newChild, refChild){//raises\n\t\treturn _insertBefore(this,newChild,refChild);\n\t},\n\treplaceChild:function(newChild, oldChild){//raises\n\t\t_insertBefore(this, newChild,oldChild, assertPreReplacementValidityInDocument);\n\t\tif(oldChild){\n\t\t\tthis.removeChild(oldChild);\n\t\t}\n\t},\n\tremoveChild:function(oldChild){\n\t\treturn _removeChild(this,oldChild);\n\t},\n\tappendChild:function(newChild){\n\t\treturn this.insertBefore(newChild,null);\n\t},\n\thasChildNodes:function(){\n\t\treturn this.firstChild != null;\n\t},\n\tcloneNode:function(deep){\n\t\treturn cloneNode(this.ownerDocument||this,this,deep);\n\t},\n\t// Modified in DOM Level 2:\n\tnormalize:function(){\n\t\tvar child = this.firstChild;\n\t\twhile(child){\n\t\t\tvar next = child.nextSibling;\n\t\t\tif(next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE){\n\t\t\t\tthis.removeChild(next);\n\t\t\t\tchild.appendData(next.data);\n\t\t\t}else{\n\t\t\t\tchild.normalize();\n\t\t\t\tchild = next;\n\t\t\t}\n\t\t}\n\t},\n \t// Introduced in DOM Level 2:\n\tisSupported:function(feature, version){\n\t\treturn this.ownerDocument.implementation.hasFeature(feature,version);\n\t},\n // Introduced in DOM Level 2:\n hasAttributes:function(){\n \treturn this.attributes.length>0;\n },\n\t/**\n\t * Look up the prefix associated to the given namespace URI, starting from this node.\n\t * **The default namespace declarations are ignored by this method.**\n\t * See Namespace Prefix Lookup for details on the algorithm used by this method.\n\t *\n\t * _Note: The implementation seems to be incomplete when compared to the algorithm described in the specs._\n\t *\n\t * @param {string | null} namespaceURI\n\t * @returns {string | null}\n\t * @see https://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespacePrefix\n\t * @see https://www.w3.org/TR/DOM-Level-3-Core/namespaces-algorithms.html#lookupNamespacePrefixAlgo\n\t * @see https://dom.spec.whatwg.org/#dom-node-lookupprefix\n\t * @see https://github.com/xmldom/xmldom/issues/322\n\t */\n lookupPrefix:function(namespaceURI){\n \tvar el = this;\n \twhile(el){\n \t\tvar map = el._nsMap;\n \t\t//console.dir(map)\n \t\tif(map){\n \t\t\tfor(var n in map){\n\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(map, n) && map[n] === namespaceURI) {\n\t\t\t\t\t\t\treturn n;\n\t\t\t\t\t\t}\n \t\t\t}\n \t\t}\n \t\tel = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;\n \t}\n \treturn null;\n },\n // Introduced in DOM Level 3:\n lookupNamespaceURI:function(prefix){\n \tvar el = this;\n \twhile(el){\n \t\tvar map = el._nsMap;\n \t\t//console.dir(map)\n \t\tif(map){\n \t\t\tif(Object.prototype.hasOwnProperty.call(map, prefix)){\n \t\t\t\treturn map[prefix] ;\n \t\t\t}\n \t\t}\n \t\tel = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;\n \t}\n \treturn null;\n },\n // Introduced in DOM Level 3:\n isDefaultNamespace:function(namespaceURI){\n \tvar prefix = this.lookupPrefix(namespaceURI);\n \treturn prefix == null;\n }\n};\n\n\nfunction _xmlEncoder(c){\n\treturn c == '<' && '<' ||\n c == '>' && '>' ||\n c == '&' && '&' ||\n c == '\"' && '"' ||\n '&#'+c.charCodeAt()+';'\n}\n\n\ncopy(NodeType,Node);\ncopy(NodeType,Node.prototype);\n\n/**\n * @param callback return true for continue,false for break\n * @return boolean true: break visit;\n */\nfunction _visitNode(node,callback){\n\tif(callback(node)){\n\t\treturn true;\n\t}\n\tif(node = node.firstChild){\n\t\tdo{\n\t\t\tif(_visitNode(node,callback)){return true}\n }while(node=node.nextSibling)\n }\n}\n\n\n\nfunction Document(){\n\tthis.ownerDocument = this;\n}\n\nfunction _onAddAttribute(doc,el,newAttr){\n\tdoc && doc._inc++;\n\tvar ns = newAttr.namespaceURI ;\n\tif(ns === NAMESPACE.XMLNS){\n\t\t//update namespace\n\t\tel._nsMap[newAttr.prefix?newAttr.localName:''] = newAttr.value\n\t}\n}\n\nfunction _onRemoveAttribute(doc,el,newAttr,remove){\n\tdoc && doc._inc++;\n\tvar ns = newAttr.namespaceURI ;\n\tif(ns === NAMESPACE.XMLNS){\n\t\t//update namespace\n\t\tdelete el._nsMap[newAttr.prefix?newAttr.localName:'']\n\t}\n}\n\n/**\n * Updates `el.childNodes`, updating the indexed items and it's `length`.\n * Passing `newChild` means it will be appended.\n * Otherwise it's assumed that an item has been removed,\n * and `el.firstNode` and it's `.nextSibling` are used\n * to walk the current list of child nodes.\n *\n * @param {Document} doc\n * @param {Node} el\n * @param {Node} [newChild]\n * @private\n */\nfunction _onUpdateChild (doc, el, newChild) {\n\tif(doc && doc._inc){\n\t\tdoc._inc++;\n\t\t//update childNodes\n\t\tvar cs = el.childNodes;\n\t\tif (newChild) {\n\t\t\tcs[cs.length++] = newChild;\n\t\t} else {\n\t\t\tvar child = el.firstChild;\n\t\t\tvar i = 0;\n\t\t\twhile (child) {\n\t\t\t\tcs[i++] = child;\n\t\t\t\tchild = child.nextSibling;\n\t\t\t}\n\t\t\tcs.length = i;\n\t\t\tdelete cs[cs.length];\n\t\t}\n\t}\n}\n\n/**\n * Removes the connections between `parentNode` and `child`\n * and any existing `child.previousSibling` or `child.nextSibling`.\n *\n * @see https://github.com/xmldom/xmldom/issues/135\n * @see https://github.com/xmldom/xmldom/issues/145\n *\n * @param {Node} parentNode\n * @param {Node} child\n * @returns {Node} the child that was removed.\n * @private\n */\nfunction _removeChild (parentNode, child) {\n\tvar previous = child.previousSibling;\n\tvar next = child.nextSibling;\n\tif (previous) {\n\t\tprevious.nextSibling = next;\n\t} else {\n\t\tparentNode.firstChild = next;\n\t}\n\tif (next) {\n\t\tnext.previousSibling = previous;\n\t} else {\n\t\tparentNode.lastChild = previous;\n\t}\n\tchild.parentNode = null;\n\tchild.previousSibling = null;\n\tchild.nextSibling = null;\n\t_onUpdateChild(parentNode.ownerDocument, parentNode);\n\treturn child;\n}\n\n/**\n * Returns `true` if `node` can be a parent for insertion.\n * @param {Node} node\n * @returns {boolean}\n */\nfunction hasValidParentNodeType(node) {\n\treturn (\n\t\tnode &&\n\t\t(node.nodeType === Node.DOCUMENT_NODE || node.nodeType === Node.DOCUMENT_FRAGMENT_NODE || node.nodeType === Node.ELEMENT_NODE)\n\t);\n}\n\n/**\n * Returns `true` if `node` can be inserted according to it's `nodeType`.\n * @param {Node} node\n * @returns {boolean}\n */\nfunction hasInsertableNodeType(node) {\n\treturn (\n\t\tnode &&\n\t\t(isElementNode(node) ||\n\t\t\tisTextNode(node) ||\n\t\t\tisDocTypeNode(node) ||\n\t\t\tnode.nodeType === Node.DOCUMENT_FRAGMENT_NODE ||\n\t\t\tnode.nodeType === Node.COMMENT_NODE ||\n\t\t\tnode.nodeType === Node.PROCESSING_INSTRUCTION_NODE)\n\t);\n}\n\n/**\n * Returns true if `node` is a DOCTYPE node\n * @param {Node} node\n * @returns {boolean}\n */\nfunction isDocTypeNode(node) {\n\treturn node && node.nodeType === Node.DOCUMENT_TYPE_NODE;\n}\n\n/**\n * Returns true if the node is an element\n * @param {Node} node\n * @returns {boolean}\n */\nfunction isElementNode(node) {\n\treturn node && node.nodeType === Node.ELEMENT_NODE;\n}\n/**\n * Returns true if `node` is a text node\n * @param {Node} node\n * @returns {boolean}\n */\nfunction isTextNode(node) {\n\treturn node && node.nodeType === Node.TEXT_NODE;\n}\n\n/**\n * Check if en element node can be inserted before `child`, or at the end if child is falsy,\n * according to the presence and position of a doctype node on the same level.\n *\n * @param {Document} doc The document node\n * @param {Node} child the node that would become the nextSibling if the element would be inserted\n * @returns {boolean} `true` if an element can be inserted before child\n * @private\n * https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n */\nfunction isElementInsertionPossible(doc, child) {\n\tvar parentChildNodes = doc.childNodes || [];\n\tif (find(parentChildNodes, isElementNode) || isDocTypeNode(child)) {\n\t\treturn false;\n\t}\n\tvar docTypeNode = find(parentChildNodes, isDocTypeNode);\n\treturn !(child && docTypeNode && parentChildNodes.indexOf(docTypeNode) > parentChildNodes.indexOf(child));\n}\n\n/**\n * Check if en element node can be inserted before `child`, or at the end if child is falsy,\n * according to the presence and position of a doctype node on the same level.\n *\n * @param {Node} doc The document node\n * @param {Node} child the node that would become the nextSibling if the element would be inserted\n * @returns {boolean} `true` if an element can be inserted before child\n * @private\n * https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n */\nfunction isElementReplacementPossible(doc, child) {\n\tvar parentChildNodes = doc.childNodes || [];\n\n\tfunction hasElementChildThatIsNotChild(node) {\n\t\treturn isElementNode(node) && node !== child;\n\t}\n\n\tif (find(parentChildNodes, hasElementChildThatIsNotChild)) {\n\t\treturn false;\n\t}\n\tvar docTypeNode = find(parentChildNodes, isDocTypeNode);\n\treturn !(child && docTypeNode && parentChildNodes.indexOf(docTypeNode) > parentChildNodes.indexOf(child));\n}\n\n/**\n * @private\n * Steps 1-5 of the checks before inserting and before replacing a child are the same.\n *\n * @param {Node} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node=} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n * @see https://dom.spec.whatwg.org/#concept-node-replace\n */\nfunction assertPreInsertionValidity1to5(parent, node, child) {\n\t// 1. If `parent` is not a Document, DocumentFragment, or Element node, then throw a \"HierarchyRequestError\" DOMException.\n\tif (!hasValidParentNodeType(parent)) {\n\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Unexpected parent node type ' + parent.nodeType);\n\t}\n\t// 2. If `node` is a host-including inclusive ancestor of `parent`, then throw a \"HierarchyRequestError\" DOMException.\n\t// not implemented!\n\t// 3. If `child` is non-null and its parent is not `parent`, then throw a \"NotFoundError\" DOMException.\n\tif (child && child.parentNode !== parent) {\n\t\tthrow new DOMException(NOT_FOUND_ERR, 'child not in parent');\n\t}\n\tif (\n\t\t// 4. If `node` is not a DocumentFragment, DocumentType, Element, or CharacterData node, then throw a \"HierarchyRequestError\" DOMException.\n\t\t!hasInsertableNodeType(node) ||\n\t\t// 5. If either `node` is a Text node and `parent` is a document,\n\t\t// the sax parser currently adds top level text nodes, this will be fixed in 0.9.0\n\t\t// || (node.nodeType === Node.TEXT_NODE && parent.nodeType === Node.DOCUMENT_NODE)\n\t\t// or `node` is a doctype and `parent` is not a document, then throw a \"HierarchyRequestError\" DOMException.\n\t\t(isDocTypeNode(node) && parent.nodeType !== Node.DOCUMENT_NODE)\n\t) {\n\t\tthrow new DOMException(\n\t\t\tHIERARCHY_REQUEST_ERR,\n\t\t\t'Unexpected node type ' + node.nodeType + ' for parent node type ' + parent.nodeType\n\t\t);\n\t}\n}\n\n/**\n * @private\n * Step 6 of the checks before inserting and before replacing a child are different.\n *\n * @param {Document} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node | undefined} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n * @see https://dom.spec.whatwg.org/#concept-node-replace\n */\nfunction assertPreInsertionValidityInDocument(parent, node, child) {\n\tvar parentChildNodes = parent.childNodes || [];\n\tvar nodeChildNodes = node.childNodes || [];\n\n\t// DocumentFragment\n\tif (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n\t\tvar nodeChildElements = nodeChildNodes.filter(isElementNode);\n\t\t// If node has more than one element child or has a Text node child.\n\t\tif (nodeChildElements.length > 1 || find(nodeChildNodes, isTextNode)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'More than one element or text in fragment');\n\t\t}\n\t\t// Otherwise, if `node` has one element child and either `parent` has an element child,\n\t\t// `child` is a doctype, or `child` is non-null and a doctype is following `child`.\n\t\tif (nodeChildElements.length === 1 && !isElementInsertionPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Element in fragment can not be inserted before doctype');\n\t\t}\n\t}\n\t// Element\n\tif (isElementNode(node)) {\n\t\t// `parent` has an element child, `child` is a doctype,\n\t\t// or `child` is non-null and a doctype is following `child`.\n\t\tif (!isElementInsertionPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one element can be added and only after doctype');\n\t\t}\n\t}\n\t// DocumentType\n\tif (isDocTypeNode(node)) {\n\t\t// `parent` has a doctype child,\n\t\tif (find(parentChildNodes, isDocTypeNode)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one doctype is allowed');\n\t\t}\n\t\tvar parentElementChild = find(parentChildNodes, isElementNode);\n\t\t// `child` is non-null and an element is preceding `child`,\n\t\tif (child && parentChildNodes.indexOf(parentElementChild) < parentChildNodes.indexOf(child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Doctype can only be inserted before an element');\n\t\t}\n\t\t// or `child` is null and `parent` has an element child.\n\t\tif (!child && parentElementChild) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Doctype can not be appended since element is present');\n\t\t}\n\t}\n}\n\n/**\n * @private\n * Step 6 of the checks before inserting and before replacing a child are different.\n *\n * @param {Document} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node | undefined} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n * @see https://dom.spec.whatwg.org/#concept-node-replace\n */\nfunction assertPreReplacementValidityInDocument(parent, node, child) {\n\tvar parentChildNodes = parent.childNodes || [];\n\tvar nodeChildNodes = node.childNodes || [];\n\n\t// DocumentFragment\n\tif (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n\t\tvar nodeChildElements = nodeChildNodes.filter(isElementNode);\n\t\t// If `node` has more than one element child or has a Text node child.\n\t\tif (nodeChildElements.length > 1 || find(nodeChildNodes, isTextNode)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'More than one element or text in fragment');\n\t\t}\n\t\t// Otherwise, if `node` has one element child and either `parent` has an element child that is not `child` or a doctype is following `child`.\n\t\tif (nodeChildElements.length === 1 && !isElementReplacementPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Element in fragment can not be inserted before doctype');\n\t\t}\n\t}\n\t// Element\n\tif (isElementNode(node)) {\n\t\t// `parent` has an element child that is not `child` or a doctype is following `child`.\n\t\tif (!isElementReplacementPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one element can be added and only after doctype');\n\t\t}\n\t}\n\t// DocumentType\n\tif (isDocTypeNode(node)) {\n\t\tfunction hasDoctypeChildThatIsNotChild(node) {\n\t\t\treturn isDocTypeNode(node) && node !== child;\n\t\t}\n\n\t\t// `parent` has a doctype child that is not `child`,\n\t\tif (find(parentChildNodes, hasDoctypeChildThatIsNotChild)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one doctype is allowed');\n\t\t}\n\t\tvar parentElementChild = find(parentChildNodes, isElementNode);\n\t\t// or an element is preceding `child`.\n\t\tif (child && parentChildNodes.indexOf(parentElementChild) < parentChildNodes.indexOf(child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Doctype can only be inserted before an element');\n\t\t}\n\t}\n}\n\n/**\n * @private\n * @param {Node} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node=} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n */\nfunction _insertBefore(parent, node, child, _inDocumentAssertion) {\n\t// To ensure pre-insertion validity of a node into a parent before a child, run these steps:\n\tassertPreInsertionValidity1to5(parent, node, child);\n\n\t// If parent is a document, and any of the statements below, switched on the interface node implements,\n\t// are true, then throw a \"HierarchyRequestError\" DOMException.\n\tif (parent.nodeType === Node.DOCUMENT_NODE) {\n\t\t(_inDocumentAssertion || assertPreInsertionValidityInDocument)(parent, node, child);\n\t}\n\n\tvar cp = node.parentNode;\n\tif(cp){\n\t\tcp.removeChild(node);//remove and update\n\t}\n\tif(node.nodeType === DOCUMENT_FRAGMENT_NODE){\n\t\tvar newFirst = node.firstChild;\n\t\tif (newFirst == null) {\n\t\t\treturn node;\n\t\t}\n\t\tvar newLast = node.lastChild;\n\t}else{\n\t\tnewFirst = newLast = node;\n\t}\n\tvar pre = child ? child.previousSibling : parent.lastChild;\n\n\tnewFirst.previousSibling = pre;\n\tnewLast.nextSibling = child;\n\n\n\tif(pre){\n\t\tpre.nextSibling = newFirst;\n\t}else{\n\t\tparent.firstChild = newFirst;\n\t}\n\tif(child == null){\n\t\tparent.lastChild = newLast;\n\t}else{\n\t\tchild.previousSibling = newLast;\n\t}\n\tdo{\n\t\tnewFirst.parentNode = parent;\n\t\t// Update ownerDocument for each node being inserted\n\t\tvar targetDoc = parent.ownerDocument || parent;\n\t\t_updateOwnerDocument(newFirst, targetDoc);\n\t}while(newFirst !== newLast && (newFirst= newFirst.nextSibling))\n\t_onUpdateChild(parent.ownerDocument||parent, parent);\n\t//console.log(parent.lastChild.nextSibling == null)\n\tif (node.nodeType == DOCUMENT_FRAGMENT_NODE) {\n\t\tnode.firstChild = node.lastChild = null;\n\t}\n\treturn node;\n}\n\n/**\n * Recursively updates the ownerDocument property for a node and all its descendants\n * @param {Node} node\n * @param {Document} newOwnerDocument\n * @private\n */\nfunction _updateOwnerDocument(node, newOwnerDocument) {\n\tif (node.ownerDocument === newOwnerDocument) {\n\t\treturn;\n\t}\n\t\n\tnode.ownerDocument = newOwnerDocument;\n\t\n\t// Update attributes if this is an element\n\tif (node.nodeType === ELEMENT_NODE && node.attributes) {\n\t\tfor (var i = 0; i < node.attributes.length; i++) {\n\t\t\tvar attr = node.attributes.item(i);\n\t\t\tif (attr) {\n\t\t\t\tattr.ownerDocument = newOwnerDocument;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// Recursively update child nodes\n\tvar child = node.firstChild;\n\twhile (child) {\n\t\t_updateOwnerDocument(child, newOwnerDocument);\n\t\tchild = child.nextSibling;\n\t}\n}\n\n/**\n * Appends `newChild` to `parentNode`.\n * If `newChild` is already connected to a `parentNode` it is first removed from it.\n *\n * @see https://github.com/xmldom/xmldom/issues/135\n * @see https://github.com/xmldom/xmldom/issues/145\n * @param {Node} parentNode\n * @param {Node} newChild\n * @returns {Node}\n * @private\n */\nfunction _appendSingleChild (parentNode, newChild) {\n\tif (newChild.parentNode) {\n\t\tnewChild.parentNode.removeChild(newChild);\n\t}\n\tnewChild.parentNode = parentNode;\n\tnewChild.previousSibling = parentNode.lastChild;\n\tnewChild.nextSibling = null;\n\tif (newChild.previousSibling) {\n\t\tnewChild.previousSibling.nextSibling = newChild;\n\t} else {\n\t\tparentNode.firstChild = newChild;\n\t}\n\tparentNode.lastChild = newChild;\n\t_onUpdateChild(parentNode.ownerDocument, parentNode, newChild);\n\t\n\t// Update ownerDocument for the new child and all its descendants\n\tvar targetDoc = parentNode.ownerDocument || parentNode;\n\t_updateOwnerDocument(newChild, targetDoc);\n\t\n\treturn newChild;\n}\n\nDocument.prototype = {\n\t//implementation : null,\n\tnodeName : '#document',\n\tnodeType : DOCUMENT_NODE,\n\t/**\n\t * The DocumentType node of the document.\n\t *\n\t * @readonly\n\t * @type DocumentType\n\t */\n\tdoctype : null,\n\tdocumentElement : null,\n\t_inc : 1,\n\n\tinsertBefore : function(newChild, refChild){//raises\n\t\tif(newChild.nodeType == DOCUMENT_FRAGMENT_NODE){\n\t\t\tvar child = newChild.firstChild;\n\t\t\twhile(child){\n\t\t\t\tvar next = child.nextSibling;\n\t\t\t\tthis.insertBefore(child,refChild);\n\t\t\t\tchild = next;\n\t\t\t}\n\t\t\treturn newChild;\n\t\t}\n\t\t_insertBefore(this, newChild, refChild);\n\t\t_updateOwnerDocument(newChild, this);\n\t\tif (this.documentElement === null && newChild.nodeType === ELEMENT_NODE) {\n\t\t\tthis.documentElement = newChild;\n\t\t}\n\n\t\treturn newChild;\n\t},\n\tremoveChild : function(oldChild){\n\t\tif(this.documentElement == oldChild){\n\t\t\tthis.documentElement = null;\n\t\t}\n\t\treturn _removeChild(this,oldChild);\n\t},\n\treplaceChild: function (newChild, oldChild) {\n\t\t//raises\n\t\t_insertBefore(this, newChild, oldChild, assertPreReplacementValidityInDocument);\n\t\t_updateOwnerDocument(newChild, this);\n\t\tif (oldChild) {\n\t\t\tthis.removeChild(oldChild);\n\t\t}\n\t\tif (isElementNode(newChild)) {\n\t\t\tthis.documentElement = newChild;\n\t\t}\n\t},\n\t// Introduced in DOM Level 2:\n\timportNode : function(importedNode,deep){\n\t\treturn importNode(this,importedNode,deep);\n\t},\n\t// Introduced in DOM Level 2:\n\tgetElementById :\tfunction(id){\n\t\tvar rtv = null;\n\t\t_visitNode(this.documentElement,function(node){\n\t\t\tif(node.nodeType == ELEMENT_NODE){\n\t\t\t\tif(node.getAttribute('id') == id){\n\t\t\t\t\trtv = node;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\treturn rtv;\n\t},\n\n\t/**\n\t * The `getElementsByClassName` method of `Document` interface returns an array-like object\n\t * of all child elements which have **all** of the given class name(s).\n\t *\n\t * Returns an empty list if `classeNames` is an empty string or only contains HTML white space characters.\n\t *\n\t *\n\t * Warning: This is a live LiveNodeList.\n\t * Changes in the DOM will reflect in the array as the changes occur.\n\t * If an element selected by this array no longer qualifies for the selector,\n\t * it will automatically be removed. Be aware of this for iteration purposes.\n\t *\n\t * @param {string} classNames is a string representing the class name(s) to match; multiple class names are separated by (ASCII-)whitespace\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName\n\t * @see https://dom.spec.whatwg.org/#concept-getelementsbyclassname\n\t */\n\tgetElementsByClassName: function(classNames) {\n\t\tvar classNamesSet = toOrderedSet(classNames)\n\t\treturn new LiveNodeList(this, function(base) {\n\t\t\tvar ls = [];\n\t\t\tif (classNamesSet.length > 0) {\n\t\t\t\t_visitNode(base.documentElement, function(node) {\n\t\t\t\t\tif(node !== base && node.nodeType === ELEMENT_NODE) {\n\t\t\t\t\t\tvar nodeClassNames = node.getAttribute('class')\n\t\t\t\t\t\t// can be null if the attribute does not exist\n\t\t\t\t\t\tif (nodeClassNames) {\n\t\t\t\t\t\t\t// before splitting and iterating just compare them for the most common case\n\t\t\t\t\t\t\tvar matches = classNames === nodeClassNames;\n\t\t\t\t\t\t\tif (!matches) {\n\t\t\t\t\t\t\t\tvar nodeClassNamesSet = toOrderedSet(nodeClassNames)\n\t\t\t\t\t\t\t\tmatches = classNamesSet.every(arrayIncludes(nodeClassNamesSet))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif(matches) {\n\t\t\t\t\t\t\t\tls.push(node);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn ls;\n\t\t});\n\t},\n\n\t//document factory method:\n\tcreateElement :\tfunction(tagName){\n\t\tvar node = new Element();\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = tagName;\n\t\tnode.tagName = tagName;\n\t\tnode.localName = tagName;\n\t\tnode.childNodes = new NodeList();\n\t\tvar attrs\t= node.attributes = new NamedNodeMap();\n\t\tattrs._ownerElement = node;\n\t\treturn node;\n\t},\n\tcreateDocumentFragment :\tfunction(){\n\t\tvar node = new DocumentFragment();\n\t\tnode.ownerDocument = this;\n\t\tnode.childNodes = new NodeList();\n\t\treturn node;\n\t},\n\tcreateTextNode :\tfunction(data){\n\t\tvar node = new Text();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateComment :\tfunction(data){\n\t\tvar node = new Comment();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateCDATASection :\tfunction(data){\n\t\tvar node = new CDATASection();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateProcessingInstruction :\tfunction(target,data){\n\t\tvar node = new ProcessingInstruction();\n\t\tnode.ownerDocument = this;\n\t\tnode.tagName = node.nodeName = node.target = target;\n\t\tnode.nodeValue = node.data = data;\n\t\treturn node;\n\t},\n\tcreateAttribute :\tfunction(name){\n\t\tvar node = new Attr();\n\t\tnode.ownerDocument\t= this;\n\t\tnode.name = name;\n\t\tnode.nodeName\t= name;\n\t\tnode.localName = name;\n\t\tnode.specified = true;\n\t\treturn node;\n\t},\n\tcreateEntityReference :\tfunction(name){\n\t\tvar node = new EntityReference();\n\t\tnode.ownerDocument\t= this;\n\t\tnode.nodeName\t= name;\n\t\treturn node;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateElementNS :\tfunction(namespaceURI,qualifiedName){\n\t\tvar node = new Element();\n\t\tvar pl = qualifiedName.split(':');\n\t\tvar attrs\t= node.attributes = new NamedNodeMap();\n\t\tnode.childNodes = new NodeList();\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.tagName = qualifiedName;\n\t\tnode.namespaceURI = namespaceURI;\n\t\tif(pl.length == 2){\n\t\t\tnode.prefix = pl[0];\n\t\t\tnode.localName = pl[1];\n\t\t}else{\n\t\t\t//el.prefix = null;\n\t\t\tnode.localName = qualifiedName;\n\t\t}\n\t\tattrs._ownerElement = node;\n\t\treturn node;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateAttributeNS :\tfunction(namespaceURI,qualifiedName){\n\t\tvar node = new Attr();\n\t\tvar pl = qualifiedName.split(':');\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.name = qualifiedName;\n\t\tnode.namespaceURI = namespaceURI;\n\t\tnode.specified = true;\n\t\tif(pl.length == 2){\n\t\t\tnode.prefix = pl[0];\n\t\t\tnode.localName = pl[1];\n\t\t}else{\n\t\t\t//el.prefix = null;\n\t\t\tnode.localName = qualifiedName;\n\t\t}\n\t\treturn node;\n\t}\n};\n_extends(Document,Node);\n\n\nfunction Element() {\n\tthis._nsMap = {};\n};\nElement.prototype = {\n\tnodeType : ELEMENT_NODE,\n\thasAttribute : function(name){\n\t\treturn this.getAttributeNode(name)!=null;\n\t},\n\tgetAttribute : function(name){\n\t\tvar attr = this.getAttributeNode(name);\n\t\treturn attr && attr.value || '';\n\t},\n\tgetAttributeNode : function(name){\n\t\treturn this.attributes.getNamedItem(name);\n\t},\n\tsetAttribute : function(name, value){\n\t\tvar attr = this.ownerDocument.createAttribute(name);\n\t\tattr.value = attr.nodeValue = \"\" + value;\n\t\tthis.setAttributeNode(attr)\n\t},\n\tremoveAttribute : function(name){\n\t\tvar attr = this.getAttributeNode(name)\n\t\tattr && this.removeAttributeNode(attr);\n\t},\n\n\t//four real opeartion method\n\tappendChild:function(newChild){\n\t\tif(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){\n\t\t\treturn this.insertBefore(newChild,null);\n\t\t}else{\n\t\t\treturn _appendSingleChild(this,newChild);\n\t\t}\n\t},\n\tsetAttributeNode : function(newAttr){\n\t\treturn this.attributes.setNamedItem(newAttr);\n\t},\n\tsetAttributeNodeNS : function(newAttr){\n\t\treturn this.attributes.setNamedItemNS(newAttr);\n\t},\n\tremoveAttributeNode : function(oldAttr){\n\t\t//console.log(this == oldAttr.ownerElement)\n\t\treturn this.attributes.removeNamedItem(oldAttr.nodeName);\n\t},\n\t//get real attribute name,and remove it by removeAttributeNode\n\tremoveAttributeNS : function(namespaceURI, localName){\n\t\tvar old = this.getAttributeNodeNS(namespaceURI, localName);\n\t\told && this.removeAttributeNode(old);\n\t},\n\n\thasAttributeNS : function(namespaceURI, localName){\n\t\treturn this.getAttributeNodeNS(namespaceURI, localName)!=null;\n\t},\n\tgetAttributeNS : function(namespaceURI, localName){\n\t\tvar attr = this.getAttributeNodeNS(namespaceURI, localName);\n\t\treturn attr && attr.value || '';\n\t},\n\tsetAttributeNS : function(namespaceURI, qualifiedName, value){\n\t\tvar attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName);\n\t\tattr.value = attr.nodeValue = \"\" + value;\n\t\tthis.setAttributeNode(attr)\n\t},\n\tgetAttributeNodeNS : function(namespaceURI, localName){\n\t\treturn this.attributes.getNamedItemNS(namespaceURI, localName);\n\t},\n\n\tgetElementsByTagName : function(tagName){\n\t\treturn new LiveNodeList(this,function(base){\n\t\t\tvar ls = [];\n\t\t\t_visitNode(base,function(node){\n\t\t\t\tif(node !== base && node.nodeType == ELEMENT_NODE && (tagName === '*' || node.tagName == tagName)){\n\t\t\t\t\tls.push(node);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn ls;\n\t\t});\n\t},\n\tgetElementsByTagNameNS : function(namespaceURI, localName){\n\t\treturn new LiveNodeList(this,function(base){\n\t\t\tvar ls = [];\n\t\t\t_visitNode(base,function(node){\n\t\t\t\tif(node !== base && node.nodeType === ELEMENT_NODE && (namespaceURI === '*' || node.namespaceURI === namespaceURI) && (localName === '*' || node.localName == localName)){\n\t\t\t\t\tls.push(node);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn ls;\n\n\t\t});\n\t}\n};\nDocument.prototype.getElementsByTagName = Element.prototype.getElementsByTagName;\nDocument.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS;\n\n\n_extends(Element,Node);\nfunction Attr() {\n};\nAttr.prototype.nodeType = ATTRIBUTE_NODE;\n_extends(Attr,Node);\n\n\nfunction CharacterData() {\n};\nCharacterData.prototype = {\n\tdata : '',\n\tsubstringData : function(offset, count) {\n\t\treturn this.data.substring(offset, offset+count);\n\t},\n\tappendData: function(text) {\n\t\ttext = this.data+text;\n\t\tthis.nodeValue = this.data = text;\n\t\tthis.length = text.length;\n\t},\n\tinsertData: function(offset,text) {\n\t\tthis.replaceData(offset,0,text);\n\n\t},\n\tappendChild:function(newChild){\n\t\tthrow new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR])\n\t},\n\tdeleteData: function(offset, count) {\n\t\tthis.replaceData(offset,count,\"\");\n\t},\n\treplaceData: function(offset, count, text) {\n\t\tvar start = this.data.substring(0,offset);\n\t\tvar end = this.data.substring(offset+count);\n\t\ttext = start + text + end;\n\t\tthis.nodeValue = this.data = text;\n\t\tthis.length = text.length;\n\t}\n}\n_extends(CharacterData,Node);\nfunction Text() {\n};\nText.prototype = {\n\tnodeName : \"#text\",\n\tnodeType : TEXT_NODE,\n\tsplitText : function(offset) {\n\t\tvar text = this.data;\n\t\tvar newText = text.substring(offset);\n\t\ttext = text.substring(0, offset);\n\t\tthis.data = this.nodeValue = text;\n\t\tthis.length = text.length;\n\t\tvar newNode = this.ownerDocument.createTextNode(newText);\n\t\tif(this.parentNode){\n\t\t\tthis.parentNode.insertBefore(newNode, this.nextSibling);\n\t\t}\n\t\treturn newNode;\n\t}\n}\n_extends(Text,CharacterData);\nfunction Comment() {\n};\nComment.prototype = {\n\tnodeName : \"#comment\",\n\tnodeType : COMMENT_NODE\n}\n_extends(Comment,CharacterData);\n\nfunction CDATASection() {\n};\nCDATASection.prototype = {\n\tnodeName : \"#cdata-section\",\n\tnodeType : CDATA_SECTION_NODE\n}\n_extends(CDATASection,CharacterData);\n\n\nfunction DocumentType() {\n};\nDocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE;\n_extends(DocumentType,Node);\n\nfunction Notation() {\n};\nNotation.prototype.nodeType = NOTATION_NODE;\n_extends(Notation,Node);\n\nfunction Entity() {\n};\nEntity.prototype.nodeType = ENTITY_NODE;\n_extends(Entity,Node);\n\nfunction EntityReference() {\n};\nEntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE;\n_extends(EntityReference,Node);\n\nfunction DocumentFragment() {\n};\nDocumentFragment.prototype.nodeName =\t\"#document-fragment\";\nDocumentFragment.prototype.nodeType =\tDOCUMENT_FRAGMENT_NODE;\n_extends(DocumentFragment,Node);\n\n\nfunction ProcessingInstruction() {\n}\nProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE;\n_extends(ProcessingInstruction,Node);\nfunction XMLSerializer(){}\nXMLSerializer.prototype.serializeToString = function(node,isHtml,nodeFilter){\n\treturn nodeSerializeToString.call(node,isHtml,nodeFilter);\n}\nNode.prototype.toString = nodeSerializeToString;\nfunction nodeSerializeToString(isHtml,nodeFilter){\n\tvar buf = [];\n\tvar refNode = this.nodeType == 9 && this.documentElement || this;\n\tvar prefix = refNode.prefix;\n\tvar uri = refNode.namespaceURI;\n\n\tif(uri && prefix == null){\n\t\t//console.log(prefix)\n\t\tvar prefix = refNode.lookupPrefix(uri);\n\t\tif(prefix == null){\n\t\t\t//isHTML = true;\n\t\t\tvar visibleNamespaces=[\n\t\t\t{namespace:uri,prefix:null}\n\t\t\t//{namespace:uri,prefix:''}\n\t\t\t]\n\t\t}\n\t}\n\tserializeToString(this,buf,isHtml,nodeFilter,visibleNamespaces);\n\t//console.log('###',this.nodeType,uri,prefix,buf.join(''))\n\treturn buf.join('');\n}\n\nfunction needNamespaceDefine(node, isHTML, visibleNamespaces) {\n\tvar prefix = node.prefix || '';\n\tvar uri = node.namespaceURI;\n\t// According to [Namespaces in XML 1.0](https://www.w3.org/TR/REC-xml-names/#ns-using) ,\n\t// and more specifically https://www.w3.org/TR/REC-xml-names/#nsc-NoPrefixUndecl :\n\t// > In a namespace declaration for a prefix [...], the attribute value MUST NOT be empty.\n\t// in a similar manner [Namespaces in XML 1.1](https://www.w3.org/TR/xml-names11/#ns-using)\n\t// and more specifically https://www.w3.org/TR/xml-names11/#nsc-NSDeclared :\n\t// > [...] Furthermore, the attribute value [...] must not be an empty string.\n\t// so serializing empty namespace value like xmlns:ds=\"\" would produce an invalid XML document.\n\tif (!uri) {\n\t\treturn false;\n\t}\n\tif (prefix === \"xml\" && uri === NAMESPACE.XML || uri === NAMESPACE.XMLNS) {\n\t\treturn false;\n\t}\n\n\tvar i = visibleNamespaces.length\n\twhile (i--) {\n\t\tvar ns = visibleNamespaces[i];\n\t\t// get namespace prefix\n\t\tif (ns.prefix === prefix) {\n\t\t\treturn ns.namespace !== uri;\n\t\t}\n\t}\n\treturn true;\n}\n/**\n * Well-formed constraint: No < in Attribute Values\n * > The replacement text of any entity referred to directly or indirectly\n * > in an attribute value must not contain a <.\n * @see https://www.w3.org/TR/xml11/#CleanAttrVals\n * @see https://www.w3.org/TR/xml11/#NT-AttValue\n *\n * Literal whitespace other than space that appear in attribute values\n * are serialized as their entity references, so they will be preserved.\n * (In contrast to whitespace literals in the input which are normalized to spaces)\n * @see https://www.w3.org/TR/xml11/#AVNormalize\n * @see https://w3c.github.io/DOM-Parsing/#serializing-an-element-s-attributes\n */\nfunction addSerializedAttribute(buf, qualifiedName, value) {\n\tbuf.push(' ', qualifiedName, '=\"', value.replace(/[<>&\"\\t\\n\\r]/g, _xmlEncoder), '\"')\n}\n\nfunction serializeToString(node,buf,isHTML,nodeFilter,visibleNamespaces){\n\tif (!visibleNamespaces) {\n\t\tvisibleNamespaces = [];\n\t}\n\n\tif(nodeFilter){\n\t\tnode = nodeFilter(node);\n\t\tif(node){\n\t\t\tif(typeof node == 'string'){\n\t\t\t\tbuf.push(node);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}else{\n\t\t\treturn;\n\t\t}\n\t\t//buf.sort.apply(attrs, attributeSorter);\n\t}\n\n\tswitch(node.nodeType){\n\tcase ELEMENT_NODE:\n\t\tvar attrs = node.attributes;\n\t\tvar len = attrs.length;\n\t\tvar child = node.firstChild;\n\t\tvar nodeName = node.tagName;\n\n\t\tisHTML = NAMESPACE.isHTML(node.namespaceURI) || isHTML\n\n\t\tvar prefixedNodeName = nodeName\n\t\tif (!isHTML && !node.prefix && node.namespaceURI) {\n\t\t\tvar defaultNS\n\t\t\t// lookup current default ns from `xmlns` attribute\n\t\t\tfor (var ai = 0; ai < attrs.length; ai++) {\n\t\t\t\tif (attrs.item(ai).name === 'xmlns') {\n\t\t\t\t\tdefaultNS = attrs.item(ai).value\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!defaultNS) {\n\t\t\t\t// lookup current default ns in visibleNamespaces\n\t\t\t\tfor (var nsi = visibleNamespaces.length - 1; nsi >= 0; nsi--) {\n\t\t\t\t\tvar namespace = visibleNamespaces[nsi]\n\t\t\t\t\tif (namespace.prefix === '' && namespace.namespace === node.namespaceURI) {\n\t\t\t\t\t\tdefaultNS = namespace.namespace\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (defaultNS !== node.namespaceURI) {\n\t\t\t\tfor (var nsi = visibleNamespaces.length - 1; nsi >= 0; nsi--) {\n\t\t\t\t\tvar namespace = visibleNamespaces[nsi]\n\t\t\t\t\tif (namespace.namespace === node.namespaceURI) {\n\t\t\t\t\t\tif (namespace.prefix) {\n\t\t\t\t\t\t\tprefixedNodeName = namespace.prefix + ':' + nodeName\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tbuf.push('<', prefixedNodeName);\n\n\t\tfor(var i=0;i<len;i++){\n\t\t\t// add namespaces for attributes\n\t\t\tvar attr = attrs.item(i);\n\t\t\tif (attr.prefix == 'xmlns') {\n\t\t\t\tvisibleNamespaces.push({ prefix: attr.localName, namespace: attr.value });\n\t\t\t}else if(attr.nodeName == 'xmlns'){\n\t\t\t\tvisibleNamespaces.push({ prefix: '', namespace: attr.value });\n\t\t\t}\n\t\t}\n\n\t\tfor(var i=0;i<len;i++){\n\t\t\tvar attr = attrs.item(i);\n\t\t\tif (needNamespaceDefine(attr,isHTML, visibleNamespaces)) {\n\t\t\t\tvar prefix = attr.prefix||'';\n\t\t\t\tvar uri = attr.namespaceURI;\n\t\t\t\taddSerializedAttribute(buf, prefix ? 'xmlns:' + prefix : \"xmlns\", uri);\n\t\t\t\tvisibleNamespaces.push({ prefix: prefix, namespace:uri });\n\t\t\t}\n\t\t\tserializeToString(attr,buf,isHTML,nodeFilter,visibleNamespaces);\n\t\t}\n\n\t\t// add namespace for current node\n\t\tif (nodeName === prefixedNodeName && needNamespaceDefine(node, isHTML, visibleNamespaces)) {\n\t\t\tvar prefix = node.prefix||'';\n\t\t\tvar uri = node.namespaceURI;\n\t\t\taddSerializedAttribute(buf, prefix ? 'xmlns:' + prefix : \"xmlns\", uri);\n\t\t\tvisibleNamespaces.push({ prefix: prefix, namespace:uri });\n\t\t}\n\n\t\tif(child || isHTML && !/^(?:meta|link|img|br|hr|input)$/i.test(nodeName)){\n\t\t\tbuf.push('>');\n\t\t\t//if is cdata child node\n\t\t\tif(isHTML && /^script$/i.test(nodeName)){\n\t\t\t\twhile(child){\n\t\t\t\t\tif(child.data){\n\t\t\t\t\t\tbuf.push(child.data);\n\t\t\t\t\t}else{\n\t\t\t\t\t\tserializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());\n\t\t\t\t\t}\n\t\t\t\t\tchild = child.nextSibling;\n\t\t\t\t}\n\t\t\t}else\n\t\t\t{\n\t\t\t\twhile(child){\n\t\t\t\t\tserializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());\n\t\t\t\t\tchild = child.nextSibling;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbuf.push('</',prefixedNodeName,'>');\n\t\t}else{\n\t\t\tbuf.push('/>');\n\t\t}\n\t\t// remove added visible namespaces\n\t\t//visibleNamespaces.length = startVisibleNamespaces;\n\t\treturn;\n\tcase DOCUMENT_NODE:\n\tcase DOCUMENT_FRAGMENT_NODE:\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tserializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t\treturn;\n\tcase ATTRIBUTE_NODE:\n\t\treturn addSerializedAttribute(buf, node.name, node.value);\n\tcase TEXT_NODE:\n\t\t/**\n\t\t * The ampersand character (&) and the left angle bracket (<) must not appear in their literal form,\n\t\t * except when used as markup delimiters, or within a comment, a processing instruction, or a CDATA section.\n\t\t * If they are needed elsewhere, they must be escaped using either numeric character references or the strings\n\t\t * `&` and `<` respectively.\n\t\t * The right angle bracket (>) may be represented using the string \" > \", and must, for compatibility,\n\t\t * be escaped using either `>` or a character reference when it appears in the string `]]>` in content,\n\t\t * when that string is not marking the end of a CDATA section.\n\t\t *\n\t\t * In the content of elements, character data is any string of characters\n\t\t * which does not contain the start-delimiter of any markup\n\t\t * and does not include the CDATA-section-close delimiter, `]]>`.\n\t\t *\n\t\t * @see https://www.w3.org/TR/xml/#NT-CharData\n\t\t * @see https://w3c.github.io/DOM-Parsing/#xml-serializing-a-text-node\n\t\t */\n\t\treturn buf.push(node.data\n\t\t\t.replace(/[<&>]/g,_xmlEncoder)\n\t\t);\n\tcase CDATA_SECTION_NODE:\n\t\treturn buf.push( '<![CDATA[',node.data,']]>');\n\tcase COMMENT_NODE:\n\t\treturn buf.push( \"<!--\",node.data,\"-->\");\n\tcase DOCUMENT_TYPE_NODE:\n\t\tvar pubid = node.publicId;\n\t\tvar sysid = node.systemId;\n\t\tbuf.push('<!DOCTYPE ',node.name);\n\t\tif(pubid){\n\t\t\tbuf.push(' PUBLIC ', pubid);\n\t\t\tif (sysid && sysid!='.') {\n\t\t\t\tbuf.push(' ', sysid);\n\t\t\t}\n\t\t\tbuf.push('>');\n\t\t}else if(sysid && sysid!='.'){\n\t\t\tbuf.push(' SYSTEM ', sysid, '>');\n\t\t}else{\n\t\t\tvar sub = node.internalSubset;\n\t\t\tif(sub){\n\t\t\t\tbuf.push(\" [\",sub,\"]\");\n\t\t\t}\n\t\t\tbuf.push(\">\");\n\t\t}\n\t\treturn;\n\tcase PROCESSING_INSTRUCTION_NODE:\n\t\treturn buf.push( \"<?\",node.target,\" \",node.data,\"?>\");\n\tcase ENTITY_REFERENCE_NODE:\n\t\treturn buf.push( '&',node.nodeName,';');\n\t//case ENTITY_NODE:\n\t//case NOTATION_NODE:\n\tdefault:\n\t\tbuf.push('??',node.nodeName);\n\t}\n}\nfunction importNode(doc,node,deep){\n\tvar node2;\n\tswitch (node.nodeType) {\n\tcase ELEMENT_NODE:\n\t\tnode2 = node.cloneNode(false);\n\t\tnode2.ownerDocument = doc;\n\t\t//var attrs = node2.attributes;\n\t\t//var len = attrs.length;\n\t\t//for(var i=0;i<len;i++){\n\t\t\t//node2.setAttributeNodeNS(importNode(doc,attrs.item(i),deep));\n\t\t//}\n\tcase DOCUMENT_FRAGMENT_NODE:\n\t\tbreak;\n\tcase ATTRIBUTE_NODE:\n\t\tdeep = true;\n\t\tbreak;\n\t//case ENTITY_REFERENCE_NODE:\n\t//case PROCESSING_INSTRUCTION_NODE:\n\t////case TEXT_NODE:\n\t//case CDATA_SECTION_NODE:\n\t//case COMMENT_NODE:\n\t//\tdeep = false;\n\t//\tbreak;\n\t//case DOCUMENT_NODE:\n\t//case DOCUMENT_TYPE_NODE:\n\t//cannot be imported.\n\t//case ENTITY_NODE:\n\t//case NOTATION_NODE:\n\t//can not hit in level3\n\t//default:throw e;\n\t}\n\tif(!node2){\n\t\tnode2 = node.cloneNode(false);//false\n\t}\n\tnode2.ownerDocument = doc;\n\tnode2.parentNode = null;\n\tif(deep){\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tnode2.appendChild(importNode(doc,child,deep));\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t}\n\treturn node2;\n}\n//\n//var _relationMap = {firstChild:1,lastChild:1,previousSibling:1,nextSibling:1,\n//\t\t\t\t\tattributes:1,childNodes:1,parentNode:1,documentElement:1,doctype,};\nfunction cloneNode(doc,node,deep){\n\tvar node2 = new node.constructor();\n\tfor (var n in node) {\n\t\tif (Object.prototype.hasOwnProperty.call(node, n)) {\n\t\t\tvar v = node[n];\n\t\t\tif (typeof v != \"object\") {\n\t\t\t\tif (v != node2[n]) {\n\t\t\t\t\tnode2[n] = v;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif(node.childNodes){\n\t\tnode2.childNodes = new NodeList();\n\t}\n\tnode2.ownerDocument = doc;\n\tswitch (node2.nodeType) {\n\tcase ELEMENT_NODE:\n\t\tvar attrs\t= node.attributes;\n\t\tvar attrs2\t= node2.attributes = new NamedNodeMap();\n\t\tvar len = attrs.length\n\t\tattrs2._ownerElement = node2;\n\t\tfor(var i=0;i<len;i++){\n\t\t\tnode2.setAttributeNode(cloneNode(doc,attrs.item(i),true));\n\t\t}\n\t\tbreak;;\n\tcase ATTRIBUTE_NODE:\n\t\tdeep = true;\n\t}\n\tif(deep){\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tnode2.appendChild(cloneNode(doc,child,deep));\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t}\n\treturn node2;\n}\n\nfunction __set__(object,key,value){\n\tobject[key] = value\n}\n//do dynamic\ntry{\n\tif(Object.defineProperty){\n\t\tObject.defineProperty(LiveNodeList.prototype,'length',{\n\t\t\tget:function(){\n\t\t\t\t_updateLiveList(this);\n\t\t\t\treturn this.$$length;\n\t\t\t}\n\t\t});\n\n\t\tObject.defineProperty(Node.prototype,'textContent',{\n\t\t\tget:function(){\n\t\t\t\treturn getTextContent(this);\n\t\t\t},\n\n\t\t\tset:function(data){\n\t\t\t\tswitch(this.nodeType){\n\t\t\t\tcase ELEMENT_NODE:\n\t\t\t\tcase DOCUMENT_FRAGMENT_NODE:\n\t\t\t\t\twhile(this.firstChild){\n\t\t\t\t\t\tthis.removeChild(this.firstChild);\n\t\t\t\t\t}\n\t\t\t\t\tif(data || String(data)){\n\t\t\t\t\t\tthis.appendChild(this.ownerDocument.createTextNode(data));\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tthis.data = data;\n\t\t\t\t\tthis.value = data;\n\t\t\t\t\tthis.nodeValue = data;\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tfunction getTextContent(node){\n\t\t\tswitch(node.nodeType){\n\t\t\tcase ELEMENT_NODE:\n\t\t\tcase DOCUMENT_FRAGMENT_NODE:\n\t\t\t\tvar buf = [];\n\t\t\t\tnode = node.firstChild;\n\t\t\t\twhile(node){\n\t\t\t\t\tif(node.nodeType!==7 && node.nodeType !==8){\n\t\t\t\t\t\tbuf.push(getTextContent(node));\n\t\t\t\t\t}\n\t\t\t\t\tnode = node.nextSibling;\n\t\t\t\t}\n\t\t\t\treturn buf.join('');\n\t\t\tdefault:\n\t\t\t\treturn node.nodeValue;\n\t\t\t}\n\t\t}\n\n\t\t__set__ = function(object,key,value){\n\t\t\t//console.log(value)\n\t\t\tobject['$$'+key] = value\n\t\t}\n\t}\n}catch(e){//ie8\n}\n\n//if(typeof require == 'function'){\n\texports.DocumentType = DocumentType;\n\texports.DOMException = DOMException;\n\texports.DOMImplementation = DOMImplementation;\n\texports.Element = Element;\n\texports.Node = Node;\n\texports.NodeList = NodeList;\n\texports.XMLSerializer = XMLSerializer;\n//}\n","'use strict';\n\nvar freeze = require('./conventions').freeze;\n\n/**\n * The entities that are predefined in every XML document.\n *\n * @see https://www.w3.org/TR/2006/REC-xml11-20060816/#sec-predefined-ent W3C XML 1.1\n * @see https://www.w3.org/TR/2008/REC-xml-20081126/#sec-predefined-ent W3C XML 1.0\n * @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Predefined_entities_in_XML Wikipedia\n */\nexports.XML_ENTITIES = freeze({\n\tamp: '&',\n\tapos: \"'\",\n\tgt: '>',\n\tlt: '<',\n\tquot: '\"',\n});\n\n/**\n * A map of all entities that are detected in an HTML document.\n * They contain all entries from `XML_ENTITIES`.\n *\n * @see XML_ENTITIES\n * @see DOMParser.parseFromString\n * @see DOMImplementation.prototype.createHTMLDocument\n * @see https://html.spec.whatwg.org/#named-character-references WHATWG HTML(5) Spec\n * @see https://html.spec.whatwg.org/entities.json JSON\n * @see https://www.w3.org/TR/xml-entity-names/ W3C XML Entity Names\n * @see https://www.w3.org/TR/html4/sgml/entities.html W3C HTML4/SGML\n * @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Character_entity_references_in_HTML Wikipedia (HTML)\n * @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Entities_representing_special_characters_in_XHTML Wikpedia (XHTML)\n */\nexports.HTML_ENTITIES = freeze({\n\tAacute: '\\u00C1',\n\taacute: '\\u00E1',\n\tAbreve: '\\u0102',\n\tabreve: '\\u0103',\n\tac: '\\u223E',\n\tacd: '\\u223F',\n\tacE: '\\u223E\\u0333',\n\tAcirc: '\\u00C2',\n\tacirc: '\\u00E2',\n\tacute: '\\u00B4',\n\tAcy: '\\u0410',\n\tacy: '\\u0430',\n\tAElig: '\\u00C6',\n\taelig: '\\u00E6',\n\taf: '\\u2061',\n\tAfr: '\\uD835\\uDD04',\n\tafr: '\\uD835\\uDD1E',\n\tAgrave: '\\u00C0',\n\tagrave: '\\u00E0',\n\talefsym: '\\u2135',\n\taleph: '\\u2135',\n\tAlpha: '\\u0391',\n\talpha: '\\u03B1',\n\tAmacr: '\\u0100',\n\tamacr: '\\u0101',\n\tamalg: '\\u2A3F',\n\tAMP: '\\u0026',\n\tamp: '\\u0026',\n\tAnd: '\\u2A53',\n\tand: '\\u2227',\n\tandand: '\\u2A55',\n\tandd: '\\u2A5C',\n\tandslope: '\\u2A58',\n\tandv: '\\u2A5A',\n\tang: '\\u2220',\n\tange: '\\u29A4',\n\tangle: '\\u2220',\n\tangmsd: '\\u2221',\n\tangmsdaa: '\\u29A8',\n\tangmsdab: '\\u29A9',\n\tangmsdac: '\\u29AA',\n\tangmsdad: '\\u29AB',\n\tangmsdae: '\\u29AC',\n\tangmsdaf: '\\u29AD',\n\tangmsdag: '\\u29AE',\n\tangmsdah: '\\u29AF',\n\tangrt: '\\u221F',\n\tangrtvb: '\\u22BE',\n\tangrtvbd: '\\u299D',\n\tangsph: '\\u2222',\n\tangst: '\\u00C5',\n\tangzarr: '\\u237C',\n\tAogon: '\\u0104',\n\taogon: '\\u0105',\n\tAopf: '\\uD835\\uDD38',\n\taopf: '\\uD835\\uDD52',\n\tap: '\\u2248',\n\tapacir: '\\u2A6F',\n\tapE: '\\u2A70',\n\tape: '\\u224A',\n\tapid: '\\u224B',\n\tapos: '\\u0027',\n\tApplyFunction: '\\u2061',\n\tapprox: '\\u2248',\n\tapproxeq: '\\u224A',\n\tAring: '\\u00C5',\n\taring: '\\u00E5',\n\tAscr: '\\uD835\\uDC9C',\n\tascr: '\\uD835\\uDCB6',\n\tAssign: '\\u2254',\n\tast: '\\u002A',\n\tasymp: '\\u2248',\n\tasympeq: '\\u224D',\n\tAtilde: '\\u00C3',\n\tatilde: '\\u00E3',\n\tAuml: '\\u00C4',\n\tauml: '\\u00E4',\n\tawconint: '\\u2233',\n\tawint: '\\u2A11',\n\tbackcong: '\\u224C',\n\tbackepsilon: '\\u03F6',\n\tbackprime: '\\u2035',\n\tbacksim: '\\u223D',\n\tbacksimeq: '\\u22CD',\n\tBackslash: '\\u2216',\n\tBarv: '\\u2AE7',\n\tbarvee: '\\u22BD',\n\tBarwed: '\\u2306',\n\tbarwed: '\\u2305',\n\tbarwedge: '\\u2305',\n\tbbrk: '\\u23B5',\n\tbbrktbrk: '\\u23B6',\n\tbcong: '\\u224C',\n\tBcy: '\\u0411',\n\tbcy: '\\u0431',\n\tbdquo: '\\u201E',\n\tbecaus: '\\u2235',\n\tBecause: '\\u2235',\n\tbecause: '\\u2235',\n\tbemptyv: '\\u29B0',\n\tbepsi: '\\u03F6',\n\tbernou: '\\u212C',\n\tBernoullis: '\\u212C',\n\tBeta: '\\u0392',\n\tbeta: '\\u03B2',\n\tbeth: '\\u2136',\n\tbetween: '\\u226C',\n\tBfr: '\\uD835\\uDD05',\n\tbfr: '\\uD835\\uDD1F',\n\tbigcap: '\\u22C2',\n\tbigcirc: '\\u25EF',\n\tbigcup: '\\u22C3',\n\tbigodot: '\\u2A00',\n\tbigoplus: '\\u2A01',\n\tbigotimes: '\\u2A02',\n\tbigsqcup: '\\u2A06',\n\tbigstar: '\\u2605',\n\tbigtriangledown: '\\u25BD',\n\tbigtriangleup: '\\u25B3',\n\tbiguplus: '\\u2A04',\n\tbigvee: '\\u22C1',\n\tbigwedge: '\\u22C0',\n\tbkarow: '\\u290D',\n\tblacklozenge: '\\u29EB',\n\tblacksquare: '\\u25AA',\n\tblacktriangle: '\\u25B4',\n\tblacktriangledown: '\\u25BE',\n\tblacktriangleleft: '\\u25C2',\n\tblacktriangleright: '\\u25B8',\n\tblank: '\\u2423',\n\tblk12: '\\u2592',\n\tblk14: '\\u2591',\n\tblk34: '\\u2593',\n\tblock: '\\u2588',\n\tbne: '\\u003D\\u20E5',\n\tbnequiv: '\\u2261\\u20E5',\n\tbNot: '\\u2AED',\n\tbnot: '\\u2310',\n\tBopf: '\\uD835\\uDD39',\n\tbopf: '\\uD835\\uDD53',\n\tbot: '\\u22A5',\n\tbottom: '\\u22A5',\n\tbowtie: '\\u22C8',\n\tboxbox: '\\u29C9',\n\tboxDL: '\\u2557',\n\tboxDl: '\\u2556',\n\tboxdL: '\\u2555',\n\tboxdl: '\\u2510',\n\tboxDR: '\\u2554',\n\tboxDr: '\\u2553',\n\tboxdR: '\\u2552',\n\tboxdr: '\\u250C',\n\tboxH: '\\u2550',\n\tboxh: '\\u2500',\n\tboxHD: '\\u2566',\n\tboxHd: '\\u2564',\n\tboxhD: '\\u2565',\n\tboxhd: '\\u252C',\n\tboxHU: '\\u2569',\n\tboxHu: '\\u2567',\n\tboxhU: '\\u2568',\n\tboxhu: '\\u2534',\n\tboxminus: '\\u229F',\n\tboxplus: '\\u229E',\n\tboxtimes: '\\u22A0',\n\tboxUL: '\\u255D',\n\tboxUl: '\\u255C',\n\tboxuL: '\\u255B',\n\tboxul: '\\u2518',\n\tboxUR: '\\u255A',\n\tboxUr: '\\u2559',\n\tboxuR: '\\u2558',\n\tboxur: '\\u2514',\n\tboxV: '\\u2551',\n\tboxv: '\\u2502',\n\tboxVH: '\\u256C',\n\tboxVh: '\\u256B',\n\tboxvH: '\\u256A',\n\tboxvh: '\\u253C',\n\tboxVL: '\\u2563',\n\tboxVl: '\\u2562',\n\tboxvL: '\\u2561',\n\tboxvl: '\\u2524',\n\tboxVR: '\\u2560',\n\tboxVr: '\\u255F',\n\tboxvR: '\\u255E',\n\tboxvr: '\\u251C',\n\tbprime: '\\u2035',\n\tBreve: '\\u02D8',\n\tbreve: '\\u02D8',\n\tbrvbar: '\\u00A6',\n\tBscr: '\\u212C',\n\tbscr: '\\uD835\\uDCB7',\n\tbsemi: '\\u204F',\n\tbsim: '\\u223D',\n\tbsime: '\\u22CD',\n\tbsol: '\\u005C',\n\tbsolb: '\\u29C5',\n\tbsolhsub: '\\u27C8',\n\tbull: '\\u2022',\n\tbullet: '\\u2022',\n\tbump: '\\u224E',\n\tbumpE: '\\u2AAE',\n\tbumpe: '\\u224F',\n\tBumpeq: '\\u224E',\n\tbumpeq: '\\u224F',\n\tCacute: '\\u0106',\n\tcacute: '\\u0107',\n\tCap: '\\u22D2',\n\tcap: '\\u2229',\n\tcapand: '\\u2A44',\n\tcapbrcup: '\\u2A49',\n\tcapcap: '\\u2A4B',\n\tcapcup: '\\u2A47',\n\tcapdot: '\\u2A40',\n\tCapitalDifferentialD: '\\u2145',\n\tcaps: '\\u2229\\uFE00',\n\tcaret: '\\u2041',\n\tcaron: '\\u02C7',\n\tCayleys: '\\u212D',\n\tccaps: '\\u2A4D',\n\tCcaron: '\\u010C',\n\tccaron: '\\u010D',\n\tCcedil: '\\u00C7',\n\tccedil: '\\u00E7',\n\tCcirc: '\\u0108',\n\tccirc: '\\u0109',\n\tCconint: '\\u2230',\n\tccups: '\\u2A4C',\n\tccupssm: '\\u2A50',\n\tCdot: '\\u010A',\n\tcdot: '\\u010B',\n\tcedil: '\\u00B8',\n\tCedilla: '\\u00B8',\n\tcemptyv: '\\u29B2',\n\tcent: '\\u00A2',\n\tCenterDot: '\\u00B7',\n\tcenterdot: '\\u00B7',\n\tCfr: '\\u212D',\n\tcfr: '\\uD835\\uDD20',\n\tCHcy: '\\u0427',\n\tchcy: '\\u0447',\n\tcheck: '\\u2713',\n\tcheckmark: '\\u2713',\n\tChi: '\\u03A7',\n\tchi: '\\u03C7',\n\tcir: '\\u25CB',\n\tcirc: '\\u02C6',\n\tcirceq: '\\u2257',\n\tcirclearrowleft: '\\u21BA',\n\tcirclearrowright: '\\u21BB',\n\tcircledast: '\\u229B',\n\tcircledcirc: '\\u229A',\n\tcircleddash: '\\u229D',\n\tCircleDot: '\\u2299',\n\tcircledR: '\\u00AE',\n\tcircledS: '\\u24C8',\n\tCircleMinus: '\\u2296',\n\tCirclePlus: '\\u2295',\n\tCircleTimes: '\\u2297',\n\tcirE: '\\u29C3',\n\tcire: '\\u2257',\n\tcirfnint: '\\u2A10',\n\tcirmid: '\\u2AEF',\n\tcirscir: '\\u29C2',\n\tClockwiseContourIntegral: '\\u2232',\n\tCloseCurlyDoubleQuote: '\\u201D',\n\tCloseCurlyQuote: '\\u2019',\n\tclubs: '\\u2663',\n\tclubsuit: '\\u2663',\n\tColon: '\\u2237',\n\tcolon: '\\u003A',\n\tColone: '\\u2A74',\n\tcolone: '\\u2254',\n\tcoloneq: '\\u2254',\n\tcomma: '\\u002C',\n\tcommat: '\\u0040',\n\tcomp: '\\u2201',\n\tcompfn: '\\u2218',\n\tcomplement: '\\u2201',\n\tcomplexes: '\\u2102',\n\tcong: '\\u2245',\n\tcongdot: '\\u2A6D',\n\tCongruent: '\\u2261',\n\tConint: '\\u222F',\n\tconint: '\\u222E',\n\tContourIntegral: '\\u222E',\n\tCopf: '\\u2102',\n\tcopf: '\\uD835\\uDD54',\n\tcoprod: '\\u2210',\n\tCoproduct: '\\u2210',\n\tCOPY: '\\u00A9',\n\tcopy: '\\u00A9',\n\tcopysr: '\\u2117',\n\tCounterClockwiseContourIntegral: '\\u2233',\n\tcrarr: '\\u21B5',\n\tCross: '\\u2A2F',\n\tcross: '\\u2717',\n\tCscr: '\\uD835\\uDC9E',\n\tcscr: '\\uD835\\uDCB8',\n\tcsub: '\\u2ACF',\n\tcsube: '\\u2AD1',\n\tcsup: '\\u2AD0',\n\tcsupe: '\\u2AD2',\n\tctdot: '\\u22EF',\n\tcudarrl: '\\u2938',\n\tcudarrr: '\\u2935',\n\tcuepr: '\\u22DE',\n\tcuesc: '\\u22DF',\n\tcularr: '\\u21B6',\n\tcularrp: '\\u293D',\n\tCup: '\\u22D3',\n\tcup: '\\u222A',\n\tcupbrcap: '\\u2A48',\n\tCupCap: '\\u224D',\n\tcupcap: '\\u2A46',\n\tcupcup: '\\u2A4A',\n\tcupdot: '\\u228D',\n\tcupor: '\\u2A45',\n\tcups: '\\u222A\\uFE00',\n\tcurarr: '\\u21B7',\n\tcurarrm: '\\u293C',\n\tcurlyeqprec: '\\u22DE',\n\tcurlyeqsucc: '\\u22DF',\n\tcurlyvee: '\\u22CE',\n\tcurlywedge: '\\u22CF',\n\tcurren: '\\u00A4',\n\tcurvearrowleft: '\\u21B6',\n\tcurvearrowright: '\\u21B7',\n\tcuvee: '\\u22CE',\n\tcuwed: '\\u22CF',\n\tcwconint: '\\u2232',\n\tcwint: '\\u2231',\n\tcylcty: '\\u232D',\n\tDagger: '\\u2021',\n\tdagger: '\\u2020',\n\tdaleth: '\\u2138',\n\tDarr: '\\u21A1',\n\tdArr: '\\u21D3',\n\tdarr: '\\u2193',\n\tdash: '\\u2010',\n\tDashv: '\\u2AE4',\n\tdashv: '\\u22A3',\n\tdbkarow: '\\u290F',\n\tdblac: '\\u02DD',\n\tDcaron: '\\u010E',\n\tdcaron: '\\u010F',\n\tDcy: '\\u0414',\n\tdcy: '\\u0434',\n\tDD: '\\u2145',\n\tdd: '\\u2146',\n\tddagger: '\\u2021',\n\tddarr: '\\u21CA',\n\tDDotrahd: '\\u2911',\n\tddotseq: '\\u2A77',\n\tdeg: '\\u00B0',\n\tDel: '\\u2207',\n\tDelta: '\\u0394',\n\tdelta: '\\u03B4',\n\tdemptyv: '\\u29B1',\n\tdfisht: '\\u297F',\n\tDfr: '\\uD835\\uDD07',\n\tdfr: '\\uD835\\uDD21',\n\tdHar: '\\u2965',\n\tdharl: '\\u21C3',\n\tdharr: '\\u21C2',\n\tDiacriticalAcute: '\\u00B4',\n\tDiacriticalDot: '\\u02D9',\n\tDiacriticalDoubleAcute: '\\u02DD',\n\tDiacriticalGrave: '\\u0060',\n\tDiacriticalTilde: '\\u02DC',\n\tdiam: '\\u22C4',\n\tDiamond: '\\u22C4',\n\tdiamond: '\\u22C4',\n\tdiamondsuit: '\\u2666',\n\tdiams: '\\u2666',\n\tdie: '\\u00A8',\n\tDifferentialD: '\\u2146',\n\tdigamma: '\\u03DD',\n\tdisin: '\\u22F2',\n\tdiv: '\\u00F7',\n\tdivide: '\\u00F7',\n\tdivideontimes: '\\u22C7',\n\tdivonx: '\\u22C7',\n\tDJcy: '\\u0402',\n\tdjcy: '\\u0452',\n\tdlcorn: '\\u231E',\n\tdlcrop: '\\u230D',\n\tdollar: '\\u0024',\n\tDopf: '\\uD835\\uDD3B',\n\tdopf: '\\uD835\\uDD55',\n\tDot: '\\u00A8',\n\tdot: '\\u02D9',\n\tDotDot: '\\u20DC',\n\tdoteq: '\\u2250',\n\tdoteqdot: '\\u2251',\n\tDotEqual: '\\u2250',\n\tdotminus: '\\u2238',\n\tdotplus: '\\u2214',\n\tdotsquare: '\\u22A1',\n\tdoublebarwedge: '\\u2306',\n\tDoubleContourIntegral: '\\u222F',\n\tDoubleDot: '\\u00A8',\n\tDoubleDownArrow: '\\u21D3',\n\tDoubleLeftArrow: '\\u21D0',\n\tDoubleLeftRightArrow: '\\u21D4',\n\tDoubleLeftTee: '\\u2AE4',\n\tDoubleLongLeftArrow: '\\u27F8',\n\tDoubleLongLeftRightArrow: '\\u27FA',\n\tDoubleLongRightArrow: '\\u27F9',\n\tDoubleRightArrow: '\\u21D2',\n\tDoubleRightTee: '\\u22A8',\n\tDoubleUpArrow: '\\u21D1',\n\tDoubleUpDownArrow: '\\u21D5',\n\tDoubleVerticalBar: '\\u2225',\n\tDownArrow: '\\u2193',\n\tDownarrow: '\\u21D3',\n\tdownarrow: '\\u2193',\n\tDownArrowBar: '\\u2913',\n\tDownArrowUpArrow: '\\u21F5',\n\tDownBreve: '\\u0311',\n\tdowndownarrows: '\\u21CA',\n\tdownharpoonleft: '\\u21C3',\n\tdownharpoonright: '\\u21C2',\n\tDownLeftRightVector: '\\u2950',\n\tDownLeftTeeVector: '\\u295E',\n\tDownLeftVector: '\\u21BD',\n\tDownLeftVectorBar: '\\u2956',\n\tDownRightTeeVector: '\\u295F',\n\tDownRightVector: '\\u21C1',\n\tDownRightVectorBar: '\\u2957',\n\tDownTee: '\\u22A4',\n\tDownTeeArrow: '\\u21A7',\n\tdrbkarow: '\\u2910',\n\tdrcorn: '\\u231F',\n\tdrcrop: '\\u230C',\n\tDscr: '\\uD835\\uDC9F',\n\tdscr: '\\uD835\\uDCB9',\n\tDScy: '\\u0405',\n\tdscy: '\\u0455',\n\tdsol: '\\u29F6',\n\tDstrok: '\\u0110',\n\tdstrok: '\\u0111',\n\tdtdot: '\\u22F1',\n\tdtri: '\\u25BF',\n\tdtrif: '\\u25BE',\n\tduarr: '\\u21F5',\n\tduhar: '\\u296F',\n\tdwangle: '\\u29A6',\n\tDZcy: '\\u040F',\n\tdzcy: '\\u045F',\n\tdzigrarr: '\\u27FF',\n\tEacute: '\\u00C9',\n\teacute: '\\u00E9',\n\teaster: '\\u2A6E',\n\tEcaron: '\\u011A',\n\tecaron: '\\u011B',\n\tecir: '\\u2256',\n\tEcirc: '\\u00CA',\n\tecirc: '\\u00EA',\n\tecolon: '\\u2255',\n\tEcy: '\\u042D',\n\tecy: '\\u044D',\n\teDDot: '\\u2A77',\n\tEdot: '\\u0116',\n\teDot: '\\u2251',\n\tedot: '\\u0117',\n\tee: '\\u2147',\n\tefDot: '\\u2252',\n\tEfr: '\\uD835\\uDD08',\n\tefr: '\\uD835\\uDD22',\n\teg: '\\u2A9A',\n\tEgrave: '\\u00C8',\n\tegrave: '\\u00E8',\n\tegs: '\\u2A96',\n\tegsdot: '\\u2A98',\n\tel: '\\u2A99',\n\tElement: '\\u2208',\n\telinters: '\\u23E7',\n\tell: '\\u2113',\n\tels: '\\u2A95',\n\telsdot: '\\u2A97',\n\tEmacr: '\\u0112',\n\temacr: '\\u0113',\n\tempty: '\\u2205',\n\temptyset: '\\u2205',\n\tEmptySmallSquare: '\\u25FB',\n\temptyv: '\\u2205',\n\tEmptyVerySmallSquare: '\\u25AB',\n\temsp: '\\u2003',\n\temsp13: '\\u2004',\n\temsp14: '\\u2005',\n\tENG: '\\u014A',\n\teng: '\\u014B',\n\tensp: '\\u2002',\n\tEogon: '\\u0118',\n\teogon: '\\u0119',\n\tEopf: '\\uD835\\uDD3C',\n\teopf: '\\uD835\\uDD56',\n\tepar: '\\u22D5',\n\teparsl: '\\u29E3',\n\teplus: '\\u2A71',\n\tepsi: '\\u03B5',\n\tEpsilon: '\\u0395',\n\tepsilon: '\\u03B5',\n\tepsiv: '\\u03F5',\n\teqcirc: '\\u2256',\n\teqcolon: '\\u2255',\n\teqsim: '\\u2242',\n\teqslantgtr: '\\u2A96',\n\teqslantless: '\\u2A95',\n\tEqual: '\\u2A75',\n\tequals: '\\u003D',\n\tEqualTilde: '\\u2242',\n\tequest: '\\u225F',\n\tEquilibrium: '\\u21CC',\n\tequiv: '\\u2261',\n\tequivDD: '\\u2A78',\n\teqvparsl: '\\u29E5',\n\terarr: '\\u2971',\n\terDot: '\\u2253',\n\tEscr: '\\u2130',\n\tescr: '\\u212F',\n\tesdot: '\\u2250',\n\tEsim: '\\u2A73',\n\tesim: '\\u2242',\n\tEta: '\\u0397',\n\teta: '\\u03B7',\n\tETH: '\\u00D0',\n\teth: '\\u00F0',\n\tEuml: '\\u00CB',\n\teuml: '\\u00EB',\n\teuro: '\\u20AC',\n\texcl: '\\u0021',\n\texist: '\\u2203',\n\tExists: '\\u2203',\n\texpectation: '\\u2130',\n\tExponentialE: '\\u2147',\n\texponentiale: '\\u2147',\n\tfallingdotseq: '\\u2252',\n\tFcy: '\\u0424',\n\tfcy: '\\u0444',\n\tfemale: '\\u2640',\n\tffilig: '\\uFB03',\n\tfflig: '\\uFB00',\n\tffllig: '\\uFB04',\n\tFfr: '\\uD835\\uDD09',\n\tffr: '\\uD835\\uDD23',\n\tfilig: '\\uFB01',\n\tFilledSmallSquare: '\\u25FC',\n\tFilledVerySmallSquare: '\\u25AA',\n\tfjlig: '\\u0066\\u006A',\n\tflat: '\\u266D',\n\tfllig: '\\uFB02',\n\tfltns: '\\u25B1',\n\tfnof: '\\u0192',\n\tFopf: '\\uD835\\uDD3D',\n\tfopf: '\\uD835\\uDD57',\n\tForAll: '\\u2200',\n\tforall: '\\u2200',\n\tfork: '\\u22D4',\n\tforkv: '\\u2AD9',\n\tFouriertrf: '\\u2131',\n\tfpartint: '\\u2A0D',\n\tfrac12: '\\u00BD',\n\tfrac13: '\\u2153',\n\tfrac14: '\\u00BC',\n\tfrac15: '\\u2155',\n\tfrac16: '\\u2159',\n\tfrac18: '\\u215B',\n\tfrac23: '\\u2154',\n\tfrac25: '\\u2156',\n\tfrac34: '\\u00BE',\n\tfrac35: '\\u2157',\n\tfrac38: '\\u215C',\n\tfrac45: '\\u2158',\n\tfrac56: '\\u215A',\n\tfrac58: '\\u215D',\n\tfrac78: '\\u215E',\n\tfrasl: '\\u2044',\n\tfrown: '\\u2322',\n\tFscr: '\\u2131',\n\tfscr: '\\uD835\\uDCBB',\n\tgacute: '\\u01F5',\n\tGamma: '\\u0393',\n\tgamma: '\\u03B3',\n\tGammad: '\\u03DC',\n\tgammad: '\\u03DD',\n\tgap: '\\u2A86',\n\tGbreve: '\\u011E',\n\tgbreve: '\\u011F',\n\tGcedil: '\\u0122',\n\tGcirc: '\\u011C',\n\tgcirc: '\\u011D',\n\tGcy: '\\u0413',\n\tgcy: '\\u0433',\n\tGdot: '\\u0120',\n\tgdot: '\\u0121',\n\tgE: '\\u2267',\n\tge: '\\u2265',\n\tgEl: '\\u2A8C',\n\tgel: '\\u22DB',\n\tgeq: '\\u2265',\n\tgeqq: '\\u2267',\n\tgeqslant: '\\u2A7E',\n\tges: '\\u2A7E',\n\tgescc: '\\u2AA9',\n\tgesdot: '\\u2A80',\n\tgesdoto: '\\u2A82',\n\tgesdotol: '\\u2A84',\n\tgesl: '\\u22DB\\uFE00',\n\tgesles: '\\u2A94',\n\tGfr: '\\uD835\\uDD0A',\n\tgfr: '\\uD835\\uDD24',\n\tGg: '\\u22D9',\n\tgg: '\\u226B',\n\tggg: '\\u22D9',\n\tgimel: '\\u2137',\n\tGJcy: '\\u0403',\n\tgjcy: '\\u0453',\n\tgl: '\\u2277',\n\tgla: '\\u2AA5',\n\tglE: '\\u2A92',\n\tglj: '\\u2AA4',\n\tgnap: '\\u2A8A',\n\tgnapprox: '\\u2A8A',\n\tgnE: '\\u2269',\n\tgne: '\\u2A88',\n\tgneq: '\\u2A88',\n\tgneqq: '\\u2269',\n\tgnsim: '\\u22E7',\n\tGopf: '\\uD835\\uDD3E',\n\tgopf: '\\uD835\\uDD58',\n\tgrave: '\\u0060',\n\tGreaterEqual: '\\u2265',\n\tGreaterEqualLess: '\\u22DB',\n\tGreaterFullEqual: '\\u2267',\n\tGreaterGreater: '\\u2AA2',\n\tGreaterLess: '\\u2277',\n\tGreaterSlantEqual: '\\u2A7E',\n\tGreaterTilde: '\\u2273',\n\tGscr: '\\uD835\\uDCA2',\n\tgscr: '\\u210A',\n\tgsim: '\\u2273',\n\tgsime: '\\u2A8E',\n\tgsiml: '\\u2A90',\n\tGt: '\\u226B',\n\tGT: '\\u003E',\n\tgt: '\\u003E',\n\tgtcc: '\\u2AA7',\n\tgtcir: '\\u2A7A',\n\tgtdot: '\\u22D7',\n\tgtlPar: '\\u2995',\n\tgtquest: '\\u2A7C',\n\tgtrapprox: '\\u2A86',\n\tgtrarr: '\\u2978',\n\tgtrdot: '\\u22D7',\n\tgtreqless: '\\u22DB',\n\tgtreqqless: '\\u2A8C',\n\tgtrless: '\\u2277',\n\tgtrsim: '\\u2273',\n\tgvertneqq: '\\u2269\\uFE00',\n\tgvnE: '\\u2269\\uFE00',\n\tHacek: '\\u02C7',\n\thairsp: '\\u200A',\n\thalf: '\\u00BD',\n\thamilt: '\\u210B',\n\tHARDcy: '\\u042A',\n\thardcy: '\\u044A',\n\thArr: '\\u21D4',\n\tharr: '\\u2194',\n\tharrcir: '\\u2948',\n\tharrw: '\\u21AD',\n\tHat: '\\u005E',\n\thbar: '\\u210F',\n\tHcirc: '\\u0124',\n\thcirc: '\\u0125',\n\thearts: '\\u2665',\n\theartsuit: '\\u2665',\n\thellip: '\\u2026',\n\thercon: '\\u22B9',\n\tHfr: '\\u210C',\n\thfr: '\\uD835\\uDD25',\n\tHilbertSpace: '\\u210B',\n\thksearow: '\\u2925',\n\thkswarow: '\\u2926',\n\thoarr: '\\u21FF',\n\thomtht: '\\u223B',\n\thookleftarrow: '\\u21A9',\n\thookrightarrow: '\\u21AA',\n\tHopf: '\\u210D',\n\thopf: '\\uD835\\uDD59',\n\thorbar: '\\u2015',\n\tHorizontalLine: '\\u2500',\n\tHscr: '\\u210B',\n\thscr: '\\uD835\\uDCBD',\n\thslash: '\\u210F',\n\tHstrok: '\\u0126',\n\thstrok: '\\u0127',\n\tHumpDownHump: '\\u224E',\n\tHumpEqual: '\\u224F',\n\thybull: '\\u2043',\n\thyphen: '\\u2010',\n\tIacute: '\\u00CD',\n\tiacute: '\\u00ED',\n\tic: '\\u2063',\n\tIcirc: '\\u00CE',\n\ticirc: '\\u00EE',\n\tIcy: '\\u0418',\n\ticy: '\\u0438',\n\tIdot: '\\u0130',\n\tIEcy: '\\u0415',\n\tiecy: '\\u0435',\n\tiexcl: '\\u00A1',\n\tiff: '\\u21D4',\n\tIfr: '\\u2111',\n\tifr: '\\uD835\\uDD26',\n\tIgrave: '\\u00CC',\n\tigrave: '\\u00EC',\n\tii: '\\u2148',\n\tiiiint: '\\u2A0C',\n\tiiint: '\\u222D',\n\tiinfin: '\\u29DC',\n\tiiota: '\\u2129',\n\tIJlig: '\\u0132',\n\tijlig: '\\u0133',\n\tIm: '\\u2111',\n\tImacr: '\\u012A',\n\timacr: '\\u012B',\n\timage: '\\u2111',\n\tImaginaryI: '\\u2148',\n\timagline: '\\u2110',\n\timagpart: '\\u2111',\n\timath: '\\u0131',\n\timof: '\\u22B7',\n\timped: '\\u01B5',\n\tImplies: '\\u21D2',\n\tin: '\\u2208',\n\tincare: '\\u2105',\n\tinfin: '\\u221E',\n\tinfintie: '\\u29DD',\n\tinodot: '\\u0131',\n\tInt: '\\u222C',\n\tint: '\\u222B',\n\tintcal: '\\u22BA',\n\tintegers: '\\u2124',\n\tIntegral: '\\u222B',\n\tintercal: '\\u22BA',\n\tIntersection: '\\u22C2',\n\tintlarhk: '\\u2A17',\n\tintprod: '\\u2A3C',\n\tInvisibleComma: '\\u2063',\n\tInvisibleTimes: '\\u2062',\n\tIOcy: '\\u0401',\n\tiocy: '\\u0451',\n\tIogon: '\\u012E',\n\tiogon: '\\u012F',\n\tIopf: '\\uD835\\uDD40',\n\tiopf: '\\uD835\\uDD5A',\n\tIota: '\\u0399',\n\tiota: '\\u03B9',\n\tiprod: '\\u2A3C',\n\tiquest: '\\u00BF',\n\tIscr: '\\u2110',\n\tiscr: '\\uD835\\uDCBE',\n\tisin: '\\u2208',\n\tisindot: '\\u22F5',\n\tisinE: '\\u22F9',\n\tisins: '\\u22F4',\n\tisinsv: '\\u22F3',\n\tisinv: '\\u2208',\n\tit: '\\u2062',\n\tItilde: '\\u0128',\n\titilde: '\\u0129',\n\tIukcy: '\\u0406',\n\tiukcy: '\\u0456',\n\tIuml: '\\u00CF',\n\tiuml: '\\u00EF',\n\tJcirc: '\\u0134',\n\tjcirc: '\\u0135',\n\tJcy: '\\u0419',\n\tjcy: '\\u0439',\n\tJfr: '\\uD835\\uDD0D',\n\tjfr: '\\uD835\\uDD27',\n\tjmath: '\\u0237',\n\tJopf: '\\uD835\\uDD41',\n\tjopf: '\\uD835\\uDD5B',\n\tJscr: '\\uD835\\uDCA5',\n\tjscr: '\\uD835\\uDCBF',\n\tJsercy: '\\u0408',\n\tjsercy: '\\u0458',\n\tJukcy: '\\u0404',\n\tjukcy: '\\u0454',\n\tKappa: '\\u039A',\n\tkappa: '\\u03BA',\n\tkappav: '\\u03F0',\n\tKcedil: '\\u0136',\n\tkcedil: '\\u0137',\n\tKcy: '\\u041A',\n\tkcy: '\\u043A',\n\tKfr: '\\uD835\\uDD0E',\n\tkfr: '\\uD835\\uDD28',\n\tkgreen: '\\u0138',\n\tKHcy: '\\u0425',\n\tkhcy: '\\u0445',\n\tKJcy: '\\u040C',\n\tkjcy: '\\u045C',\n\tKopf: '\\uD835\\uDD42',\n\tkopf: '\\uD835\\uDD5C',\n\tKscr: '\\uD835\\uDCA6',\n\tkscr: '\\uD835\\uDCC0',\n\tlAarr: '\\u21DA',\n\tLacute: '\\u0139',\n\tlacute: '\\u013A',\n\tlaemptyv: '\\u29B4',\n\tlagran: '\\u2112',\n\tLambda: '\\u039B',\n\tlambda: '\\u03BB',\n\tLang: '\\u27EA',\n\tlang: '\\u27E8',\n\tlangd: '\\u2991',\n\tlangle: '\\u27E8',\n\tlap: '\\u2A85',\n\tLaplacetrf: '\\u2112',\n\tlaquo: '\\u00AB',\n\tLarr: '\\u219E',\n\tlArr: '\\u21D0',\n\tlarr: '\\u2190',\n\tlarrb: '\\u21E4',\n\tlarrbfs: '\\u291F',\n\tlarrfs: '\\u291D',\n\tlarrhk: '\\u21A9',\n\tlarrlp: '\\u21AB',\n\tlarrpl: '\\u2939',\n\tlarrsim: '\\u2973',\n\tlarrtl: '\\u21A2',\n\tlat: '\\u2AAB',\n\tlAtail: '\\u291B',\n\tlatail: '\\u2919',\n\tlate: '\\u2AAD',\n\tlates: '\\u2AAD\\uFE00',\n\tlBarr: '\\u290E',\n\tlbarr: '\\u290C',\n\tlbbrk: '\\u2772',\n\tlbrace: '\\u007B',\n\tlbrack: '\\u005B',\n\tlbrke: '\\u298B',\n\tlbrksld: '\\u298F',\n\tlbrkslu: '\\u298D',\n\tLcaron: '\\u013D',\n\tlcaron: '\\u013E',\n\tLcedil: '\\u013B',\n\tlcedil: '\\u013C',\n\tlceil: '\\u2308',\n\tlcub: '\\u007B',\n\tLcy: '\\u041B',\n\tlcy: '\\u043B',\n\tldca: '\\u2936',\n\tldquo: '\\u201C',\n\tldquor: '\\u201E',\n\tldrdhar: '\\u2967',\n\tldrushar: '\\u294B',\n\tldsh: '\\u21B2',\n\tlE: '\\u2266',\n\tle: '\\u2264',\n\tLeftAngleBracket: '\\u27E8',\n\tLeftArrow: '\\u2190',\n\tLeftarrow: '\\u21D0',\n\tleftarrow: '\\u2190',\n\tLeftArrowBar: '\\u21E4',\n\tLeftArrowRightArrow: '\\u21C6',\n\tleftarrowtail: '\\u21A2',\n\tLeftCeiling: '\\u2308',\n\tLeftDoubleBracket: '\\u27E6',\n\tLeftDownTeeVector: '\\u2961',\n\tLeftDownVector: '\\u21C3',\n\tLeftDownVectorBar: '\\u2959',\n\tLeftFloor: '\\u230A',\n\tleftharpoondown: '\\u21BD',\n\tleftharpoonup: '\\u21BC',\n\tleftleftarrows: '\\u21C7',\n\tLeftRightArrow: '\\u2194',\n\tLeftrightarrow: '\\u21D4',\n\tleftrightarrow: '\\u2194',\n\tleftrightarrows: '\\u21C6',\n\tleftrightharpoons: '\\u21CB',\n\tleftrightsquigarrow: '\\u21AD',\n\tLeftRightVector: '\\u294E',\n\tLeftTee: '\\u22A3',\n\tLeftTeeArrow: '\\u21A4',\n\tLeftTeeVector: '\\u295A',\n\tleftthreetimes: '\\u22CB',\n\tLeftTriangle: '\\u22B2',\n\tLeftTriangleBar: '\\u29CF',\n\tLeftTriangleEqual: '\\u22B4',\n\tLeftUpDownVector: '\\u2951',\n\tLeftUpTeeVector: '\\u2960',\n\tLeftUpVector: '\\u21BF',\n\tLeftUpVectorBar: '\\u2958',\n\tLeftVector: '\\u21BC',\n\tLeftVectorBar: '\\u2952',\n\tlEg: '\\u2A8B',\n\tleg: '\\u22DA',\n\tleq: '\\u2264',\n\tleqq: '\\u2266',\n\tleqslant: '\\u2A7D',\n\tles: '\\u2A7D',\n\tlescc: '\\u2AA8',\n\tlesdot: '\\u2A7F',\n\tlesdoto: '\\u2A81',\n\tlesdotor: '\\u2A83',\n\tlesg: '\\u22DA\\uFE00',\n\tlesges: '\\u2A93',\n\tlessapprox: '\\u2A85',\n\tlessdot: '\\u22D6',\n\tlesseqgtr: '\\u22DA',\n\tlesseqqgtr: '\\u2A8B',\n\tLessEqualGreater: '\\u22DA',\n\tLessFullEqual: '\\u2266',\n\tLessGreater: '\\u2276',\n\tlessgtr: '\\u2276',\n\tLessLess: '\\u2AA1',\n\tlesssim: '\\u2272',\n\tLessSlantEqual: '\\u2A7D',\n\tLessTilde: '\\u2272',\n\tlfisht: '\\u297C',\n\tlfloor: '\\u230A',\n\tLfr: '\\uD835\\uDD0F',\n\tlfr: '\\uD835\\uDD29',\n\tlg: '\\u2276',\n\tlgE: '\\u2A91',\n\tlHar: '\\u2962',\n\tlhard: '\\u21BD',\n\tlharu: '\\u21BC',\n\tlharul: '\\u296A',\n\tlhblk: '\\u2584',\n\tLJcy: '\\u0409',\n\tljcy: '\\u0459',\n\tLl: '\\u22D8',\n\tll: '\\u226A',\n\tllarr: '\\u21C7',\n\tllcorner: '\\u231E',\n\tLleftarrow: '\\u21DA',\n\tllhard: '\\u296B',\n\tlltri: '\\u25FA',\n\tLmidot: '\\u013F',\n\tlmidot: '\\u0140',\n\tlmoust: '\\u23B0',\n\tlmoustache: '\\u23B0',\n\tlnap: '\\u2A89',\n\tlnapprox: '\\u2A89',\n\tlnE: '\\u2268',\n\tlne: '\\u2A87',\n\tlneq: '\\u2A87',\n\tlneqq: '\\u2268',\n\tlnsim: '\\u22E6',\n\tloang: '\\u27EC',\n\tloarr: '\\u21FD',\n\tlobrk: '\\u27E6',\n\tLongLeftArrow: '\\u27F5',\n\tLongleftarrow: '\\u27F8',\n\tlongleftarrow: '\\u27F5',\n\tLongLeftRightArrow: '\\u27F7',\n\tLongleftrightarrow: '\\u27FA',\n\tlongleftrightarrow: '\\u27F7',\n\tlongmapsto: '\\u27FC',\n\tLongRightArrow: '\\u27F6',\n\tLongrightarrow: '\\u27F9',\n\tlongrightarrow: '\\u27F6',\n\tlooparrowleft: '\\u21AB',\n\tlooparrowright: '\\u21AC',\n\tlopar: '\\u2985',\n\tLopf: '\\uD835\\uDD43',\n\tlopf: '\\uD835\\uDD5D',\n\tloplus: '\\u2A2D',\n\tlotimes: '\\u2A34',\n\tlowast: '\\u2217',\n\tlowbar: '\\u005F',\n\tLowerLeftArrow: '\\u2199',\n\tLowerRightArrow: '\\u2198',\n\tloz: '\\u25CA',\n\tlozenge: '\\u25CA',\n\tlozf: '\\u29EB',\n\tlpar: '\\u0028',\n\tlparlt: '\\u2993',\n\tlrarr: '\\u21C6',\n\tlrcorner: '\\u231F',\n\tlrhar: '\\u21CB',\n\tlrhard: '\\u296D',\n\tlrm: '\\u200E',\n\tlrtri: '\\u22BF',\n\tlsaquo: '\\u2039',\n\tLscr: '\\u2112',\n\tlscr: '\\uD835\\uDCC1',\n\tLsh: '\\u21B0',\n\tlsh: '\\u21B0',\n\tlsim: '\\u2272',\n\tlsime: '\\u2A8D',\n\tlsimg: '\\u2A8F',\n\tlsqb: '\\u005B',\n\tlsquo: '\\u2018',\n\tlsquor: '\\u201A',\n\tLstrok: '\\u0141',\n\tlstrok: '\\u0142',\n\tLt: '\\u226A',\n\tLT: '\\u003C',\n\tlt: '\\u003C',\n\tltcc: '\\u2AA6',\n\tltcir: '\\u2A79',\n\tltdot: '\\u22D6',\n\tlthree: '\\u22CB',\n\tltimes: '\\u22C9',\n\tltlarr: '\\u2976',\n\tltquest: '\\u2A7B',\n\tltri: '\\u25C3',\n\tltrie: '\\u22B4',\n\tltrif: '\\u25C2',\n\tltrPar: '\\u2996',\n\tlurdshar: '\\u294A',\n\tluruhar: '\\u2966',\n\tlvertneqq: '\\u2268\\uFE00',\n\tlvnE: '\\u2268\\uFE00',\n\tmacr: '\\u00AF',\n\tmale: '\\u2642',\n\tmalt: '\\u2720',\n\tmaltese: '\\u2720',\n\tMap: '\\u2905',\n\tmap: '\\u21A6',\n\tmapsto: '\\u21A6',\n\tmapstodown: '\\u21A7',\n\tmapstoleft: '\\u21A4',\n\tmapstoup: '\\u21A5',\n\tmarker: '\\u25AE',\n\tmcomma: '\\u2A29',\n\tMcy: '\\u041C',\n\tmcy: '\\u043C',\n\tmdash: '\\u2014',\n\tmDDot: '\\u223A',\n\tmeasuredangle: '\\u2221',\n\tMediumSpace: '\\u205F',\n\tMellintrf: '\\u2133',\n\tMfr: '\\uD835\\uDD10',\n\tmfr: '\\uD835\\uDD2A',\n\tmho: '\\u2127',\n\tmicro: '\\u00B5',\n\tmid: '\\u2223',\n\tmidast: '\\u002A',\n\tmidcir: '\\u2AF0',\n\tmiddot: '\\u00B7',\n\tminus: '\\u2212',\n\tminusb: '\\u229F',\n\tminusd: '\\u2238',\n\tminusdu: '\\u2A2A',\n\tMinusPlus: '\\u2213',\n\tmlcp: '\\u2ADB',\n\tmldr: '\\u2026',\n\tmnplus: '\\u2213',\n\tmodels: '\\u22A7',\n\tMopf: '\\uD835\\uDD44',\n\tmopf: '\\uD835\\uDD5E',\n\tmp: '\\u2213',\n\tMscr: '\\u2133',\n\tmscr: '\\uD835\\uDCC2',\n\tmstpos: '\\u223E',\n\tMu: '\\u039C',\n\tmu: '\\u03BC',\n\tmultimap: '\\u22B8',\n\tmumap: '\\u22B8',\n\tnabla: '\\u2207',\n\tNacute: '\\u0143',\n\tnacute: '\\u0144',\n\tnang: '\\u2220\\u20D2',\n\tnap: '\\u2249',\n\tnapE: '\\u2A70\\u0338',\n\tnapid: '\\u224B\\u0338',\n\tnapos: '\\u0149',\n\tnapprox: '\\u2249',\n\tnatur: '\\u266E',\n\tnatural: '\\u266E',\n\tnaturals: '\\u2115',\n\tnbsp: '\\u00A0',\n\tnbump: '\\u224E\\u0338',\n\tnbumpe: '\\u224F\\u0338',\n\tncap: '\\u2A43',\n\tNcaron: '\\u0147',\n\tncaron: '\\u0148',\n\tNcedil: '\\u0145',\n\tncedil: '\\u0146',\n\tncong: '\\u2247',\n\tncongdot: '\\u2A6D\\u0338',\n\tncup: '\\u2A42',\n\tNcy: '\\u041D',\n\tncy: '\\u043D',\n\tndash: '\\u2013',\n\tne: '\\u2260',\n\tnearhk: '\\u2924',\n\tneArr: '\\u21D7',\n\tnearr: '\\u2197',\n\tnearrow: '\\u2197',\n\tnedot: '\\u2250\\u0338',\n\tNegativeMediumSpace: '\\u200B',\n\tNegativeThickSpace: '\\u200B',\n\tNegativeThinSpace: '\\u200B',\n\tNegativeVeryThinSpace: '\\u200B',\n\tnequiv: '\\u2262',\n\tnesear: '\\u2928',\n\tnesim: '\\u2242\\u0338',\n\tNestedGreaterGreater: '\\u226B',\n\tNestedLessLess: '\\u226A',\n\tNewLine: '\\u000A',\n\tnexist: '\\u2204',\n\tnexists: '\\u2204',\n\tNfr: '\\uD835\\uDD11',\n\tnfr: '\\uD835\\uDD2B',\n\tngE: '\\u2267\\u0338',\n\tnge: '\\u2271',\n\tngeq: '\\u2271',\n\tngeqq: '\\u2267\\u0338',\n\tngeqslant: '\\u2A7E\\u0338',\n\tnges: '\\u2A7E\\u0338',\n\tnGg: '\\u22D9\\u0338',\n\tngsim: '\\u2275',\n\tnGt: '\\u226B\\u20D2',\n\tngt: '\\u226F',\n\tngtr: '\\u226F',\n\tnGtv: '\\u226B\\u0338',\n\tnhArr: '\\u21CE',\n\tnharr: '\\u21AE',\n\tnhpar: '\\u2AF2',\n\tni: '\\u220B',\n\tnis: '\\u22FC',\n\tnisd: '\\u22FA',\n\tniv: '\\u220B',\n\tNJcy: '\\u040A',\n\tnjcy: '\\u045A',\n\tnlArr: '\\u21CD',\n\tnlarr: '\\u219A',\n\tnldr: '\\u2025',\n\tnlE: '\\u2266\\u0338',\n\tnle: '\\u2270',\n\tnLeftarrow: '\\u21CD',\n\tnleftarrow: '\\u219A',\n\tnLeftrightarrow: '\\u21CE',\n\tnleftrightarrow: '\\u21AE',\n\tnleq: '\\u2270',\n\tnleqq: '\\u2266\\u0338',\n\tnleqslant: '\\u2A7D\\u0338',\n\tnles: '\\u2A7D\\u0338',\n\tnless: '\\u226E',\n\tnLl: '\\u22D8\\u0338',\n\tnlsim: '\\u2274',\n\tnLt: '\\u226A\\u20D2',\n\tnlt: '\\u226E',\n\tnltri: '\\u22EA',\n\tnltrie: '\\u22EC',\n\tnLtv: '\\u226A\\u0338',\n\tnmid: '\\u2224',\n\tNoBreak: '\\u2060',\n\tNonBreakingSpace: '\\u00A0',\n\tNopf: '\\u2115',\n\tnopf: '\\uD835\\uDD5F',\n\tNot: '\\u2AEC',\n\tnot: '\\u00AC',\n\tNotCongruent: '\\u2262',\n\tNotCupCap: '\\u226D',\n\tNotDoubleVerticalBar: '\\u2226',\n\tNotElement: '\\u2209',\n\tNotEqual: '\\u2260',\n\tNotEqualTilde: '\\u2242\\u0338',\n\tNotExists: '\\u2204',\n\tNotGreater: '\\u226F',\n\tNotGreaterEqual: '\\u2271',\n\tNotGreaterFullEqual: '\\u2267\\u0338',\n\tNotGreaterGreater: '\\u226B\\u0338',\n\tNotGreaterLess: '\\u2279',\n\tNotGreaterSlantEqual: '\\u2A7E\\u0338',\n\tNotGreaterTilde: '\\u2275',\n\tNotHumpDownHump: '\\u224E\\u0338',\n\tNotHumpEqual: '\\u224F\\u0338',\n\tnotin: '\\u2209',\n\tnotindot: '\\u22F5\\u0338',\n\tnotinE: '\\u22F9\\u0338',\n\tnotinva: '\\u2209',\n\tnotinvb: '\\u22F7',\n\tnotinvc: '\\u22F6',\n\tNotLeftTriangle: '\\u22EA',\n\tNotLeftTriangleBar: '\\u29CF\\u0338',\n\tNotLeftTriangleEqual: '\\u22EC',\n\tNotLess: '\\u226E',\n\tNotLessEqual: '\\u2270',\n\tNotLessGreater: '\\u2278',\n\tNotLessLess: '\\u226A\\u0338',\n\tNotLessSlantEqual: '\\u2A7D\\u0338',\n\tNotLessTilde: '\\u2274',\n\tNotNestedGreaterGreater: '\\u2AA2\\u0338',\n\tNotNestedLessLess: '\\u2AA1\\u0338',\n\tnotni: '\\u220C',\n\tnotniva: '\\u220C',\n\tnotnivb: '\\u22FE',\n\tnotnivc: '\\u22FD',\n\tNotPrecedes: '\\u2280',\n\tNotPrecedesEqual: '\\u2AAF\\u0338',\n\tNotPrecedesSlantEqual: '\\u22E0',\n\tNotReverseElement: '\\u220C',\n\tNotRightTriangle: '\\u22EB',\n\tNotRightTriangleBar: '\\u29D0\\u0338',\n\tNotRightTriangleEqual: '\\u22ED',\n\tNotSquareSubset: '\\u228F\\u0338',\n\tNotSquareSubsetEqual: '\\u22E2',\n\tNotSquareSuperset: '\\u2290\\u0338',\n\tNotSquareSupersetEqual: '\\u22E3',\n\tNotSubset: '\\u2282\\u20D2',\n\tNotSubsetEqual: '\\u2288',\n\tNotSucceeds: '\\u2281',\n\tNotSucceedsEqual: '\\u2AB0\\u0338',\n\tNotSucceedsSlantEqual: '\\u22E1',\n\tNotSucceedsTilde: '\\u227F\\u0338',\n\tNotSuperset: '\\u2283\\u20D2',\n\tNotSupersetEqual: '\\u2289',\n\tNotTilde: '\\u2241',\n\tNotTildeEqual: '\\u2244',\n\tNotTildeFullEqual: '\\u2247',\n\tNotTildeTilde: '\\u2249',\n\tNotVerticalBar: '\\u2224',\n\tnpar: '\\u2226',\n\tnparallel: '\\u2226',\n\tnparsl: '\\u2AFD\\u20E5',\n\tnpart: '\\u2202\\u0338',\n\tnpolint: '\\u2A14',\n\tnpr: '\\u2280',\n\tnprcue: '\\u22E0',\n\tnpre: '\\u2AAF\\u0338',\n\tnprec: '\\u2280',\n\tnpreceq: '\\u2AAF\\u0338',\n\tnrArr: '\\u21CF',\n\tnrarr: '\\u219B',\n\tnrarrc: '\\u2933\\u0338',\n\tnrarrw: '\\u219D\\u0338',\n\tnRightarrow: '\\u21CF',\n\tnrightarrow: '\\u219B',\n\tnrtri: '\\u22EB',\n\tnrtrie: '\\u22ED',\n\tnsc: '\\u2281',\n\tnsccue: '\\u22E1',\n\tnsce: '\\u2AB0\\u0338',\n\tNscr: '\\uD835\\uDCA9',\n\tnscr: '\\uD835\\uDCC3',\n\tnshortmid: '\\u2224',\n\tnshortparallel: '\\u2226',\n\tnsim: '\\u2241',\n\tnsime: '\\u2244',\n\tnsimeq: '\\u2244',\n\tnsmid: '\\u2224',\n\tnspar: '\\u2226',\n\tnsqsube: '\\u22E2',\n\tnsqsupe: '\\u22E3',\n\tnsub: '\\u2284',\n\tnsubE: '\\u2AC5\\u0338',\n\tnsube: '\\u2288',\n\tnsubset: '\\u2282\\u20D2',\n\tnsubseteq: '\\u2288',\n\tnsubseteqq: '\\u2AC5\\u0338',\n\tnsucc: '\\u2281',\n\tnsucceq: '\\u2AB0\\u0338',\n\tnsup: '\\u2285',\n\tnsupE: '\\u2AC6\\u0338',\n\tnsupe: '\\u2289',\n\tnsupset: '\\u2283\\u20D2',\n\tnsupseteq: '\\u2289',\n\tnsupseteqq: '\\u2AC6\\u0338',\n\tntgl: '\\u2279',\n\tNtilde: '\\u00D1',\n\tntilde: '\\u00F1',\n\tntlg: '\\u2278',\n\tntriangleleft: '\\u22EA',\n\tntrianglelefteq: '\\u22EC',\n\tntriangleright: '\\u22EB',\n\tntrianglerighteq: '\\u22ED',\n\tNu: '\\u039D',\n\tnu: '\\u03BD',\n\tnum: '\\u0023',\n\tnumero: '\\u2116',\n\tnumsp: '\\u2007',\n\tnvap: '\\u224D\\u20D2',\n\tnVDash: '\\u22AF',\n\tnVdash: '\\u22AE',\n\tnvDash: '\\u22AD',\n\tnvdash: '\\u22AC',\n\tnvge: '\\u2265\\u20D2',\n\tnvgt: '\\u003E\\u20D2',\n\tnvHarr: '\\u2904',\n\tnvinfin: '\\u29DE',\n\tnvlArr: '\\u2902',\n\tnvle: '\\u2264\\u20D2',\n\tnvlt: '\\u003C\\u20D2',\n\tnvltrie: '\\u22B4\\u20D2',\n\tnvrArr: '\\u2903',\n\tnvrtrie: '\\u22B5\\u20D2',\n\tnvsim: '\\u223C\\u20D2',\n\tnwarhk: '\\u2923',\n\tnwArr: '\\u21D6',\n\tnwarr: '\\u2196',\n\tnwarrow: '\\u2196',\n\tnwnear: '\\u2927',\n\tOacute: '\\u00D3',\n\toacute: '\\u00F3',\n\toast: '\\u229B',\n\tocir: '\\u229A',\n\tOcirc: '\\u00D4',\n\tocirc: '\\u00F4',\n\tOcy: '\\u041E',\n\tocy: '\\u043E',\n\todash: '\\u229D',\n\tOdblac: '\\u0150',\n\todblac: '\\u0151',\n\todiv: '\\u2A38',\n\todot: '\\u2299',\n\todsold: '\\u29BC',\n\tOElig: '\\u0152',\n\toelig: '\\u0153',\n\tofcir: '\\u29BF',\n\tOfr: '\\uD835\\uDD12',\n\tofr: '\\uD835\\uDD2C',\n\togon: '\\u02DB',\n\tOgrave: '\\u00D2',\n\tograve: '\\u00F2',\n\togt: '\\u29C1',\n\tohbar: '\\u29B5',\n\tohm: '\\u03A9',\n\toint: '\\u222E',\n\tolarr: '\\u21BA',\n\tolcir: '\\u29BE',\n\tolcross: '\\u29BB',\n\toline: '\\u203E',\n\tolt: '\\u29C0',\n\tOmacr: '\\u014C',\n\tomacr: '\\u014D',\n\tOmega: '\\u03A9',\n\tomega: '\\u03C9',\n\tOmicron: '\\u039F',\n\tomicron: '\\u03BF',\n\tomid: '\\u29B6',\n\tominus: '\\u2296',\n\tOopf: '\\uD835\\uDD46',\n\toopf: '\\uD835\\uDD60',\n\topar: '\\u29B7',\n\tOpenCurlyDoubleQuote: '\\u201C',\n\tOpenCurlyQuote: '\\u2018',\n\toperp: '\\u29B9',\n\toplus: '\\u2295',\n\tOr: '\\u2A54',\n\tor: '\\u2228',\n\torarr: '\\u21BB',\n\tord: '\\u2A5D',\n\torder: '\\u2134',\n\torderof: '\\u2134',\n\tordf: '\\u00AA',\n\tordm: '\\u00BA',\n\torigof: '\\u22B6',\n\toror: '\\u2A56',\n\torslope: '\\u2A57',\n\torv: '\\u2A5B',\n\toS: '\\u24C8',\n\tOscr: '\\uD835\\uDCAA',\n\toscr: '\\u2134',\n\tOslash: '\\u00D8',\n\toslash: '\\u00F8',\n\tosol: '\\u2298',\n\tOtilde: '\\u00D5',\n\totilde: '\\u00F5',\n\tOtimes: '\\u2A37',\n\totimes: '\\u2297',\n\totimesas: '\\u2A36',\n\tOuml: '\\u00D6',\n\touml: '\\u00F6',\n\tovbar: '\\u233D',\n\tOverBar: '\\u203E',\n\tOverBrace: '\\u23DE',\n\tOverBracket: '\\u23B4',\n\tOverParenthesis: '\\u23DC',\n\tpar: '\\u2225',\n\tpara: '\\u00B6',\n\tparallel: '\\u2225',\n\tparsim: '\\u2AF3',\n\tparsl: '\\u2AFD',\n\tpart: '\\u2202',\n\tPartialD: '\\u2202',\n\tPcy: '\\u041F',\n\tpcy: '\\u043F',\n\tpercnt: '\\u0025',\n\tperiod: '\\u002E',\n\tpermil: '\\u2030',\n\tperp: '\\u22A5',\n\tpertenk: '\\u2031',\n\tPfr: '\\uD835\\uDD13',\n\tpfr: '\\uD835\\uDD2D',\n\tPhi: '\\u03A6',\n\tphi: '\\u03C6',\n\tphiv: '\\u03D5',\n\tphmmat: '\\u2133',\n\tphone: '\\u260E',\n\tPi: '\\u03A0',\n\tpi: '\\u03C0',\n\tpitchfork: '\\u22D4',\n\tpiv: '\\u03D6',\n\tplanck: '\\u210F',\n\tplanckh: '\\u210E',\n\tplankv: '\\u210F',\n\tplus: '\\u002B',\n\tplusacir: '\\u2A23',\n\tplusb: '\\u229E',\n\tpluscir: '\\u2A22',\n\tplusdo: '\\u2214',\n\tplusdu: '\\u2A25',\n\tpluse: '\\u2A72',\n\tPlusMinus: '\\u00B1',\n\tplusmn: '\\u00B1',\n\tplussim: '\\u2A26',\n\tplustwo: '\\u2A27',\n\tpm: '\\u00B1',\n\tPoincareplane: '\\u210C',\n\tpointint: '\\u2A15',\n\tPopf: '\\u2119',\n\tpopf: '\\uD835\\uDD61',\n\tpound: '\\u00A3',\n\tPr: '\\u2ABB',\n\tpr: '\\u227A',\n\tprap: '\\u2AB7',\n\tprcue: '\\u227C',\n\tprE: '\\u2AB3',\n\tpre: '\\u2AAF',\n\tprec: '\\u227A',\n\tprecapprox: '\\u2AB7',\n\tpreccurlyeq: '\\u227C',\n\tPrecedes: '\\u227A',\n\tPrecedesEqual: '\\u2AAF',\n\tPrecedesSlantEqual: '\\u227C',\n\tPrecedesTilde: '\\u227E',\n\tpreceq: '\\u2AAF',\n\tprecnapprox: '\\u2AB9',\n\tprecneqq: '\\u2AB5',\n\tprecnsim: '\\u22E8',\n\tprecsim: '\\u227E',\n\tPrime: '\\u2033',\n\tprime: '\\u2032',\n\tprimes: '\\u2119',\n\tprnap: '\\u2AB9',\n\tprnE: '\\u2AB5',\n\tprnsim: '\\u22E8',\n\tprod: '\\u220F',\n\tProduct: '\\u220F',\n\tprofalar: '\\u232E',\n\tprofline: '\\u2312',\n\tprofsurf: '\\u2313',\n\tprop: '\\u221D',\n\tProportion: '\\u2237',\n\tProportional: '\\u221D',\n\tpropto: '\\u221D',\n\tprsim: '\\u227E',\n\tprurel: '\\u22B0',\n\tPscr: '\\uD835\\uDCAB',\n\tpscr: '\\uD835\\uDCC5',\n\tPsi: '\\u03A8',\n\tpsi: '\\u03C8',\n\tpuncsp: '\\u2008',\n\tQfr: '\\uD835\\uDD14',\n\tqfr: '\\uD835\\uDD2E',\n\tqint: '\\u2A0C',\n\tQopf: '\\u211A',\n\tqopf: '\\uD835\\uDD62',\n\tqprime: '\\u2057',\n\tQscr: '\\uD835\\uDCAC',\n\tqscr: '\\uD835\\uDCC6',\n\tquaternions: '\\u210D',\n\tquatint: '\\u2A16',\n\tquest: '\\u003F',\n\tquesteq: '\\u225F',\n\tQUOT: '\\u0022',\n\tquot: '\\u0022',\n\trAarr: '\\u21DB',\n\trace: '\\u223D\\u0331',\n\tRacute: '\\u0154',\n\tracute: '\\u0155',\n\tradic: '\\u221A',\n\traemptyv: '\\u29B3',\n\tRang: '\\u27EB',\n\trang: '\\u27E9',\n\trangd: '\\u2992',\n\trange: '\\u29A5',\n\trangle: '\\u27E9',\n\traquo: '\\u00BB',\n\tRarr: '\\u21A0',\n\trArr: '\\u21D2',\n\trarr: '\\u2192',\n\trarrap: '\\u2975',\n\trarrb: '\\u21E5',\n\trarrbfs: '\\u2920',\n\trarrc: '\\u2933',\n\trarrfs: '\\u291E',\n\trarrhk: '\\u21AA',\n\trarrlp: '\\u21AC',\n\trarrpl: '\\u2945',\n\trarrsim: '\\u2974',\n\tRarrtl: '\\u2916',\n\trarrtl: '\\u21A3',\n\trarrw: '\\u219D',\n\trAtail: '\\u291C',\n\tratail: '\\u291A',\n\tratio: '\\u2236',\n\trationals: '\\u211A',\n\tRBarr: '\\u2910',\n\trBarr: '\\u290F',\n\trbarr: '\\u290D',\n\trbbrk: '\\u2773',\n\trbrace: '\\u007D',\n\trbrack: '\\u005D',\n\trbrke: '\\u298C',\n\trbrksld: '\\u298E',\n\trbrkslu: '\\u2990',\n\tRcaron: '\\u0158',\n\trcaron: '\\u0159',\n\tRcedil: '\\u0156',\n\trcedil: '\\u0157',\n\trceil: '\\u2309',\n\trcub: '\\u007D',\n\tRcy: '\\u0420',\n\trcy: '\\u0440',\n\trdca: '\\u2937',\n\trdldhar: '\\u2969',\n\trdquo: '\\u201D',\n\trdquor: '\\u201D',\n\trdsh: '\\u21B3',\n\tRe: '\\u211C',\n\treal: '\\u211C',\n\trealine: '\\u211B',\n\trealpart: '\\u211C',\n\treals: '\\u211D',\n\trect: '\\u25AD',\n\tREG: '\\u00AE',\n\treg: '\\u00AE',\n\tReverseElement: '\\u220B',\n\tReverseEquilibrium: '\\u21CB',\n\tReverseUpEquilibrium: '\\u296F',\n\trfisht: '\\u297D',\n\trfloor: '\\u230B',\n\tRfr: '\\u211C',\n\trfr: '\\uD835\\uDD2F',\n\trHar: '\\u2964',\n\trhard: '\\u21C1',\n\trharu: '\\u21C0',\n\trharul: '\\u296C',\n\tRho: '\\u03A1',\n\trho: '\\u03C1',\n\trhov: '\\u03F1',\n\tRightAngleBracket: '\\u27E9',\n\tRightArrow: '\\u2192',\n\tRightarrow: '\\u21D2',\n\trightarrow: '\\u2192',\n\tRightArrowBar: '\\u21E5',\n\tRightArrowLeftArrow: '\\u21C4',\n\trightarrowtail: '\\u21A3',\n\tRightCeiling: '\\u2309',\n\tRightDoubleBracket: '\\u27E7',\n\tRightDownTeeVector: '\\u295D',\n\tRightDownVector: '\\u21C2',\n\tRightDownVectorBar: '\\u2955',\n\tRightFloor: '\\u230B',\n\trightharpoondown: '\\u21C1',\n\trightharpoonup: '\\u21C0',\n\trightleftarrows: '\\u21C4',\n\trightleftharpoons: '\\u21CC',\n\trightrightarrows: '\\u21C9',\n\trightsquigarrow: '\\u219D',\n\tRightTee: '\\u22A2',\n\tRightTeeArrow: '\\u21A6',\n\tRightTeeVector: '\\u295B',\n\trightthreetimes: '\\u22CC',\n\tRightTriangle: '\\u22B3',\n\tRightTriangleBar: '\\u29D0',\n\tRightTriangleEqual: '\\u22B5',\n\tRightUpDownVector: '\\u294F',\n\tRightUpTeeVector: '\\u295C',\n\tRightUpVector: '\\u21BE',\n\tRightUpVectorBar: '\\u2954',\n\tRightVector: '\\u21C0',\n\tRightVectorBar: '\\u2953',\n\tring: '\\u02DA',\n\trisingdotseq: '\\u2253',\n\trlarr: '\\u21C4',\n\trlhar: '\\u21CC',\n\trlm: '\\u200F',\n\trmoust: '\\u23B1',\n\trmoustache: '\\u23B1',\n\trnmid: '\\u2AEE',\n\troang: '\\u27ED',\n\troarr: '\\u21FE',\n\trobrk: '\\u27E7',\n\tropar: '\\u2986',\n\tRopf: '\\u211D',\n\tropf: '\\uD835\\uDD63',\n\troplus: '\\u2A2E',\n\trotimes: '\\u2A35',\n\tRoundImplies: '\\u2970',\n\trpar: '\\u0029',\n\trpargt: '\\u2994',\n\trppolint: '\\u2A12',\n\trrarr: '\\u21C9',\n\tRrightarrow: '\\u21DB',\n\trsaquo: '\\u203A',\n\tRscr: '\\u211B',\n\trscr: '\\uD835\\uDCC7',\n\tRsh: '\\u21B1',\n\trsh: '\\u21B1',\n\trsqb: '\\u005D',\n\trsquo: '\\u2019',\n\trsquor: '\\u2019',\n\trthree: '\\u22CC',\n\trtimes: '\\u22CA',\n\trtri: '\\u25B9',\n\trtrie: '\\u22B5',\n\trtrif: '\\u25B8',\n\trtriltri: '\\u29CE',\n\tRuleDelayed: '\\u29F4',\n\truluhar: '\\u2968',\n\trx: '\\u211E',\n\tSacute: '\\u015A',\n\tsacute: '\\u015B',\n\tsbquo: '\\u201A',\n\tSc: '\\u2ABC',\n\tsc: '\\u227B',\n\tscap: '\\u2AB8',\n\tScaron: '\\u0160',\n\tscaron: '\\u0161',\n\tsccue: '\\u227D',\n\tscE: '\\u2AB4',\n\tsce: '\\u2AB0',\n\tScedil: '\\u015E',\n\tscedil: '\\u015F',\n\tScirc: '\\u015C',\n\tscirc: '\\u015D',\n\tscnap: '\\u2ABA',\n\tscnE: '\\u2AB6',\n\tscnsim: '\\u22E9',\n\tscpolint: '\\u2A13',\n\tscsim: '\\u227F',\n\tScy: '\\u0421',\n\tscy: '\\u0441',\n\tsdot: '\\u22C5',\n\tsdotb: '\\u22A1',\n\tsdote: '\\u2A66',\n\tsearhk: '\\u2925',\n\tseArr: '\\u21D8',\n\tsearr: '\\u2198',\n\tsearrow: '\\u2198',\n\tsect: '\\u00A7',\n\tsemi: '\\u003B',\n\tseswar: '\\u2929',\n\tsetminus: '\\u2216',\n\tsetmn: '\\u2216',\n\tsext: '\\u2736',\n\tSfr: '\\uD835\\uDD16',\n\tsfr: '\\uD835\\uDD30',\n\tsfrown: '\\u2322',\n\tsharp: '\\u266F',\n\tSHCHcy: '\\u0429',\n\tshchcy: '\\u0449',\n\tSHcy: '\\u0428',\n\tshcy: '\\u0448',\n\tShortDownArrow: '\\u2193',\n\tShortLeftArrow: '\\u2190',\n\tshortmid: '\\u2223',\n\tshortparallel: '\\u2225',\n\tShortRightArrow: '\\u2192',\n\tShortUpArrow: '\\u2191',\n\tshy: '\\u00AD',\n\tSigma: '\\u03A3',\n\tsigma: '\\u03C3',\n\tsigmaf: '\\u03C2',\n\tsigmav: '\\u03C2',\n\tsim: '\\u223C',\n\tsimdot: '\\u2A6A',\n\tsime: '\\u2243',\n\tsimeq: '\\u2243',\n\tsimg: '\\u2A9E',\n\tsimgE: '\\u2AA0',\n\tsiml: '\\u2A9D',\n\tsimlE: '\\u2A9F',\n\tsimne: '\\u2246',\n\tsimplus: '\\u2A24',\n\tsimrarr: '\\u2972',\n\tslarr: '\\u2190',\n\tSmallCircle: '\\u2218',\n\tsmallsetminus: '\\u2216',\n\tsmashp: '\\u2A33',\n\tsmeparsl: '\\u29E4',\n\tsmid: '\\u2223',\n\tsmile: '\\u2323',\n\tsmt: '\\u2AAA',\n\tsmte: '\\u2AAC',\n\tsmtes: '\\u2AAC\\uFE00',\n\tSOFTcy: '\\u042C',\n\tsoftcy: '\\u044C',\n\tsol: '\\u002F',\n\tsolb: '\\u29C4',\n\tsolbar: '\\u233F',\n\tSopf: '\\uD835\\uDD4A',\n\tsopf: '\\uD835\\uDD64',\n\tspades: '\\u2660',\n\tspadesuit: '\\u2660',\n\tspar: '\\u2225',\n\tsqcap: '\\u2293',\n\tsqcaps: '\\u2293\\uFE00',\n\tsqcup: '\\u2294',\n\tsqcups: '\\u2294\\uFE00',\n\tSqrt: '\\u221A',\n\tsqsub: '\\u228F',\n\tsqsube: '\\u2291',\n\tsqsubset: '\\u228F',\n\tsqsubseteq: '\\u2291',\n\tsqsup: '\\u2290',\n\tsqsupe: '\\u2292',\n\tsqsupset: '\\u2290',\n\tsqsupseteq: '\\u2292',\n\tsqu: '\\u25A1',\n\tSquare: '\\u25A1',\n\tsquare: '\\u25A1',\n\tSquareIntersection: '\\u2293',\n\tSquareSubset: '\\u228F',\n\tSquareSubsetEqual: '\\u2291',\n\tSquareSuperset: '\\u2290',\n\tSquareSupersetEqual: '\\u2292',\n\tSquareUnion: '\\u2294',\n\tsquarf: '\\u25AA',\n\tsquf: '\\u25AA',\n\tsrarr: '\\u2192',\n\tSscr: '\\uD835\\uDCAE',\n\tsscr: '\\uD835\\uDCC8',\n\tssetmn: '\\u2216',\n\tssmile: '\\u2323',\n\tsstarf: '\\u22C6',\n\tStar: '\\u22C6',\n\tstar: '\\u2606',\n\tstarf: '\\u2605',\n\tstraightepsilon: '\\u03F5',\n\tstraightphi: '\\u03D5',\n\tstrns: '\\u00AF',\n\tSub: '\\u22D0',\n\tsub: '\\u2282',\n\tsubdot: '\\u2ABD',\n\tsubE: '\\u2AC5',\n\tsube: '\\u2286',\n\tsubedot: '\\u2AC3',\n\tsubmult: '\\u2AC1',\n\tsubnE: '\\u2ACB',\n\tsubne: '\\u228A',\n\tsubplus: '\\u2ABF',\n\tsubrarr: '\\u2979',\n\tSubset: '\\u22D0',\n\tsubset: '\\u2282',\n\tsubseteq: '\\u2286',\n\tsubseteqq: '\\u2AC5',\n\tSubsetEqual: '\\u2286',\n\tsubsetneq: '\\u228A',\n\tsubsetneqq: '\\u2ACB',\n\tsubsim: '\\u2AC7',\n\tsubsub: '\\u2AD5',\n\tsubsup: '\\u2AD3',\n\tsucc: '\\u227B',\n\tsuccapprox: '\\u2AB8',\n\tsucccurlyeq: '\\u227D',\n\tSucceeds: '\\u227B',\n\tSucceedsEqual: '\\u2AB0',\n\tSucceedsSlantEqual: '\\u227D',\n\tSucceedsTilde: '\\u227F',\n\tsucceq: '\\u2AB0',\n\tsuccnapprox: '\\u2ABA',\n\tsuccneqq: '\\u2AB6',\n\tsuccnsim: '\\u22E9',\n\tsuccsim: '\\u227F',\n\tSuchThat: '\\u220B',\n\tSum: '\\u2211',\n\tsum: '\\u2211',\n\tsung: '\\u266A',\n\tSup: '\\u22D1',\n\tsup: '\\u2283',\n\tsup1: '\\u00B9',\n\tsup2: '\\u00B2',\n\tsup3: '\\u00B3',\n\tsupdot: '\\u2ABE',\n\tsupdsub: '\\u2AD8',\n\tsupE: '\\u2AC6',\n\tsupe: '\\u2287',\n\tsupedot: '\\u2AC4',\n\tSuperset: '\\u2283',\n\tSupersetEqual: '\\u2287',\n\tsuphsol: '\\u27C9',\n\tsuphsub: '\\u2AD7',\n\tsuplarr: '\\u297B',\n\tsupmult: '\\u2AC2',\n\tsupnE: '\\u2ACC',\n\tsupne: '\\u228B',\n\tsupplus: '\\u2AC0',\n\tSupset: '\\u22D1',\n\tsupset: '\\u2283',\n\tsupseteq: '\\u2287',\n\tsupseteqq: '\\u2AC6',\n\tsupsetneq: '\\u228B',\n\tsupsetneqq: '\\u2ACC',\n\tsupsim: '\\u2AC8',\n\tsupsub: '\\u2AD4',\n\tsupsup: '\\u2AD6',\n\tswarhk: '\\u2926',\n\tswArr: '\\u21D9',\n\tswarr: '\\u2199',\n\tswarrow: '\\u2199',\n\tswnwar: '\\u292A',\n\tszlig: '\\u00DF',\n\tTab: '\\u0009',\n\ttarget: '\\u2316',\n\tTau: '\\u03A4',\n\ttau: '\\u03C4',\n\ttbrk: '\\u23B4',\n\tTcaron: '\\u0164',\n\ttcaron: '\\u0165',\n\tTcedil: '\\u0162',\n\ttcedil: '\\u0163',\n\tTcy: '\\u0422',\n\ttcy: '\\u0442',\n\ttdot: '\\u20DB',\n\ttelrec: '\\u2315',\n\tTfr: '\\uD835\\uDD17',\n\ttfr: '\\uD835\\uDD31',\n\tthere4: '\\u2234',\n\tTherefore: '\\u2234',\n\ttherefore: '\\u2234',\n\tTheta: '\\u0398',\n\ttheta: '\\u03B8',\n\tthetasym: '\\u03D1',\n\tthetav: '\\u03D1',\n\tthickapprox: '\\u2248',\n\tthicksim: '\\u223C',\n\tThickSpace: '\\u205F\\u200A',\n\tthinsp: '\\u2009',\n\tThinSpace: '\\u2009',\n\tthkap: '\\u2248',\n\tthksim: '\\u223C',\n\tTHORN: '\\u00DE',\n\tthorn: '\\u00FE',\n\tTilde: '\\u223C',\n\ttilde: '\\u02DC',\n\tTildeEqual: '\\u2243',\n\tTildeFullEqual: '\\u2245',\n\tTildeTilde: '\\u2248',\n\ttimes: '\\u00D7',\n\ttimesb: '\\u22A0',\n\ttimesbar: '\\u2A31',\n\ttimesd: '\\u2A30',\n\ttint: '\\u222D',\n\ttoea: '\\u2928',\n\ttop: '\\u22A4',\n\ttopbot: '\\u2336',\n\ttopcir: '\\u2AF1',\n\tTopf: '\\uD835\\uDD4B',\n\ttopf: '\\uD835\\uDD65',\n\ttopfork: '\\u2ADA',\n\ttosa: '\\u2929',\n\ttprime: '\\u2034',\n\tTRADE: '\\u2122',\n\ttrade: '\\u2122',\n\ttriangle: '\\u25B5',\n\ttriangledown: '\\u25BF',\n\ttriangleleft: '\\u25C3',\n\ttrianglelefteq: '\\u22B4',\n\ttriangleq: '\\u225C',\n\ttriangleright: '\\u25B9',\n\ttrianglerighteq: '\\u22B5',\n\ttridot: '\\u25EC',\n\ttrie: '\\u225C',\n\ttriminus: '\\u2A3A',\n\tTripleDot: '\\u20DB',\n\ttriplus: '\\u2A39',\n\ttrisb: '\\u29CD',\n\ttritime: '\\u2A3B',\n\ttrpezium: '\\u23E2',\n\tTscr: '\\uD835\\uDCAF',\n\ttscr: '\\uD835\\uDCC9',\n\tTScy: '\\u0426',\n\ttscy: '\\u0446',\n\tTSHcy: '\\u040B',\n\ttshcy: '\\u045B',\n\tTstrok: '\\u0166',\n\ttstrok: '\\u0167',\n\ttwixt: '\\u226C',\n\ttwoheadleftarrow: '\\u219E',\n\ttwoheadrightarrow: '\\u21A0',\n\tUacute: '\\u00DA',\n\tuacute: '\\u00FA',\n\tUarr: '\\u219F',\n\tuArr: '\\u21D1',\n\tuarr: '\\u2191',\n\tUarrocir: '\\u2949',\n\tUbrcy: '\\u040E',\n\tubrcy: '\\u045E',\n\tUbreve: '\\u016C',\n\tubreve: '\\u016D',\n\tUcirc: '\\u00DB',\n\tucirc: '\\u00FB',\n\tUcy: '\\u0423',\n\tucy: '\\u0443',\n\tudarr: '\\u21C5',\n\tUdblac: '\\u0170',\n\tudblac: '\\u0171',\n\tudhar: '\\u296E',\n\tufisht: '\\u297E',\n\tUfr: '\\uD835\\uDD18',\n\tufr: '\\uD835\\uDD32',\n\tUgrave: '\\u00D9',\n\tugrave: '\\u00F9',\n\tuHar: '\\u2963',\n\tuharl: '\\u21BF',\n\tuharr: '\\u21BE',\n\tuhblk: '\\u2580',\n\tulcorn: '\\u231C',\n\tulcorner: '\\u231C',\n\tulcrop: '\\u230F',\n\tultri: '\\u25F8',\n\tUmacr: '\\u016A',\n\tumacr: '\\u016B',\n\tuml: '\\u00A8',\n\tUnderBar: '\\u005F',\n\tUnderBrace: '\\u23DF',\n\tUnderBracket: '\\u23B5',\n\tUnderParenthesis: '\\u23DD',\n\tUnion: '\\u22C3',\n\tUnionPlus: '\\u228E',\n\tUogon: '\\u0172',\n\tuogon: '\\u0173',\n\tUopf: '\\uD835\\uDD4C',\n\tuopf: '\\uD835\\uDD66',\n\tUpArrow: '\\u2191',\n\tUparrow: '\\u21D1',\n\tuparrow: '\\u2191',\n\tUpArrowBar: '\\u2912',\n\tUpArrowDownArrow: '\\u21C5',\n\tUpDownArrow: '\\u2195',\n\tUpdownarrow: '\\u21D5',\n\tupdownarrow: '\\u2195',\n\tUpEquilibrium: '\\u296E',\n\tupharpoonleft: '\\u21BF',\n\tupharpoonright: '\\u21BE',\n\tuplus: '\\u228E',\n\tUpperLeftArrow: '\\u2196',\n\tUpperRightArrow: '\\u2197',\n\tUpsi: '\\u03D2',\n\tupsi: '\\u03C5',\n\tupsih: '\\u03D2',\n\tUpsilon: '\\u03A5',\n\tupsilon: '\\u03C5',\n\tUpTee: '\\u22A5',\n\tUpTeeArrow: '\\u21A5',\n\tupuparrows: '\\u21C8',\n\turcorn: '\\u231D',\n\turcorner: '\\u231D',\n\turcrop: '\\u230E',\n\tUring: '\\u016E',\n\turing: '\\u016F',\n\turtri: '\\u25F9',\n\tUscr: '\\uD835\\uDCB0',\n\tuscr: '\\uD835\\uDCCA',\n\tutdot: '\\u22F0',\n\tUtilde: '\\u0168',\n\tutilde: '\\u0169',\n\tutri: '\\u25B5',\n\tutrif: '\\u25B4',\n\tuuarr: '\\u21C8',\n\tUuml: '\\u00DC',\n\tuuml: '\\u00FC',\n\tuwangle: '\\u29A7',\n\tvangrt: '\\u299C',\n\tvarepsilon: '\\u03F5',\n\tvarkappa: '\\u03F0',\n\tvarnothing: '\\u2205',\n\tvarphi: '\\u03D5',\n\tvarpi: '\\u03D6',\n\tvarpropto: '\\u221D',\n\tvArr: '\\u21D5',\n\tvarr: '\\u2195',\n\tvarrho: '\\u03F1',\n\tvarsigma: '\\u03C2',\n\tvarsubsetneq: '\\u228A\\uFE00',\n\tvarsubsetneqq: '\\u2ACB\\uFE00',\n\tvarsupsetneq: '\\u228B\\uFE00',\n\tvarsupsetneqq: '\\u2ACC\\uFE00',\n\tvartheta: '\\u03D1',\n\tvartriangleleft: '\\u22B2',\n\tvartriangleright: '\\u22B3',\n\tVbar: '\\u2AEB',\n\tvBar: '\\u2AE8',\n\tvBarv: '\\u2AE9',\n\tVcy: '\\u0412',\n\tvcy: '\\u0432',\n\tVDash: '\\u22AB',\n\tVdash: '\\u22A9',\n\tvDash: '\\u22A8',\n\tvdash: '\\u22A2',\n\tVdashl: '\\u2AE6',\n\tVee: '\\u22C1',\n\tvee: '\\u2228',\n\tveebar: '\\u22BB',\n\tveeeq: '\\u225A',\n\tvellip: '\\u22EE',\n\tVerbar: '\\u2016',\n\tverbar: '\\u007C',\n\tVert: '\\u2016',\n\tvert: '\\u007C',\n\tVerticalBar: '\\u2223',\n\tVerticalLine: '\\u007C',\n\tVerticalSeparator: '\\u2758',\n\tVerticalTilde: '\\u2240',\n\tVeryThinSpace: '\\u200A',\n\tVfr: '\\uD835\\uDD19',\n\tvfr: '\\uD835\\uDD33',\n\tvltri: '\\u22B2',\n\tvnsub: '\\u2282\\u20D2',\n\tvnsup: '\\u2283\\u20D2',\n\tVopf: '\\uD835\\uDD4D',\n\tvopf: '\\uD835\\uDD67',\n\tvprop: '\\u221D',\n\tvrtri: '\\u22B3',\n\tVscr: '\\uD835\\uDCB1',\n\tvscr: '\\uD835\\uDCCB',\n\tvsubnE: '\\u2ACB\\uFE00',\n\tvsubne: '\\u228A\\uFE00',\n\tvsupnE: '\\u2ACC\\uFE00',\n\tvsupne: '\\u228B\\uFE00',\n\tVvdash: '\\u22AA',\n\tvzigzag: '\\u299A',\n\tWcirc: '\\u0174',\n\twcirc: '\\u0175',\n\twedbar: '\\u2A5F',\n\tWedge: '\\u22C0',\n\twedge: '\\u2227',\n\twedgeq: '\\u2259',\n\tweierp: '\\u2118',\n\tWfr: '\\uD835\\uDD1A',\n\twfr: '\\uD835\\uDD34',\n\tWopf: '\\uD835\\uDD4E',\n\twopf: '\\uD835\\uDD68',\n\twp: '\\u2118',\n\twr: '\\u2240',\n\twreath: '\\u2240',\n\tWscr: '\\uD835\\uDCB2',\n\twscr: '\\uD835\\uDCCC',\n\txcap: '\\u22C2',\n\txcirc: '\\u25EF',\n\txcup: '\\u22C3',\n\txdtri: '\\u25BD',\n\tXfr: '\\uD835\\uDD1B',\n\txfr: '\\uD835\\uDD35',\n\txhArr: '\\u27FA',\n\txharr: '\\u27F7',\n\tXi: '\\u039E',\n\txi: '\\u03BE',\n\txlArr: '\\u27F8',\n\txlarr: '\\u27F5',\n\txmap: '\\u27FC',\n\txnis: '\\u22FB',\n\txodot: '\\u2A00',\n\tXopf: '\\uD835\\uDD4F',\n\txopf: '\\uD835\\uDD69',\n\txoplus: '\\u2A01',\n\txotime: '\\u2A02',\n\txrArr: '\\u27F9',\n\txrarr: '\\u27F6',\n\tXscr: '\\uD835\\uDCB3',\n\txscr: '\\uD835\\uDCCD',\n\txsqcup: '\\u2A06',\n\txuplus: '\\u2A04',\n\txutri: '\\u25B3',\n\txvee: '\\u22C1',\n\txwedge: '\\u22C0',\n\tYacute: '\\u00DD',\n\tyacute: '\\u00FD',\n\tYAcy: '\\u042F',\n\tyacy: '\\u044F',\n\tYcirc: '\\u0176',\n\tycirc: '\\u0177',\n\tYcy: '\\u042B',\n\tycy: '\\u044B',\n\tyen: '\\u00A5',\n\tYfr: '\\uD835\\uDD1C',\n\tyfr: '\\uD835\\uDD36',\n\tYIcy: '\\u0407',\n\tyicy: '\\u0457',\n\tYopf: '\\uD835\\uDD50',\n\tyopf: '\\uD835\\uDD6A',\n\tYscr: '\\uD835\\uDCB4',\n\tyscr: '\\uD835\\uDCCE',\n\tYUcy: '\\u042E',\n\tyucy: '\\u044E',\n\tYuml: '\\u0178',\n\tyuml: '\\u00FF',\n\tZacute: '\\u0179',\n\tzacute: '\\u017A',\n\tZcaron: '\\u017D',\n\tzcaron: '\\u017E',\n\tZcy: '\\u0417',\n\tzcy: '\\u0437',\n\tZdot: '\\u017B',\n\tzdot: '\\u017C',\n\tzeetrf: '\\u2128',\n\tZeroWidthSpace: '\\u200B',\n\tZeta: '\\u0396',\n\tzeta: '\\u03B6',\n\tZfr: '\\u2128',\n\tzfr: '\\uD835\\uDD37',\n\tZHcy: '\\u0416',\n\tzhcy: '\\u0436',\n\tzigrarr: '\\u21DD',\n\tZopf: '\\u2124',\n\tzopf: '\\uD835\\uDD6B',\n\tZscr: '\\uD835\\uDCB5',\n\tzscr: '\\uD835\\uDCCF',\n\tzwj: '\\u200D',\n\tzwnj: '\\u200C',\n});\n\n/**\n * @deprecated use `HTML_ENTITIES` instead\n * @see HTML_ENTITIES\n */\nexports.entityMap = exports.HTML_ENTITIES;\n","var NAMESPACE = require(\"./conventions\").NAMESPACE;\n\n//[4] \tNameStartChar\t ::= \t\":\" | [A-Z] | \"_\" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n//[4a] \tNameChar\t ::= \tNameStartChar | \"-\" | \".\" | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]\n//[5] \tName\t ::= \tNameStartChar (NameChar)*\nvar nameStartChar = /[A-Z_a-z\\xC0-\\xD6\\xD8-\\xF6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]///\\u10000-\\uEFFFF\nvar nameChar = new RegExp(\"[\\\\-\\\\.0-9\"+nameStartChar.source.slice(1,-1)+\"\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]\");\nvar tagNamePattern = new RegExp('^'+nameStartChar.source+nameChar.source+'*(?:\\:'+nameStartChar.source+nameChar.source+'*)?$');\n//var tagNamePattern = /^[a-zA-Z_][\\w\\-\\.]*(?:\\:[a-zA-Z_][\\w\\-\\.]*)?$/\n//var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',')\n\n//S_TAG,\tS_ATTR,\tS_EQ,\tS_ATTR_NOQUOT_VALUE\n//S_ATTR_SPACE,\tS_ATTR_END,\tS_TAG_SPACE, S_TAG_CLOSE\nvar S_TAG = 0;//tag name offerring\nvar S_ATTR = 1;//attr name offerring\nvar S_ATTR_SPACE=2;//attr name end and space offer\nvar S_EQ = 3;//=space?\nvar S_ATTR_NOQUOT_VALUE = 4;//attr value(no quot value only)\nvar S_ATTR_END = 5;//attr value end and no space(quot end)\nvar S_TAG_SPACE = 6;//(attr value end || tag end ) && (space offer)\nvar S_TAG_CLOSE = 7;//closed el<el />\n\n/**\n * Creates an error that will not be caught by XMLReader aka the SAX parser.\n *\n * @param {string} message\n * @param {any?} locator Optional, can provide details about the location in the source\n * @constructor\n */\nfunction ParseError(message, locator) {\n\tthis.message = message\n\tthis.locator = locator\n\tif(Error.captureStackTrace) Error.captureStackTrace(this, ParseError);\n}\nParseError.prototype = new Error();\nParseError.prototype.name = ParseError.name\n\nfunction XMLReader(){\n\n}\n\nXMLReader.prototype = {\n\tparse:function(source,defaultNSMap,entityMap){\n\t\tvar domBuilder = this.domBuilder;\n\t\tdomBuilder.startDocument();\n\t\t_copy(defaultNSMap ,defaultNSMap = {})\n\t\tparse(source,defaultNSMap,entityMap,\n\t\t\t\tdomBuilder,this.errorHandler);\n\t\tdomBuilder.endDocument();\n\t}\n}\nfunction parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){\n\tfunction fixedFromCharCode(code) {\n\t\t// String.prototype.fromCharCode does not supports\n\t\t// > 2 bytes unicode chars directly\n\t\tif (code > 0xffff) {\n\t\t\tcode -= 0x10000;\n\t\t\tvar surrogate1 = 0xd800 + (code >> 10)\n\t\t\t\t, surrogate2 = 0xdc00 + (code & 0x3ff);\n\n\t\t\treturn String.fromCharCode(surrogate1, surrogate2);\n\t\t} else {\n\t\t\treturn String.fromCharCode(code);\n\t\t}\n\t}\n\tfunction entityReplacer(a){\n\t\tvar k = a.slice(1,-1);\n\t\tif (Object.hasOwnProperty.call(entityMap, k)) {\n\t\t\treturn entityMap[k];\n\t\t}else if(k.charAt(0) === '#'){\n\t\t\treturn fixedFromCharCode(parseInt(k.substr(1).replace('x','0x')))\n\t\t}else{\n\t\t\terrorHandler.error('entity not found:'+a);\n\t\t\treturn a;\n\t\t}\n\t}\n\tfunction appendText(end){//has some bugs\n\t\tif(end>start){\n\t\t\tvar xt = source.substring(start,end).replace(/&#?\\w+;/g,entityReplacer);\n\t\t\tlocator&&position(start);\n\t\t\tdomBuilder.characters(xt,0,end-start);\n\t\t\tstart = end\n\t\t}\n\t}\n\tfunction position(p,m){\n\t\twhile(p>=lineEnd && (m = linePattern.exec(source))){\n\t\t\tlineStart = m.index;\n\t\t\tlineEnd = lineStart + m[0].length;\n\t\t\tlocator.lineNumber++;\n\t\t\t//console.log('line++:',locator,startPos,endPos)\n\t\t}\n\t\tlocator.columnNumber = p-lineStart+1;\n\t}\n\tvar lineStart = 0;\n\tvar lineEnd = 0;\n\tvar linePattern = /.*(?:\\r\\n?|\\n)|.*$/g\n\tvar locator = domBuilder.locator;\n\n\tvar parseStack = [{currentNSMap:defaultNSMapCopy}]\n\tvar closeMap = {};\n\tvar start = 0;\n\twhile(true){\n\t\ttry{\n\t\t\tvar tagStart = source.indexOf('<',start);\n\t\t\tif(tagStart<0){\n\t\t\t\tif(!source.substr(start).match(/^\\s*$/)){\n\t\t\t\t\tvar doc = domBuilder.doc;\n\t \t\t\tvar text = doc.createTextNode(source.substr(start));\n\t \t\t\tdoc.appendChild(text);\n\t \t\t\tdomBuilder.currentElement = text;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif(tagStart>start){\n\t\t\t\tappendText(tagStart);\n\t\t\t}\n\t\t\tswitch(source.charAt(tagStart+1)){\n\t\t\tcase '/':\n\t\t\t\tvar end = source.indexOf('>',tagStart+3);\n\t\t\t\tvar tagName = source.substring(tagStart + 2, end).replace(/[ \\t\\n\\r]+$/g, '');\n\t\t\t\tvar config = parseStack.pop();\n\t\t\t\tif(end<0){\n\n\t \t\ttagName = source.substring(tagStart+2).replace(/[\\s<].*/,'');\n\t \t\terrorHandler.error(\"end tag name: \"+tagName+' is not complete:'+config.tagName);\n\t \t\tend = tagStart+1+tagName.length;\n\t \t}else if(tagName.match(/\\s</)){\n\t \t\ttagName = tagName.replace(/[\\s<].*/,'');\n\t \t\terrorHandler.error(\"end tag name: \"+tagName+' maybe not complete');\n\t \t\tend = tagStart+1+tagName.length;\n\t\t\t\t}\n\t\t\t\tvar localNSMap = config.localNSMap;\n\t\t\t\tvar endMatch = config.tagName == tagName;\n\t\t\t\tvar endIgnoreCaseMach = endMatch || config.tagName&&config.tagName.toLowerCase() == tagName.toLowerCase()\n\t\t if(endIgnoreCaseMach){\n\t\t \tdomBuilder.endElement(config.uri,config.localName,tagName);\n\t\t\t\t\tif(localNSMap){\n\t\t\t\t\t\tfor (var prefix in localNSMap) {\n\t\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(localNSMap, prefix)) {\n\t\t\t\t\t\t\t\tdomBuilder.endPrefixMapping(prefix);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(!endMatch){\n\t\t \terrorHandler.fatalError(\"end tag name: \"+tagName+' is not match the current start tagName:'+config.tagName ); // No known test case\n\t\t\t\t\t}\n\t\t }else{\n\t\t \tparseStack.push(config)\n\t\t }\n\n\t\t\t\tend++;\n\t\t\t\tbreak;\n\t\t\t\t// end elment\n\t\t\tcase '?':// <?...?>\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tend = parseInstruction(source,tagStart,domBuilder);\n\t\t\t\tbreak;\n\t\t\tcase '!':// <!doctype,<![CDATA,<!--\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tend = parseDCC(source,tagStart,domBuilder,errorHandler);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tvar el = new ElementAttributes();\n\t\t\t\tvar currentNSMap = parseStack[parseStack.length-1].currentNSMap;\n\t\t\t\t//elStartEnd\n\t\t\t\tvar end = parseElementStartPart(source,tagStart,el,currentNSMap,entityReplacer,errorHandler);\n\t\t\t\tvar len = el.length;\n\n\n\t\t\t\tif(!el.closed && fixSelfClosed(source,end,el.tagName,closeMap)){\n\t\t\t\t\tel.closed = true;\n\t\t\t\t\tif(!entityMap.nbsp){\n\t\t\t\t\t\terrorHandler.warning('unclosed xml attribute');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(locator && len){\n\t\t\t\t\tvar locator2 = copyLocator(locator,{});\n\t\t\t\t\t//try{//attribute position fixed\n\t\t\t\t\tfor(var i = 0;i<len;i++){\n\t\t\t\t\t\tvar a = el[i];\n\t\t\t\t\t\tposition(a.offset);\n\t\t\t\t\t\ta.locator = copyLocator(locator,{});\n\t\t\t\t\t}\n\t\t\t\t\tdomBuilder.locator = locator2\n\t\t\t\t\tif(appendElement(el,domBuilder,currentNSMap)){\n\t\t\t\t\t\tparseStack.push(el)\n\t\t\t\t\t}\n\t\t\t\t\tdomBuilder.locator = locator;\n\t\t\t\t}else{\n\t\t\t\t\tif(appendElement(el,domBuilder,currentNSMap)){\n\t\t\t\t\t\tparseStack.push(el)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (NAMESPACE.isHTML(el.uri) && !el.closed) {\n\t\t\t\t\tend = parseHtmlSpecialContent(source,end,el.tagName,entityReplacer,domBuilder)\n\t\t\t\t} else {\n\t\t\t\t\tend++;\n\t\t\t\t}\n\t\t\t}\n\t\t}catch(e){\n\t\t\tif (e instanceof ParseError) {\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t\terrorHandler.error('element parse error: '+e)\n\t\t\tend = -1;\n\t\t}\n\t\tif(end>start){\n\t\t\tstart = end;\n\t\t}else{\n\t\t\t//TODO: 这里有可能sax回退,有位置错误风险\n\t\t\tappendText(Math.max(tagStart,start)+1);\n\t\t}\n\t}\n}\nfunction copyLocator(f,t){\n\tt.lineNumber = f.lineNumber;\n\tt.columnNumber = f.columnNumber;\n\treturn t;\n}\n\n/**\n * @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack);\n * @return end of the elementStartPart(end of elementEndPart for selfClosed el)\n */\nfunction parseElementStartPart(source,start,el,currentNSMap,entityReplacer,errorHandler){\n\n\t/**\n\t * @param {string} qname\n\t * @param {string} value\n\t * @param {number} startIndex\n\t */\n\tfunction addAttribute(qname, value, startIndex) {\n\t\tif (el.attributeNames.hasOwnProperty(qname)) {\n\t\t\terrorHandler.fatalError('Attribute ' + qname + ' redefined')\n\t\t}\n\t\tel.addValue(\n\t\t\tqname,\n\t\t\t// @see https://www.w3.org/TR/xml/#AVNormalize\n\t\t\t// since the xmldom sax parser does not \"interpret\" DTD the following is not implemented:\n\t\t\t// - recursive replacement of (DTD) entity references\n\t\t\t// - trimming and collapsing multiple spaces into a single one for attributes that are not of type CDATA\n\t\t\tvalue.replace(/[\\t\\n\\r]/g, ' ').replace(/&#?\\w+;/g, entityReplacer),\n\t\t\tstartIndex\n\t\t)\n\t}\n\tvar attrName;\n\tvar value;\n\tvar p = ++start;\n\tvar s = S_TAG;//status\n\twhile(true){\n\t\tvar c = source.charAt(p);\n\t\tswitch(c){\n\t\tcase '=':\n\t\t\tif(s === S_ATTR){//attrName\n\t\t\t\tattrName = source.slice(start,p);\n\t\t\t\ts = S_EQ;\n\t\t\t}else if(s === S_ATTR_SPACE){\n\t\t\t\ts = S_EQ;\n\t\t\t}else{\n\t\t\t\t//fatalError: equal must after attrName or space after attrName\n\t\t\t\tthrow new Error('attribute equal must after attrName'); // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase '\\'':\n\t\tcase '\"':\n\t\t\tif(s === S_EQ || s === S_ATTR //|| s == S_ATTR_SPACE\n\t\t\t\t){//equal\n\t\t\t\tif(s === S_ATTR){\n\t\t\t\t\terrorHandler.warning('attribute value must after \"=\"')\n\t\t\t\t\tattrName = source.slice(start,p)\n\t\t\t\t}\n\t\t\t\tstart = p+1;\n\t\t\t\tp = source.indexOf(c,start)\n\t\t\t\tif(p>0){\n\t\t\t\t\tvalue = source.slice(start, p);\n\t\t\t\t\taddAttribute(attrName, value, start-1);\n\t\t\t\t\ts = S_ATTR_END;\n\t\t\t\t}else{\n\t\t\t\t\t//fatalError: no end quot match\n\t\t\t\t\tthrow new Error('attribute value no end \\''+c+'\\' match');\n\t\t\t\t}\n\t\t\t}else if(s == S_ATTR_NOQUOT_VALUE){\n\t\t\t\tvalue = source.slice(start, p);\n\t\t\t\taddAttribute(attrName, value, start);\n\t\t\t\terrorHandler.warning('attribute \"'+attrName+'\" missed start quot('+c+')!!');\n\t\t\t\tstart = p+1;\n\t\t\t\ts = S_ATTR_END\n\t\t\t}else{\n\t\t\t\t//fatalError: no equal before\n\t\t\t\tthrow new Error('attribute value must after \"=\"'); // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase '/':\n\t\t\tswitch(s){\n\t\t\tcase S_TAG:\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\tcase S_ATTR_END:\n\t\t\tcase S_TAG_SPACE:\n\t\t\tcase S_TAG_CLOSE:\n\t\t\t\ts =S_TAG_CLOSE;\n\t\t\t\tel.closed = true;\n\t\t\tcase S_ATTR_NOQUOT_VALUE:\n\t\t\tcase S_ATTR:\n\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_SPACE:\n\t\t\t\t\tel.closed = true;\n\t\t\t\tbreak;\n\t\t\t//case S_EQ:\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"attribute invalid close char('/')\") // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase ''://end document\n\t\t\terrorHandler.error('unexpected end of input');\n\t\t\tif(s == S_TAG){\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\t}\n\t\t\treturn p;\n\t\tcase '>':\n\t\t\tswitch(s){\n\t\t\tcase S_TAG:\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\tcase S_ATTR_END:\n\t\t\tcase S_TAG_SPACE:\n\t\t\tcase S_TAG_CLOSE:\n\t\t\t\tbreak;//normal\n\t\t\tcase S_ATTR_NOQUOT_VALUE://Compatible state\n\t\t\tcase S_ATTR:\n\t\t\t\tvalue = source.slice(start,p);\n\t\t\t\tif(value.slice(-1) === '/'){\n\t\t\t\t\tel.closed = true;\n\t\t\t\t\tvalue = value.slice(0,-1)\n\t\t\t\t}\n\t\t\tcase S_ATTR_SPACE:\n\t\t\t\tif(s === S_ATTR_SPACE){\n\t\t\t\t\tvalue = attrName;\n\t\t\t\t}\n\t\t\t\tif(s == S_ATTR_NOQUOT_VALUE){\n\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed quot(\")!');\n\t\t\t\t\taddAttribute(attrName, value, start)\n\t\t\t\t}else{\n\t\t\t\t\tif(!NAMESPACE.isHTML(currentNSMap['']) || !value.match(/^(?:disabled|checked|selected)$/i)){\n\t\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed value!! \"'+value+'\" instead!!')\n\t\t\t\t\t}\n\t\t\t\t\taddAttribute(value, value, start)\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase S_EQ:\n\t\t\t\tthrow new Error('attribute value missed!!');\n\t\t\t}\n//\t\t\tconsole.log(tagName,tagNamePattern,tagNamePattern.test(tagName))\n\t\t\treturn p;\n\t\t/*xml space '\\x20' | #x9 | #xD | #xA; */\n\t\tcase '\\u0080':\n\t\t\tc = ' ';\n\t\tdefault:\n\t\t\tif(c<= ' '){//space\n\t\t\t\tswitch(s){\n\t\t\t\tcase S_TAG:\n\t\t\t\t\tel.setTagName(source.slice(start,p));//tagName\n\t\t\t\t\ts = S_TAG_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR:\n\t\t\t\t\tattrName = source.slice(start,p)\n\t\t\t\t\ts = S_ATTR_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_NOQUOT_VALUE:\n\t\t\t\t\tvar value = source.slice(start, p);\n\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed quot(\")!!');\n\t\t\t\t\taddAttribute(attrName, value, start)\n\t\t\t\tcase S_ATTR_END:\n\t\t\t\t\ts = S_TAG_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\t//case S_TAG_SPACE:\n\t\t\t\t//case S_EQ:\n\t\t\t\t//case S_ATTR_SPACE:\n\t\t\t\t//\tvoid();break;\n\t\t\t\t//case S_TAG_CLOSE:\n\t\t\t\t\t//ignore warning\n\t\t\t\t}\n\t\t\t}else{//not space\n//S_TAG,\tS_ATTR,\tS_EQ,\tS_ATTR_NOQUOT_VALUE\n//S_ATTR_SPACE,\tS_ATTR_END,\tS_TAG_SPACE, S_TAG_CLOSE\n\t\t\t\tswitch(s){\n\t\t\t\t//case S_TAG:void();break;\n\t\t\t\t//case S_ATTR:void();break;\n\t\t\t\t//case S_ATTR_NOQUOT_VALUE:void();break;\n\t\t\t\tcase S_ATTR_SPACE:\n\t\t\t\t\tvar tagName = el.tagName;\n\t\t\t\t\tif (!NAMESPACE.isHTML(currentNSMap['']) || !attrName.match(/^(?:disabled|checked|selected)$/i)) {\n\t\t\t\t\t\terrorHandler.warning('attribute \"'+attrName+'\" missed value!! \"'+attrName+'\" instead2!!')\n\t\t\t\t\t}\n\t\t\t\t\taddAttribute(attrName, attrName, start);\n\t\t\t\t\tstart = p;\n\t\t\t\t\ts = S_ATTR;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_END:\n\t\t\t\t\terrorHandler.warning('attribute space is required\"'+attrName+'\"!!')\n\t\t\t\tcase S_TAG_SPACE:\n\t\t\t\t\ts = S_ATTR;\n\t\t\t\t\tstart = p;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_EQ:\n\t\t\t\t\ts = S_ATTR_NOQUOT_VALUE;\n\t\t\t\t\tstart = p;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_TAG_CLOSE:\n\t\t\t\t\tthrow new Error(\"elements closed character '/' and '>' must be connected to\");\n\t\t\t\t}\n\t\t\t}\n\t\t}//end outer switch\n\t\t//console.log('p++',p)\n\t\tp++;\n\t}\n}\n/**\n * @return true if has new namespace define\n */\nfunction appendElement(el,domBuilder,currentNSMap){\n\tvar tagName = el.tagName;\n\tvar localNSMap = null;\n\t//var currentNSMap = parseStack[parseStack.length-1].currentNSMap;\n\tvar i = el.length;\n\twhile(i--){\n\t\tvar a = el[i];\n\t\tvar qName = a.qName;\n\t\tvar value = a.value;\n\t\tvar nsp = qName.indexOf(':');\n\t\tif(nsp>0){\n\t\t\tvar prefix = a.prefix = qName.slice(0,nsp);\n\t\t\tvar localName = qName.slice(nsp+1);\n\t\t\tvar nsPrefix = prefix === 'xmlns' && localName\n\t\t}else{\n\t\t\tlocalName = qName;\n\t\t\tprefix = null\n\t\t\tnsPrefix = qName === 'xmlns' && ''\n\t\t}\n\t\t//can not set prefix,because prefix !== ''\n\t\ta.localName = localName ;\n\t\t//prefix == null for no ns prefix attribute\n\t\tif(nsPrefix !== false){//hack!!\n\t\t\tif(localNSMap == null){\n\t\t\t\tlocalNSMap = {}\n\t\t\t\t//console.log(currentNSMap,0)\n\t\t\t\t_copy(currentNSMap,currentNSMap={})\n\t\t\t\t//console.log(currentNSMap,1)\n\t\t\t}\n\t\t\tcurrentNSMap[nsPrefix] = localNSMap[nsPrefix] = value;\n\t\t\ta.uri = NAMESPACE.XMLNS\n\t\t\tdomBuilder.startPrefixMapping(nsPrefix, value)\n\t\t}\n\t}\n\tvar i = el.length;\n\twhile(i--){\n\t\ta = el[i];\n\t\tvar prefix = a.prefix;\n\t\tif(prefix){//no prefix attribute has no namespace\n\t\t\tif(prefix === 'xml'){\n\t\t\t\ta.uri = NAMESPACE.XML;\n\t\t\t}if(prefix !== 'xmlns'){\n\t\t\t\ta.uri = currentNSMap[prefix || '']\n\n\t\t\t\t//{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)}\n\t\t\t}\n\t\t}\n\t}\n\tvar nsp = tagName.indexOf(':');\n\tif(nsp>0){\n\t\tprefix = el.prefix = tagName.slice(0,nsp);\n\t\tlocalName = el.localName = tagName.slice(nsp+1);\n\t}else{\n\t\tprefix = null;//important!!\n\t\tlocalName = el.localName = tagName;\n\t}\n\t//no prefix element has default namespace\n\tvar ns = el.uri = currentNSMap[prefix || ''];\n\tdomBuilder.startElement(ns,localName,tagName,el);\n\t//endPrefixMapping and startPrefixMapping have not any help for dom builder\n\t//localNSMap = null\n\tif(el.closed){\n\t\tdomBuilder.endElement(ns,localName,tagName);\n\t\tif(localNSMap){\n\t\t\tfor (prefix in localNSMap) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(localNSMap, prefix)) {\n\t\t\t\t\tdomBuilder.endPrefixMapping(prefix);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}else{\n\t\tel.currentNSMap = currentNSMap;\n\t\tel.localNSMap = localNSMap;\n\t\t//parseStack.push(el);\n\t\treturn true;\n\t}\n}\nfunction parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){\n\tif(/^(?:script|textarea)$/i.test(tagName)){\n\t\tvar elEndStart = source.indexOf('</'+tagName+'>',elStartEnd);\n\t\tvar text = source.substring(elStartEnd+1,elEndStart);\n\t\tif(/[&<]/.test(text)){\n\t\t\tif(/^script$/i.test(tagName)){\n\t\t\t\t//if(!/\\]\\]>/.test(text)){\n\t\t\t\t\t//lexHandler.startCDATA();\n\t\t\t\t\tdomBuilder.characters(text,0,text.length);\n\t\t\t\t\t//lexHandler.endCDATA();\n\t\t\t\t\treturn elEndStart;\n\t\t\t\t//}\n\t\t\t}//}else{//text area\n\t\t\t\ttext = text.replace(/&#?\\w+;/g,entityReplacer);\n\t\t\t\tdomBuilder.characters(text,0,text.length);\n\t\t\t\treturn elEndStart;\n\t\t\t//}\n\n\t\t}\n\t}\n\treturn elStartEnd+1;\n}\nfunction fixSelfClosed(source,elStartEnd,tagName,closeMap){\n\t//if(tagName in closeMap){\n\tvar pos = closeMap[tagName];\n\tif(pos == null){\n\t\t//console.log(tagName)\n\t\tpos = source.lastIndexOf('</'+tagName+'>')\n\t\tif(pos<elStartEnd){//忘记闭合\n\t\t\tpos = source.lastIndexOf('</'+tagName)\n\t\t}\n\t\tcloseMap[tagName] =pos\n\t}\n\treturn pos<elStartEnd;\n\t//}\n}\n\nfunction _copy (source, target) {\n\tfor (var n in source) {\n\t\tif (Object.prototype.hasOwnProperty.call(source, n)) {\n\t\t\ttarget[n] = source[n];\n\t\t}\n\t}\n}\n\nfunction parseDCC(source,start,domBuilder,errorHandler){//sure start with '<!'\n\tvar next= source.charAt(start+2)\n\tswitch(next){\n\tcase '-':\n\t\tif(source.charAt(start + 3) === '-'){\n\t\t\tvar end = source.indexOf('-->',start+4);\n\t\t\t//append comment source.substring(4,end)//<!--\n\t\t\tif(end>start){\n\t\t\t\tdomBuilder.comment(source,start+4,end-start-4);\n\t\t\t\treturn end+3;\n\t\t\t}else{\n\t\t\t\terrorHandler.error(\"Unclosed comment\");\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}else{\n\t\t\t//error\n\t\t\treturn -1;\n\t\t}\n\tdefault:\n\t\tif(source.substr(start+3,6) == 'CDATA['){\n\t\t\tvar end = source.indexOf(']]>',start+9);\n\t\t\tdomBuilder.startCDATA();\n\t\t\tdomBuilder.characters(source,start+9,end-start-9);\n\t\t\tdomBuilder.endCDATA()\n\t\t\treturn end+3;\n\t\t}\n\t\t//<!DOCTYPE\n\t\t//startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId)\n\t\tvar matchs = split(source,start);\n\t\tvar len = matchs.length;\n\t\tif(len>1 && /!doctype/i.test(matchs[0][0])){\n\t\t\tvar name = matchs[1][0];\n\t\t\tvar pubid = false;\n\t\t\tvar sysid = false;\n\t\t\tif(len>3){\n\t\t\t\tif(/^public$/i.test(matchs[2][0])){\n\t\t\t\t\tpubid = matchs[3][0];\n\t\t\t\t\tsysid = len>4 && matchs[4][0];\n\t\t\t\t}else if(/^system$/i.test(matchs[2][0])){\n\t\t\t\t\tsysid = matchs[3][0];\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar lastMatch = matchs[len-1]\n\t\t\tdomBuilder.startDTD(name, pubid, sysid);\n\t\t\tdomBuilder.endDTD();\n\n\t\t\treturn lastMatch.index+lastMatch[0].length\n\t\t}\n\t}\n\treturn -1;\n}\n\n\n\nfunction parseInstruction(source,start,domBuilder){\n\tvar end = source.indexOf('?>',start);\n\tif(end){\n\t\tvar match = source.substring(start,end).match(/^<\\?(\\S*)\\s*([\\s\\S]*?)\\s*$/);\n\t\tif(match){\n\t\t\tvar len = match[0].length;\n\t\t\tdomBuilder.processingInstruction(match[1], match[2]) ;\n\t\t\treturn end+2;\n\t\t}else{//error\n\t\t\treturn -1;\n\t\t}\n\t}\n\treturn -1;\n}\n\nfunction ElementAttributes(){\n\tthis.attributeNames = {}\n}\nElementAttributes.prototype = {\n\tsetTagName:function(tagName){\n\t\tif(!tagNamePattern.test(tagName)){\n\t\t\tthrow new Error('invalid tagName:'+tagName)\n\t\t}\n\t\tthis.tagName = tagName\n\t},\n\taddValue:function(qName, value, offset) {\n\t\tif(!tagNamePattern.test(qName)){\n\t\t\tthrow new Error('invalid attribute:'+qName)\n\t\t}\n\t\tthis.attributeNames[qName] = this.length;\n\t\tthis[this.length++] = {qName:qName,value:value,offset:offset}\n\t},\n\tlength:0,\n\tgetLocalName:function(i){return this[i].localName},\n\tgetLocator:function(i){return this[i].locator},\n\tgetQName:function(i){return this[i].qName},\n\tgetURI:function(i){return this[i].uri},\n\tgetValue:function(i){return this[i].value}\n//\t,getIndex:function(uri, localName)){\n//\t\tif(localName){\n//\n//\t\t}else{\n//\t\t\tvar qName = uri\n//\t\t}\n//\t},\n//\tgetValue:function(){return this.getValue(this.getIndex.apply(this,arguments))},\n//\tgetType:function(uri,localName){}\n//\tgetType:function(i){},\n}\n\n\n\nfunction split(source,start){\n\tvar match;\n\tvar buf = [];\n\tvar reg = /'[^']+'|\"[^\"]+\"|[^\\s<>\\/=]+=?|(\\/?\\s*>|<)/g;\n\treg.lastIndex = start;\n\treg.exec(source);//skip <\n\twhile(match = reg.exec(source)){\n\t\tbuf.push(match);\n\t\tif(match[1])return buf;\n\t}\n}\n\nexports.XMLReader = XMLReader;\nexports.ParseError = ParseError;\n","var conventions = require(\"./conventions\");\nvar dom = require('./dom')\nvar entities = require('./entities');\nvar sax = require('./sax');\n\nvar DOMImplementation = dom.DOMImplementation;\n\nvar NAMESPACE = conventions.NAMESPACE;\n\nvar ParseError = sax.ParseError;\nvar XMLReader = sax.XMLReader;\n\n/**\n * Normalizes line ending according to https://www.w3.org/TR/xml11/#sec-line-ends:\n *\n * > XML parsed entities are often stored in computer files which,\n * > for editing convenience, are organized into lines.\n * > These lines are typically separated by some combination\n * > of the characters CARRIAGE RETURN (#xD) and LINE FEED (#xA).\n * >\n * > To simplify the tasks of applications, the XML processor must behave\n * > as if it normalized all line breaks in external parsed entities (including the document entity)\n * > on input, before parsing, by translating all of the following to a single #xA character:\n * >\n * > 1. the two-character sequence #xD #xA\n * > 2. the two-character sequence #xD #x85\n * > 3. the single character #x85\n * > 4. the single character #x2028\n * > 5. any #xD character that is not immediately followed by #xA or #x85.\n *\n * @param {string} input\n * @returns {string}\n */\nfunction normalizeLineEndings(input) {\n\treturn input\n\t\t.replace(/\\r[\\n\\u0085]/g, '\\n')\n\t\t.replace(/[\\r\\u0085\\u2028]/g, '\\n')\n}\n\n/**\n * @typedef Locator\n * @property {number} [columnNumber]\n * @property {number} [lineNumber]\n */\n\n/**\n * @typedef DOMParserOptions\n * @property {DOMHandler} [domBuilder]\n * @property {Function} [errorHandler]\n * @property {(string) => string} [normalizeLineEndings] used to replace line endings before parsing\n * \t\t\t\t\t\tdefaults to `normalizeLineEndings`\n * @property {Locator} [locator]\n * @property {Record<string, string>} [xmlns]\n *\n * @see normalizeLineEndings\n */\n\n/**\n * The DOMParser interface provides the ability to parse XML or HTML source code\n * from a string into a DOM `Document`.\n *\n * _xmldom is different from the spec in that it allows an `options` parameter,\n * to override the default behavior._\n *\n * @param {DOMParserOptions} [options]\n * @constructor\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser\n * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-parsing-and-serialization\n */\nfunction DOMParser(options){\n\tthis.options = options ||{locator:{}};\n}\n\nDOMParser.prototype.parseFromString = function(source,mimeType){\n\tvar options = this.options;\n\tvar sax = new XMLReader();\n\tvar domBuilder = options.domBuilder || new DOMHandler();//contentHandler and LexicalHandler\n\tvar errorHandler = options.errorHandler;\n\tvar locator = options.locator;\n\tvar defaultNSMap = options.xmlns||{};\n\tvar isHTML = /\\/x?html?$/.test(mimeType);//mimeType.toLowerCase().indexOf('html') > -1;\n \tvar entityMap = isHTML ? entities.HTML_ENTITIES : entities.XML_ENTITIES;\n\tif(locator){\n\t\tdomBuilder.setDocumentLocator(locator)\n\t}\n\n\tsax.errorHandler = buildErrorHandler(errorHandler,domBuilder,locator);\n\tsax.domBuilder = options.domBuilder || domBuilder;\n\tif(isHTML){\n\t\tdefaultNSMap[''] = NAMESPACE.HTML;\n\t}\n\tdefaultNSMap.xml = defaultNSMap.xml || NAMESPACE.XML;\n\tvar normalize = options.normalizeLineEndings || normalizeLineEndings;\n\tif (source && typeof source === 'string') {\n\t\tsax.parse(\n\t\t\tnormalize(source),\n\t\t\tdefaultNSMap,\n\t\t\tentityMap\n\t\t)\n\t} else {\n\t\tsax.errorHandler.error('invalid doc source')\n\t}\n\treturn domBuilder.doc;\n}\nfunction buildErrorHandler(errorImpl,domBuilder,locator){\n\tif(!errorImpl){\n\t\tif(domBuilder instanceof DOMHandler){\n\t\t\treturn domBuilder;\n\t\t}\n\t\terrorImpl = domBuilder ;\n\t}\n\tvar errorHandler = {}\n\tvar isCallback = errorImpl instanceof Function;\n\tlocator = locator||{}\n\tfunction build(key){\n\t\tvar fn = errorImpl[key];\n\t\tif(!fn && isCallback){\n\t\t\tfn = errorImpl.length == 2?function(msg){errorImpl(key,msg)}:errorImpl;\n\t\t}\n\t\terrorHandler[key] = fn && function(msg){\n\t\t\tfn('[xmldom '+key+']\\t'+msg+_locator(locator));\n\t\t}||function(){};\n\t}\n\tbuild('warning');\n\tbuild('error');\n\tbuild('fatalError');\n\treturn errorHandler;\n}\n\n//console.log('#\\n\\n\\n\\n\\n\\n\\n####')\n/**\n * +ContentHandler+ErrorHandler\n * +LexicalHandler+EntityResolver2\n * -DeclHandler-DTDHandler\n *\n * DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler\n * DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2\n * @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html\n */\nfunction DOMHandler() {\n this.cdata = false;\n}\nfunction position(locator,node){\n\tnode.lineNumber = locator.lineNumber;\n\tnode.columnNumber = locator.columnNumber;\n}\n/**\n * @see org.xml.sax.ContentHandler#startDocument\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html\n */\nDOMHandler.prototype = {\n\tstartDocument : function() {\n \tthis.doc = new DOMImplementation().createDocument(null, null, null);\n \tif (this.locator) {\n \tthis.doc.documentURI = this.locator.systemId;\n \t}\n\t},\n\tstartElement:function(namespaceURI, localName, qName, attrs) {\n\t\tvar doc = this.doc;\n\t var el = doc.createElementNS(namespaceURI, qName||localName);\n\t var len = attrs.length;\n\t appendElement(this, el);\n\t this.currentElement = el;\n\n\t\tthis.locator && position(this.locator,el)\n\t for (var i = 0 ; i < len; i++) {\n\t var namespaceURI = attrs.getURI(i);\n\t var value = attrs.getValue(i);\n\t var qName = attrs.getQName(i);\n\t\t\tvar attr = doc.createAttributeNS(namespaceURI, qName);\n\t\t\tthis.locator &&position(attrs.getLocator(i),attr);\n\t\t\tattr.value = attr.nodeValue = value;\n\t\t\tel.setAttributeNode(attr)\n\t }\n\t},\n\tendElement:function(namespaceURI, localName, qName) {\n\t\tvar current = this.currentElement\n\t\tvar tagName = current.tagName;\n\t\tthis.currentElement = current.parentNode;\n\t},\n\tstartPrefixMapping:function(prefix, uri) {\n\t},\n\tendPrefixMapping:function(prefix) {\n\t},\n\tprocessingInstruction:function(target, data) {\n\t var ins = this.doc.createProcessingInstruction(target, data);\n\t this.locator && position(this.locator,ins)\n\t appendElement(this, ins);\n\t},\n\tignorableWhitespace:function(ch, start, length) {\n\t},\n\tcharacters:function(chars, start, length) {\n\t\tchars = _toString.apply(this,arguments)\n\t\t//console.log(chars)\n\t\tif(chars){\n\t\t\tif (this.cdata) {\n\t\t\t\tvar charNode = this.doc.createCDATASection(chars);\n\t\t\t} else {\n\t\t\t\tvar charNode = this.doc.createTextNode(chars);\n\t\t\t}\n\t\t\tif(this.currentElement){\n\t\t\t\tthis.currentElement.appendChild(charNode);\n\t\t\t}else if(/^\\s*$/.test(chars)){\n\t\t\t\tthis.doc.appendChild(charNode);\n\t\t\t\t//process xml\n\t\t\t}\n\t\t\tthis.locator && position(this.locator,charNode)\n\t\t}\n\t},\n\tskippedEntity:function(name) {\n\t},\n\tendDocument:function() {\n\t\tthis.doc.normalize();\n\t},\n\tsetDocumentLocator:function (locator) {\n\t if(this.locator = locator){// && !('lineNumber' in locator)){\n\t \tlocator.lineNumber = 0;\n\t }\n\t},\n\t//LexicalHandler\n\tcomment:function(chars, start, length) {\n\t\tchars = _toString.apply(this,arguments)\n\t var comm = this.doc.createComment(chars);\n\t this.locator && position(this.locator,comm)\n\t appendElement(this, comm);\n\t},\n\n\tstartCDATA:function() {\n\t //used in characters() methods\n\t this.cdata = true;\n\t},\n\tendCDATA:function() {\n\t this.cdata = false;\n\t},\n\n\tstartDTD:function(name, publicId, systemId) {\n\t\tvar impl = this.doc.implementation;\n\t if (impl && impl.createDocumentType) {\n\t var dt = impl.createDocumentType(name, publicId, systemId);\n\t this.locator && position(this.locator,dt)\n\t appendElement(this, dt);\n\t\t\t\t\tthis.doc.doctype = dt;\n\t }\n\t},\n\t/**\n\t * @see org.xml.sax.ErrorHandler\n\t * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html\n\t */\n\twarning:function(error) {\n\t\tconsole.warn('[xmldom warning]\\t'+error,_locator(this.locator));\n\t},\n\terror:function(error) {\n\t\tconsole.error('[xmldom error]\\t'+error,_locator(this.locator));\n\t},\n\tfatalError:function(error) {\n\t\tthrow new ParseError(error, this.locator);\n\t}\n}\nfunction _locator(l){\n\tif(l){\n\t\treturn '\\n@'+(l.systemId ||'')+'#[line:'+l.lineNumber+',col:'+l.columnNumber+']'\n\t}\n}\nfunction _toString(chars,start,length){\n\tif(typeof chars == 'string'){\n\t\treturn chars.substr(start,length)\n\t}else{//java sax connect width xmldom on rhino(what about: \"? && !(chars instanceof String)\")\n\t\tif(chars.length >= start+length || start){\n\t\t\treturn new java.lang.String(chars,start,length)+'';\n\t\t}\n\t\treturn chars;\n\t}\n}\n\n/*\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/LexicalHandler.html\n * used method of org.xml.sax.ext.LexicalHandler:\n * #comment(chars, start, length)\n * #startCDATA()\n * #endCDATA()\n * #startDTD(name, publicId, systemId)\n *\n *\n * IGNORED method of org.xml.sax.ext.LexicalHandler:\n * #endDTD()\n * #startEntity(name)\n * #endEntity(name)\n *\n *\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/DeclHandler.html\n * IGNORED method of org.xml.sax.ext.DeclHandler\n * \t#attributeDecl(eName, aName, type, mode, value)\n * #elementDecl(name, model)\n * #externalEntityDecl(name, publicId, systemId)\n * #internalEntityDecl(name, value)\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/EntityResolver2.html\n * IGNORED method of org.xml.sax.EntityResolver2\n * #resolveEntity(String name,String publicId,String baseURI,String systemId)\n * #resolveEntity(publicId, systemId)\n * #getExternalSubset(name, baseURI)\n * @link http://www.saxproject.org/apidoc/org/xml/sax/DTDHandler.html\n * IGNORED method of org.xml.sax.DTDHandler\n * #notationDecl(name, publicId, systemId) {};\n * #unparsedEntityDecl(name, publicId, systemId, notationName) {};\n */\n\"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl\".replace(/\\w+/g,function(key){\n\tDOMHandler.prototype[key] = function(){return null}\n})\n\n/* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */\nfunction appendElement (hander,node) {\n if (!hander.currentElement) {\n hander.doc.appendChild(node);\n } else {\n hander.currentElement.appendChild(node);\n }\n}//appendChild and setAttributeNS are preformance key\n\nexports.__DOMHandler = DOMHandler;\nexports.normalizeLineEndings = normalizeLineEndings;\nexports.DOMParser = DOMParser;\n","var dom = require('./dom')\nexports.DOMImplementation = dom.DOMImplementation\nexports.XMLSerializer = dom.XMLSerializer\nexports.DOMParser = require('./dom-parser').DOMParser\n"],"names":["e","arguments","length","id","adId","sequence","apiFramework","universalAdIds","creativeExtensions","t","r","a","n","s","ERRORCODE","isCustomCode","test","CACHEBUSTING","d","Math","round","random","TIMESTAMP","Date","toISOString","RANDOM","c","push","i","match","filter","indexOf","reduce","replace","RegExp","concat","Array","isArray","map","hasOwnProperty","url","o","l","Object","getOwnPropertyNames","encodeURIComponent","charCodeAt","toString","padStart","u","track","forEach","window","Image","src","resolveURLTemplates","extractURLsFromTemplates","filterUrlTemplates","validUrls","invalidUrls","containsTemplateObject","isTemplateObjectEqual","encodeURIComponentRFC3986","replaceUrlMacros","isNumeric","isNaN","parseFloat","isFinite","flatten","joinArrayOfUniqueTemplateObjs","isValidTimeValue","Number","addLeadingZeros","isValidUrl","isBrowserEnvironment","formatMacrosValues","JSON","stringify","h","includes","m","childByName","from","childNodes","find","nodeName","childrenByName","resolveVastAdTagURI","startsWith","protocol","location","slice","lastIndexOf","parseBoolean","parseNodeText","textContent","text","trim","copyNodeAttribute","getAttribute","setAttribute","parseAttributes","attributes","nodeValue","parseDuration","parseInt","split","getStandAloneAds","getSortedAdPods","sort","assignAttributes","mergeWrapperAdData","errorURLTemplates","impressionURLTemplates","extensions","viewableImpression","followAdditionalWrappers","allowMultipleAds","fallbackOnNoAd","creatives","type","variations","companionClickTrackingURLTemplates","videoClickTrackingURLTemplates","videoCustomClickURLTemplates","trackingEvents","videoClickThroughURLTemplate","adVerifications","blockedAdCategories","icons","mediaFiles","g","required","adType","width","height","assetWidth","assetHeight","expandedWidth","expandedHeight","adSlotId","pxratio","renderingMode","staticResources","htmlResources","iframeResources","adParameters","altText","companionClickThroughURLTemplate","creativeType","value","xmlEncoded","v","duration","skipDelay","mezzanine","interactiveCreativeFile","closedCaptionFiles","charAt","fileURL","fileSize","deliveryType","mimeType","mediaType","codec","bitrate","minBitrate","maxBitrate","scalable","maintainAspectRatio","variableDuration","language","delivery","program","xPosition","yPosition","offset","staticResource","htmlResource","iframeResource","iconClickThroughURLTemplate","iconClickTrackingURLTemplates","iconViewTrackingURLTemplate","iconClickFallbackImages","hoverText","f","minSuggestedDuration","nonlinearClickThroughURLTemplate","nonlinearClickTrackingURLTemplates","T","A","name","children","keys","R","k","Wrapper","subElements","BlockedAdCategories","InLine","Category","Pricing","Verification","oneOfinLineResources","UniversalAdId","JavaScriptResource","ExecutableResource","Tracking","Creatives","Creative","Linear","MediaFiles","MediaFile","Mezzanine","NonLinear","Companion","StaticResource","Icons","Icon","y","N","parentName","parentNode","E","some","oneOfResources","b","join","message","parentElement","specVersion","w","L","toLowerCase","ad","I","C","wrongNode","U","adServingId","categories","expires","system","title","description","advertiser","pricing","survey","idRegistry","x","version","authority","viewable","notViewable","viewUndetermined","model","currency","nextWrapperURL","resource","vendor","browserOptional","parameters","S","constructor","this","_handlers","on","TypeError","event","handler","once","fired","wrapFn","off","bind","emit","removeAllListeners","listenerCount","listeners","eventNames","V","D","O","F","P","B","fetcher","super","maxWrapperDepth","rootErrorURLTemplates","remainingAds","parsingOptions","keepFailedAdPod","trackVastError","assign","getErrorURLTemplates","getEstimatedBitrate","initParsingStatus","wrapperLimit","rootURL","resetParsingStatus","byteLength","requestDuration","vastVersion","getRemainingAds","Promise","reject","Error","shift","resolveAds","wrapperDepth","then","buildVASTResponse","parseVAST","isRootVAST","parse","ads","completeWrapperResolving","parseVastXml","documentElement","adIndex","resolveAll","wrapperSequence","previousUrl","resolveWrappers","all","VASTAdTagURI","errorCode","fetchVAST","emitter","catch","errorMessage","ERRORMESSAGE","hasFailed","splice","M","W","data","getItem","setItem","removeItem","clear","j","storage","initStorage","localStorage","sessionStorage","isStorageDisabled","q","K","get","async","AbortController","setTimeout","abort","timeout","fetch","signal","credentials","withCredentials","finally","clearTimeout","status","ok","statusText","error","statusCode","DOMParser","resolve","index$1","xml","parseFromString","details","rawXml","H","URLTemplateFilters","setOptions","urlHandler","urlhandler","fetchingOptions","fetchOptions","Boolean","addURLTemplateFilter","removeLastURLTemplateFilter","pop","countURLTemplateFilters","clearURLTemplateFilters","wrapperAd","now","_","cappingFreeLunch","cappingMinimumTimeInterval","vastParser","lastSuccessfulAd","totalCalls","totalCallsTimeout","getParser","hasRemainingAds","getNextAds","z","creative","variation","muted","impressed","skippable","trackedProgressEvents","lastPercentage","_alreadyTriggeredQuartiles","emitAlwaysEvents","viewableImpressionTrackers","entries","_initLinearTracking","_initVariationTracking","linear","setDuration","clickThroughURLTemplate","clickTrackingURLTemplates","assetDuration","quartiles","firstQuartile","midpoint","thirdQuartile","setProgress","isQuartileReached","macros","progress","setMuted","setPaused","paused","setFullscreen","fullscreen","setExpand","expanded","setSkipDelay","trackImpression","trackURLs","trackViewableImpression","trackNotViewableImpression","trackUndeterminedImpression","errorWithCode","console","log","complete","notUsed","otherAdInteraction","acceptInvitation","adExpand","adCollapse","minimize","verificationNotExecuted","trackingURLTemplates","overlayViewDuration","ADPLAYHEAD","close","skip","load","click","progressFormatted","trackProgressEvents","time","urls","endsWith","ASSETURI","UNIVERSALADID","PODSEQUENCE","ADTYPE","ADSERVINGID","ADCATEGORIES","BLOCKEDADCATEGORIES","convertToTimecode","floor","toXmlDocument","String","computeSkipAtSeconds","skipOffset","p","tc","exec","hh","mm","ss","every","parseTimecodeToSeconds","pickBestMediaFile","preferredMediaTypes","normalized","bitRate","raw","candidates","extractSkipOffsetFromCreative","skipdelay","skipoffset","normalize","undefined","obj","extractSimidUrl","rawDoc","interactiveCreativeFiles","mf","APIFramework","tagName","els","getElementsByTagName","el","extractAdsFromParsed","parsed","direct","vastResponse","adPods","adpods","flattened","pod","Ads","singlePod","adPod","adpod","singleAds","collectPodAds","out","seqRaw","seq","cidx","mediafiles","companions","companionAds","nonLinears","nonLinearAds","mediaFile","creativeIndex","as","MAX_SAFE_INTEGER","bs","collectNonLinearCreatives","nonLinear","NonLinearAds","NonLinears","nl","collectNonLinearFromXml","doc","byLocalName","root","localName","getElementsByTagNameNS","arr","firstChildText","compEls","staticRes","clickThrough","nlEls","iframeRes","htmlRes","iFrameResource","nonLinearClickThrough","buildCaptionsFromVastMediaFileRaw","mediaFileRaw","ccFiles","cc","ClosedCaptionFiles","closedCaptionFile","ClosedCaptionFile","mime_type","lang","extractClosedCaptions","kind","srclang","label","toUpperCase","AdDomManager","overlay","cfg","getAdVideo","getTracker","onSkipCallback","defineProperty","addSessionUnsub","fn","sessionUnsubs","clearSession","clearAdOverlays","resolveContainer","selector","nodeType","found","document","querySelector","HTMLElement","getNonLinearContainer","resolvedNonLinearContainer","nonLinearContainer","nonLinearSelector","getCompanionContainer","resolvedCompanionContainer","companionContainer","companionSelector","resolveMount","media","mountEl","mountSelector","closest","body","ensureOverlayMounted","mount","cs","getComputedStyle","position","style","inset","zIndex","pointerEvents","appendChild","setSafeHTML","html","tpl","createElement","innerHTML","blockedTags","Set","walker","createTreeWalker","content","NodeFilter","SHOW_ELEMENT","toRemove","nextNode","node","currentNode","has","attr","removeAttribute","isJs","isVbscript","isData","isHttp","isSafeDataImage","remove","replaceChildren","cloneNode","safeWindowOpen","rawUrl","URL","href","open","ensureSkipDom","skipWrap","skipBtn","wrap","className","btn","onClick","preventDefault","stopPropagation","addEventListener","EVENT_OPTIONS","removeEventListener","hideSkipUi","display","skipOffsetRaw","skipAtSeconds","setupSkipUIForPodItem","item","update","dur","skipAt","cur","currentTime","remaining","max","ceil","requestSkip","reason","adVideo","currentBreakMeta","emitSkip","trackSkip","break","breakId","dispatchEvent","Event","companionWrap","nonLinearWrap","mountCompanions","container","flexDirection","gap","maxWidth","renderCompanion","childElementCount","companion","companionClickThrough","cursor","StaticResources","IFrameResource","iFrameResources","IFrameResources","HTMLResource","HTMLResources","img","uri","ifr","border","div","trackClick","trackClickThrough","nonLinearSuggestedDurationSeconds","minSuggestedDurationSeconds","ensureNonLinearDom","left","right","bottom","justifyContent","renderNonLinear","nonLinearClickThroughURLTemplate","pickFirst","target","mountNonLinear","mountSimidIframe","iframe","CaptionManager","captionsSignature","listCaptionTracks","list","textTracks","captureActiveCaptionTrack","prevActiveCaptionSig","active","mode","restoreActiveTextTrack","sig","tracks","ensureRawCaptions","captions","fileLanguage","fileType","attachAdCaptionTracks","vtt","created","default","adTrackEls","clearAdTracks","removeAdCaptions","getOmidClient","OmidSessionClient","OmidSession","isAvailable","injectVerificationScript","scriptUrl","params","head","verifications","accessMode","omid","partner","Partner","verificationResources","VerificationScriptResource","sdkAccessMode","AccessMode","DOMAIN","LIMITED","context","Context","setVideoElement","setAccessMode","adSession","AdSession","videoEvents","VideoEvents","adEvents","AdEvents","start","impression","destroyed","triggerSessionStart","impressionOccurred","loaded","isSkippable","isAutoPlay","vastProps","VastProperties","volume","pause","resume","skipped","volumeChange","playerStateChange","state","adUserInteraction","interactionType","bufferStart","bufferFinish","destroy","finish","enumerable","configurable","writable","key","prototype","followRedirects","vastAdData","adTagURI","customData","templateType","firstChild","nextSibling","substring","timeOffset","breakType","repeatAfter","adSource","tracker","adBreaks","getVastInputFromBreakFn","isXml","source","input","sourceType","firstSource","sources","AdScheduler","ctx","warn","onVmapError","isXmlString","getSource","getPrimaryVastLikeSource","inferSourceTypeForUrl","exact","getVastInputFromBreak","getBreakId","at","getPrerollBreak","resolvedBreaks","playedBreaks","breaks","hasExplicitPrerolls","primary","getPostrollBreak","getDueMidrollBreaks","core","pendingPercentBreaks","toAdd","pb","atSec","percent","due","breakTolerance","getDueMidrollBreak","rebuild","combined","vastLikeSources","adSourcesMode","vmap","preload","pendingVmapSrc","vmapPending","vmapLoadPromise","loadVmapAndMerge","normalizeVmapAdSource","extractVastTagUri","URI","parseVmapTimeOffset","pendingPercent","existing","vmapSrc","xmlText","xmlDoc","VMAP","vmapBreaks","prevPendingCount","rawAdBreakCount","ns","rawOffset","vastInline","vastTag","XMLSerializer","serializeToString","libBreakCount","parseVmapFallback","err","_prevPendingCount","byTag","adBreakEls","adSrc","uriEls","dataEls","reset","SIMID_PLAYER","SIMID_CREATIVE","SimidSession","callbacks","Map","messageListener","handleMessage","nextMsgId","msgId","send","args","msg","pending","set","contentWindow","postMessage","delete","onCreativeReady","resolves","rejects","onSkip","onStop","onPause","onPlay","clickThroughUrl","onClickThrough","trackingEvent","onTrackingEvent","requestFullscreen","resize","offsetWidth","innerWidth","offsetHeight","innerHeight","onFatal","onLog","started","rect","getBoundingClientRect","creativeData","environmentData","playerWidth","playerHeight","videoDuration","videoVolume","fullscreenAllowed","init","remainingTime","stop","fatal","PluginBus","bus","cb","AdsPlugin","dom","_dom","config","normalizeSources","hasExplicitPreroll","hasSourceVastOrVmap","allowNativeControls","resumeContent","debug","interceptPlayForPreroll","autoPlayOnReady","setup","events","vastClient","VASTClient","scheduler","captionMgr","globalUnsubs","startingBreak","contentMedia","contentHadControls","leases","release","getOverlayManager","deactivate","overlayId","userPlayIntent","bindBreakScheduler","bindPrerollInterceptors","forcedMuteUntilInteraction","playAds","vastUrl","playBreakFromVast","playAdsFromXml","vastXml","tryMountSimidLayer","simidUrl","maybeStartDeferredVmap","vmapWasPending","shouldInterceptNow","shouldInterceptPreroll","userInteracted","guard","pre","startBreak","onNativePlayCapture","capture","current","onTime","earliestBreak","earliestAt","vmapOffset","tol","group","abs","startBreakGroup","onEnded","post","opts","waterfallSources","add","isLastWaterfall","suppressResumeOnError","suppressResumeOnSuccess","suppressResume","startedMain","playable","isBumper","meta","requestPayload","resumeAfter","pauseAndAcquireLease","acquire","owner","loadRawDocBestEffort","buildParsedForNonLinearFromXml","getVastXmlText","XMLDocument","emitLoaded","count","nonLinearItems","playNonLinearOnlyBreak","xmlItems","playNonLinearOnlyBreakFromXml","adEl","seqAttr","cEl","linearEl","mediaFilesEl","rawEl","collectPodAdsFromXml","AdVerifications","Vendor","resources","javaScriptResource","javascriptResource","resArr","verificationParameters","tag","verEls","jsEls","jsEl","paramsEl","extractAdVerifications","omidSession","index","VASTTracker","_lastCreative","mountAdVideo","endPromise","waitForAdEnd","simidSession","_data","_code","_reason","bindAdSurfaceCommands","bindTrackerAndTelemetry","startAdPlayback","items","maxDuration","companionCreative","trackCreativeView","dismissNonLinear","it","tick","elapsed","playsInline","contentPreload","forceMutedForPolicy","autoplay","controls","desiredMuted","desiredVolume","defaultMuted","min","adEndPromise","cleanup","onError","onVisibility","visibilityState","ended","play","captionTracks","overlayMgr","activate","priority","canSeek","fullscreenEl","fullscreenVideoEl","updateOverlay","wantsAutoplayPath","vol","syncingVolume","lastMuted","lastPaused","q25","q50","q75","q100","emitDuration","emitQuartile","quartile","onPlaying","trackResume","trackStart","trackPause","pct","trackFirstQuartile","trackMidpoint","trackThirdQuartile","trackComplete","onVolume","trackMute","trackUnmute","ev","defaultPrevented","videoClicks","tryPlay","p2","querySelectorAll","removeChild","shouldResume","res","normalizeVmapAdSourceFn","extractVastTagUriFn","parseVmapTimeOffsetFn","setSafeHTMLFn","getBreakIdFn","global","OpenPlayerPlugins","factory","install","PlayerCtor","getOwnPropertyDescriptor","getPlugin","plugin","installAds","extend","player","extendAds","OpenPlayerJS","getCore","freeze","object","oc","MIME_TYPE","HTML","isHTML","XML_APPLICATION","XML_TEXT","XML_XHTML_APPLICATION","XML_SVG_IMAGE","NAMESPACE","SVG","XML","XMLNS","conventions","call","predicate","ac","require$$0","notEmptyString","orderedSetReducer","element","toOrderedSet","splitOnASCIIWhitespace","copy","dest","_extends","Class","Super","pt","NodeType","ELEMENT_NODE","ATTRIBUTE_NODE","TEXT_NODE","CDATA_SECTION_NODE","ENTITY_REFERENCE_NODE","ENTITY_NODE","PROCESSING_INSTRUCTION_NODE","COMMENT_NODE","DOCUMENT_NODE","DOCUMENT_TYPE_NODE","DOCUMENT_FRAGMENT_NODE","NOTATION_NODE","ExceptionCode","ExceptionMessage","INDEX_SIZE_ERR","DOMSTRING_SIZE_ERR","HIERARCHY_REQUEST_ERR","WRONG_DOCUMENT_ERR","INVALID_CHARACTER_ERR","NO_DATA_ALLOWED_ERR","NO_MODIFICATION_ALLOWED_ERR","NOT_FOUND_ERR","NOT_SUPPORTED_ERR","INUSE_ATTRIBUTE_ERR","DOMException","code","captureStackTrace","NodeList","LiveNodeList","refresh","_node","_refresh","_updateLiveList","inc","_inc","ownerDocument","ls","__set__","$$length","NamedNodeMap","_findNodeIndex","_addNamedNode","newAttr","oldAttr","ownerElement","_onRemoveAttribute","namespaceURI","_nsMap","prefix","_onAddAttribute","_removeNamedNode","lastIndex","DOMImplementation","Node","_xmlEncoder","_visitNode","callback","Document","_onUpdateChild","newChild","child","_removeChild","previous","previousSibling","next","lastChild","isDocTypeNode","isElementNode","isTextNode","isElementInsertionPossible","parentChildNodes","docTypeNode","isElementReplacementPossible","assertPreInsertionValidity1to5","parent","hasValidParentNodeType","hasInsertableNodeType","assertPreInsertionValidityInDocument","nodeChildNodes","nodeChildElements","parentElementChild","assertPreReplacementValidityInDocument","hasDoctypeChildThatIsNotChild","_insertBefore","_inDocumentAssertion","cp","newFirst","newLast","_updateOwnerDocument","newOwnerDocument","Element","Attr","CharacterData","Text","Comment","CDATASection","DocumentType","Notation","Entity","EntityReference","DocumentFragment","ProcessingInstruction","nodeSerializeToString","isHtml","nodeFilter","buf","refNode","lookupPrefix","visibleNamespaces","namespace","needNamespaceDefine","addSerializedAttribute","qualifiedName","attrs","len","prefixedNodeName","defaultNS","ai","nsi","pubid","publicId","sysid","systemId","sub","internalSubset","importNode","deep","node2","attrs2","_ownerElement","setAttributeNode","INVALID_STATE_ERR","SYNTAX_ERR","INVALID_MODIFICATION_ERR","NAMESPACE_ERR","INVALID_ACCESS_ERR","getNamedItem","setNamedItem","setNamedItemNS","getNamedItemNS","removeNamedItem","removeNamedItemNS","hasFeature","feature","createDocument","doctype","implementation","createElementNS","createDocumentType","insertBefore","refChild","replaceChild","oldChild","hasChildNodes","appendData","isSupported","hasAttributes","lookupNamespaceURI","isDefaultNamespace","importedNode","getElementById","rtv","getElementsByClassName","classNames","classNamesSet","base","nodeClassNames","matches","nodeClassNamesSet","createDocumentFragment","createTextNode","createComment","createCDATASection","createProcessingInstruction","createAttribute","specified","createEntityReference","pl","createAttributeNS","hasAttribute","getAttributeNode","removeAttributeNode","_appendSingleChild","setAttributeNodeNS","removeAttributeNS","old","getAttributeNodeNS","hasAttributeNS","getAttributeNS","setAttributeNS","substringData","insertData","replaceData","deleteData","splitText","newText","newNode","getTextContent","exports","XML_ENTITIES","amp","apos","gt","lt","quot","HTML_ENTITIES","Aacute","aacute","Abreve","abreve","acd","acE","Acirc","acirc","acute","Acy","acy","AElig","aelig","af","Afr","afr","Agrave","agrave","alefsym","aleph","Alpha","alpha","Amacr","amacr","amalg","AMP","And","and","andand","andd","andslope","andv","ang","ange","angle","angmsd","angmsdaa","angmsdab","angmsdac","angmsdad","angmsdae","angmsdaf","angmsdag","angmsdah","angrt","angrtvb","angrtvbd","angsph","angst","angzarr","Aogon","aogon","Aopf","aopf","ap","apacir","apE","ape","apid","ApplyFunction","approx","approxeq","Aring","aring","Ascr","ascr","Assign","ast","asymp","asympeq","Atilde","atilde","Auml","auml","awconint","awint","backcong","backepsilon","backprime","backsim","backsimeq","Backslash","Barv","barvee","Barwed","barwed","barwedge","bbrk","bbrktbrk","bcong","Bcy","bcy","bdquo","becaus","Because","because","bemptyv","bepsi","bernou","Bernoullis","Beta","beta","beth","between","Bfr","bfr","bigcap","bigcirc","bigcup","bigodot","bigoplus","bigotimes","bigsqcup","bigstar","bigtriangledown","bigtriangleup","biguplus","bigvee","bigwedge","bkarow","blacklozenge","blacksquare","blacktriangle","blacktriangledown","blacktriangleleft","blacktriangleright","blank","blk12","blk14","blk34","block","bne","bnequiv","bNot","bnot","Bopf","bopf","bot","bowtie","boxbox","boxDL","boxDl","boxdL","boxdl","boxDR","boxDr","boxdR","boxdr","boxH","boxh","boxHD","boxHd","boxhD","boxhd","boxHU","boxHu","boxhU","boxhu","boxminus","boxplus","boxtimes","boxUL","boxUl","boxuL","boxul","boxUR","boxUr","boxuR","boxur","boxV","boxv","boxVH","boxVh","boxvH","boxvh","boxVL","boxVl","boxvL","boxvl","boxVR","boxVr","boxvR","boxvr","bprime","Breve","breve","brvbar","Bscr","bscr","bsemi","bsim","bsime","bsol","bsolb","bsolhsub","bull","bullet","bump","bumpE","bumpe","Bumpeq","bumpeq","Cacute","cacute","Cap","cap","capand","capbrcup","capcap","capcup","capdot","CapitalDifferentialD","caps","caret","caron","Cayleys","ccaps","Ccaron","ccaron","Ccedil","ccedil","Ccirc","ccirc","Cconint","ccups","ccupssm","Cdot","cdot","cedil","Cedilla","cemptyv","cent","CenterDot","centerdot","Cfr","cfr","CHcy","chcy","check","checkmark","Chi","chi","cir","circ","circeq","circlearrowleft","circlearrowright","circledast","circledcirc","circleddash","CircleDot","circledR","circledS","CircleMinus","CirclePlus","CircleTimes","cirE","cire","cirfnint","cirmid","cirscir","ClockwiseContourIntegral","CloseCurlyDoubleQuote","CloseCurlyQuote","clubs","clubsuit","Colon","colon","Colone","colone","coloneq","comma","commat","comp","compfn","complement","complexes","cong","congdot","Congruent","Conint","conint","ContourIntegral","Copf","copf","coprod","Coproduct","COPY","copysr","CounterClockwiseContourIntegral","crarr","Cross","cross","Cscr","cscr","csub","csube","csup","csupe","ctdot","cudarrl","cudarrr","cuepr","cuesc","cularr","cularrp","Cup","cup","cupbrcap","CupCap","cupcap","cupcup","cupdot","cupor","cups","curarr","curarrm","curlyeqprec","curlyeqsucc","curlyvee","curlywedge","curren","curvearrowleft","curvearrowright","cuvee","cuwed","cwconint","cwint","cylcty","Dagger","dagger","daleth","Darr","dArr","darr","dash","Dashv","dashv","dbkarow","dblac","Dcaron","dcaron","Dcy","dcy","DD","dd","ddagger","ddarr","DDotrahd","ddotseq","deg","Del","Delta","delta","demptyv","dfisht","Dfr","dfr","dHar","dharl","dharr","DiacriticalAcute","DiacriticalDot","DiacriticalDoubleAcute","DiacriticalGrave","DiacriticalTilde","diam","Diamond","diamond","diamondsuit","diams","die","DifferentialD","digamma","disin","divide","divideontimes","divonx","DJcy","djcy","dlcorn","dlcrop","dollar","Dopf","dopf","Dot","dot","DotDot","doteq","doteqdot","DotEqual","dotminus","dotplus","dotsquare","doublebarwedge","DoubleContourIntegral","DoubleDot","DoubleDownArrow","DoubleLeftArrow","DoubleLeftRightArrow","DoubleLeftTee","DoubleLongLeftArrow","DoubleLongLeftRightArrow","DoubleLongRightArrow","DoubleRightArrow","DoubleRightTee","DoubleUpArrow","DoubleUpDownArrow","DoubleVerticalBar","DownArrow","Downarrow","downarrow","DownArrowBar","DownArrowUpArrow","DownBreve","downdownarrows","downharpoonleft","downharpoonright","DownLeftRightVector","DownLeftTeeVector","DownLeftVector","DownLeftVectorBar","DownRightTeeVector","DownRightVector","DownRightVectorBar","DownTee","DownTeeArrow","drbkarow","drcorn","drcrop","Dscr","dscr","DScy","dscy","dsol","Dstrok","dstrok","dtdot","dtri","dtrif","duarr","duhar","dwangle","DZcy","dzcy","dzigrarr","Eacute","eacute","easter","Ecaron","ecaron","ecir","Ecirc","ecirc","ecolon","Ecy","ecy","eDDot","Edot","eDot","edot","ee","efDot","Efr","efr","eg","Egrave","egrave","egs","egsdot","elinters","ell","elsdot","Emacr","emacr","empty","emptyset","EmptySmallSquare","emptyv","EmptyVerySmallSquare","emsp","emsp13","emsp14","ENG","eng","ensp","Eogon","eogon","Eopf","eopf","epar","eparsl","eplus","epsi","Epsilon","epsilon","epsiv","eqcirc","eqcolon","eqsim","eqslantgtr","eqslantless","Equal","equals","EqualTilde","equest","Equilibrium","equiv","equivDD","eqvparsl","erarr","erDot","Escr","escr","esdot","Esim","esim","Eta","eta","ETH","eth","Euml","euml","euro","excl","exist","Exists","expectation","ExponentialE","exponentiale","fallingdotseq","Fcy","fcy","female","ffilig","fflig","ffllig","Ffr","ffr","filig","FilledSmallSquare","FilledVerySmallSquare","fjlig","flat","fllig","fltns","fnof","Fopf","fopf","ForAll","forall","fork","forkv","Fouriertrf","fpartint","frac12","frac13","frac14","frac15","frac16","frac18","frac23","frac25","frac34","frac35","frac38","frac45","frac56","frac58","frac78","frasl","frown","Fscr","fscr","gacute","Gamma","gamma","Gammad","gammad","Gbreve","gbreve","Gcedil","Gcirc","gcirc","Gcy","gcy","Gdot","gdot","gE","ge","gEl","gel","geq","geqq","geqslant","ges","gescc","gesdot","gesdoto","gesdotol","gesl","gesles","Gfr","gfr","Gg","gg","ggg","gimel","GJcy","gjcy","gl","gla","glE","glj","gnap","gnapprox","gnE","gne","gneq","gneqq","gnsim","Gopf","gopf","grave","GreaterEqual","GreaterEqualLess","GreaterFullEqual","GreaterGreater","GreaterLess","GreaterSlantEqual","GreaterTilde","Gscr","gscr","gsim","gsime","gsiml","Gt","GT","gtcc","gtcir","gtdot","gtlPar","gtquest","gtrapprox","gtrarr","gtrdot","gtreqless","gtreqqless","gtrless","gtrsim","gvertneqq","gvnE","Hacek","hairsp","half","hamilt","HARDcy","hardcy","hArr","harr","harrcir","harrw","Hat","hbar","Hcirc","hcirc","hearts","heartsuit","hellip","hercon","Hfr","hfr","HilbertSpace","hksearow","hkswarow","hoarr","homtht","hookleftarrow","hookrightarrow","Hopf","hopf","horbar","HorizontalLine","Hscr","hscr","hslash","Hstrok","hstrok","HumpDownHump","HumpEqual","hybull","hyphen","Iacute","iacute","ic","Icirc","icirc","Icy","icy","Idot","IEcy","iecy","iexcl","iff","Ifr","Igrave","igrave","ii","iiiint","iiint","iinfin","iiota","IJlig","ijlig","Im","Imacr","imacr","image","ImaginaryI","imagline","imagpart","imath","imof","imped","Implies","in","incare","infin","infintie","inodot","Int","int","intcal","integers","Integral","intercal","Intersection","intlarhk","intprod","InvisibleComma","InvisibleTimes","IOcy","iocy","Iogon","iogon","Iopf","iopf","Iota","iota","iprod","iquest","Iscr","iscr","isin","isindot","isinE","isins","isinsv","isinv","Itilde","itilde","Iukcy","iukcy","Iuml","iuml","Jcirc","jcirc","Jcy","jcy","Jfr","jfr","jmath","Jopf","jopf","Jscr","jscr","Jsercy","jsercy","Jukcy","jukcy","Kappa","kappa","kappav","Kcedil","kcedil","Kcy","kcy","Kfr","kfr","kgreen","KHcy","khcy","KJcy","kjcy","Kopf","kopf","Kscr","kscr","lAarr","Lacute","lacute","laemptyv","lagran","Lambda","lambda","Lang","langd","langle","lap","Laplacetrf","laquo","Larr","lArr","larr","larrb","larrbfs","larrfs","larrhk","larrlp","larrpl","larrsim","larrtl","lat","lAtail","latail","late","lates","lBarr","lbarr","lbbrk","lbrace","lbrack","lbrke","lbrksld","lbrkslu","Lcaron","lcaron","Lcedil","lcedil","lceil","lcub","Lcy","lcy","ldca","ldquo","ldquor","ldrdhar","ldrushar","ldsh","lE","le","LeftAngleBracket","LeftArrow","Leftarrow","leftarrow","LeftArrowBar","LeftArrowRightArrow","leftarrowtail","LeftCeiling","LeftDoubleBracket","LeftDownTeeVector","LeftDownVector","LeftDownVectorBar","LeftFloor","leftharpoondown","leftharpoonup","leftleftarrows","LeftRightArrow","Leftrightarrow","leftrightarrow","leftrightarrows","leftrightharpoons","leftrightsquigarrow","LeftRightVector","LeftTee","LeftTeeArrow","LeftTeeVector","leftthreetimes","LeftTriangle","LeftTriangleBar","LeftTriangleEqual","LeftUpDownVector","LeftUpTeeVector","LeftUpVector","LeftUpVectorBar","LeftVector","LeftVectorBar","lEg","leg","leq","leqq","leqslant","les","lescc","lesdot","lesdoto","lesdotor","lesg","lesges","lessapprox","lessdot","lesseqgtr","lesseqqgtr","LessEqualGreater","LessFullEqual","LessGreater","lessgtr","LessLess","lesssim","LessSlantEqual","LessTilde","lfisht","lfloor","Lfr","lfr","lg","lgE","lHar","lhard","lharu","lharul","lhblk","LJcy","ljcy","Ll","ll","llarr","llcorner","Lleftarrow","llhard","lltri","Lmidot","lmidot","lmoust","lmoustache","lnap","lnapprox","lnE","lne","lneq","lneqq","lnsim","loang","loarr","lobrk","LongLeftArrow","Longleftarrow","longleftarrow","LongLeftRightArrow","Longleftrightarrow","longleftrightarrow","longmapsto","LongRightArrow","Longrightarrow","longrightarrow","looparrowleft","looparrowright","lopar","Lopf","lopf","loplus","lotimes","lowast","lowbar","LowerLeftArrow","LowerRightArrow","loz","lozenge","lozf","lpar","lparlt","lrarr","lrcorner","lrhar","lrhard","lrm","lrtri","lsaquo","Lscr","lscr","Lsh","lsh","lsim","lsime","lsimg","lsqb","lsquo","lsquor","Lstrok","lstrok","Lt","LT","ltcc","ltcir","ltdot","lthree","ltimes","ltlarr","ltquest","ltri","ltrie","ltrif","ltrPar","lurdshar","luruhar","lvertneqq","lvnE","macr","male","malt","maltese","mapsto","mapstodown","mapstoleft","mapstoup","marker","mcomma","Mcy","mcy","mdash","mDDot","measuredangle","MediumSpace","Mellintrf","Mfr","mfr","mho","micro","mid","midast","midcir","middot","minus","minusb","minusd","minusdu","MinusPlus","mlcp","mldr","mnplus","models","Mopf","mopf","mp","Mscr","mscr","mstpos","Mu","mu","multimap","mumap","nabla","Nacute","nacute","nang","nap","napE","napid","napos","napprox","natur","natural","naturals","nbsp","nbump","nbumpe","ncap","Ncaron","ncaron","Ncedil","ncedil","ncong","ncongdot","ncup","Ncy","ncy","ndash","ne","nearhk","neArr","nearr","nearrow","nedot","NegativeMediumSpace","NegativeThickSpace","NegativeThinSpace","NegativeVeryThinSpace","nequiv","nesear","nesim","NestedGreaterGreater","NestedLessLess","NewLine","nexist","nexists","Nfr","nfr","ngE","nge","ngeq","ngeqq","ngeqslant","nges","nGg","ngsim","nGt","ngt","ngtr","nGtv","nhArr","nharr","nhpar","ni","nis","nisd","niv","NJcy","njcy","nlArr","nlarr","nldr","nlE","nle","nLeftarrow","nleftarrow","nLeftrightarrow","nleftrightarrow","nleq","nleqq","nleqslant","nles","nless","nLl","nlsim","nLt","nlt","nltri","nltrie","nLtv","nmid","NoBreak","NonBreakingSpace","Nopf","nopf","Not","not","NotCongruent","NotCupCap","NotDoubleVerticalBar","NotElement","NotEqual","NotEqualTilde","NotExists","NotGreater","NotGreaterEqual","NotGreaterFullEqual","NotGreaterGreater","NotGreaterLess","NotGreaterSlantEqual","NotGreaterTilde","NotHumpDownHump","NotHumpEqual","notin","notindot","notinE","notinva","notinvb","notinvc","NotLeftTriangle","NotLeftTriangleBar","NotLeftTriangleEqual","NotLess","NotLessEqual","NotLessGreater","NotLessLess","NotLessSlantEqual","NotLessTilde","NotNestedGreaterGreater","NotNestedLessLess","notni","notniva","notnivb","notnivc","NotPrecedes","NotPrecedesEqual","NotPrecedesSlantEqual","NotReverseElement","NotRightTriangle","NotRightTriangleBar","NotRightTriangleEqual","NotSquareSubset","NotSquareSubsetEqual","NotSquareSuperset","NotSquareSupersetEqual","NotSubset","NotSubsetEqual","NotSucceeds","NotSucceedsEqual","NotSucceedsSlantEqual","NotSucceedsTilde","NotSuperset","NotSupersetEqual","NotTilde","NotTildeEqual","NotTildeFullEqual","NotTildeTilde","NotVerticalBar","npar","nparallel","nparsl","npart","npolint","npr","nprcue","npre","nprec","npreceq","nrArr","nrarr","nrarrc","nrarrw","nRightarrow","nrightarrow","nrtri","nrtrie","nsc","nsccue","nsce","Nscr","nscr","nshortmid","nshortparallel","nsim","nsime","nsimeq","nsmid","nspar","nsqsube","nsqsupe","nsub","nsubE","nsube","nsubset","nsubseteq","nsubseteqq","nsucc","nsucceq","nsup","nsupE","nsupe","nsupset","nsupseteq","nsupseteqq","ntgl","Ntilde","ntilde","ntlg","ntriangleleft","ntrianglelefteq","ntriangleright","ntrianglerighteq","Nu","nu","num","numero","numsp","nvap","nVDash","nVdash","nvDash","nvdash","nvge","nvgt","nvHarr","nvinfin","nvlArr","nvle","nvlt","nvltrie","nvrArr","nvrtrie","nvsim","nwarhk","nwArr","nwarr","nwarrow","nwnear","Oacute","oacute","oast","ocir","Ocirc","ocirc","Ocy","ocy","odash","Odblac","odblac","odiv","odot","odsold","OElig","oelig","ofcir","Ofr","ofr","ogon","Ograve","ograve","ogt","ohbar","ohm","oint","olarr","olcir","olcross","oline","olt","Omacr","omacr","Omega","omega","Omicron","omicron","ominus","Oopf","oopf","opar","OpenCurlyDoubleQuote","OpenCurlyQuote","operp","oplus","Or","or","orarr","ord","order","orderof","ordf","ordm","origof","oror","orslope","orv","oS","Oscr","oscr","Oslash","oslash","osol","Otilde","otilde","Otimes","otimes","otimesas","Ouml","ouml","ovbar","OverBar","OverBrace","OverBracket","OverParenthesis","par","para","parallel","parsim","parsl","part","PartialD","Pcy","pcy","percnt","period","permil","perp","pertenk","Pfr","pfr","Phi","phi","phiv","phmmat","phone","Pi","pi","pitchfork","piv","planck","planckh","plankv","plus","plusacir","plusb","pluscir","plusdo","plusdu","pluse","PlusMinus","plusmn","plussim","plustwo","pm","Poincareplane","pointint","Popf","popf","pound","Pr","pr","prap","prcue","prE","prec","precapprox","preccurlyeq","Precedes","PrecedesEqual","PrecedesSlantEqual","PrecedesTilde","preceq","precnapprox","precneqq","precnsim","precsim","Prime","prime","primes","prnap","prnE","prnsim","prod","Product","profalar","profline","profsurf","prop","Proportion","Proportional","propto","prsim","prurel","Pscr","pscr","Psi","psi","puncsp","Qfr","qfr","qint","Qopf","qopf","qprime","Qscr","qscr","quaternions","quatint","quest","questeq","QUOT","rAarr","race","Racute","racute","radic","raemptyv","Rang","rang","rangd","range","rangle","raquo","Rarr","rArr","rarr","rarrap","rarrb","rarrbfs","rarrc","rarrfs","rarrhk","rarrlp","rarrpl","rarrsim","Rarrtl","rarrtl","rarrw","rAtail","ratail","ratio","rationals","RBarr","rBarr","rbarr","rbbrk","rbrace","rbrack","rbrke","rbrksld","rbrkslu","Rcaron","rcaron","Rcedil","rcedil","rceil","rcub","Rcy","rcy","rdca","rdldhar","rdquo","rdquor","rdsh","Re","real","realine","realpart","reals","REG","reg","ReverseElement","ReverseEquilibrium","ReverseUpEquilibrium","rfisht","rfloor","Rfr","rfr","rHar","rhard","rharu","rharul","Rho","rho","rhov","RightAngleBracket","RightArrow","Rightarrow","rightarrow","RightArrowBar","RightArrowLeftArrow","rightarrowtail","RightCeiling","RightDoubleBracket","RightDownTeeVector","RightDownVector","RightDownVectorBar","RightFloor","rightharpoondown","rightharpoonup","rightleftarrows","rightleftharpoons","rightrightarrows","rightsquigarrow","RightTee","RightTeeArrow","RightTeeVector","rightthreetimes","RightTriangle","RightTriangleBar","RightTriangleEqual","RightUpDownVector","RightUpTeeVector","RightUpVector","RightUpVectorBar","RightVector","RightVectorBar","ring","risingdotseq","rlarr","rlhar","rlm","rmoust","rmoustache","rnmid","roang","roarr","robrk","ropar","Ropf","ropf","roplus","rotimes","RoundImplies","rpar","rpargt","rppolint","rrarr","Rrightarrow","rsaquo","Rscr","rscr","Rsh","rsh","rsqb","rsquo","rsquor","rthree","rtimes","rtri","rtrie","rtrif","rtriltri","RuleDelayed","ruluhar","rx","Sacute","sacute","sbquo","Sc","sc","scap","Scaron","scaron","sccue","scE","sce","Scedil","scedil","Scirc","scirc","scnap","scnE","scnsim","scpolint","scsim","Scy","scy","sdot","sdotb","sdote","searhk","seArr","searr","searrow","sect","semi","seswar","setminus","setmn","sext","Sfr","sfr","sfrown","sharp","SHCHcy","shchcy","SHcy","shcy","ShortDownArrow","ShortLeftArrow","shortmid","shortparallel","ShortRightArrow","ShortUpArrow","shy","Sigma","sigma","sigmaf","sigmav","sim","simdot","sime","simeq","simg","simgE","siml","simlE","simne","simplus","simrarr","slarr","SmallCircle","smallsetminus","smashp","smeparsl","smid","smile","smt","smte","smtes","SOFTcy","softcy","sol","solb","solbar","Sopf","sopf","spades","spadesuit","spar","sqcap","sqcaps","sqcup","sqcups","Sqrt","sqsub","sqsube","sqsubset","sqsubseteq","sqsup","sqsupe","sqsupset","sqsupseteq","squ","Square","square","SquareIntersection","SquareSubset","SquareSubsetEqual","SquareSuperset","SquareSupersetEqual","SquareUnion","squarf","squf","srarr","Sscr","sscr","ssetmn","ssmile","sstarf","Star","star","starf","straightepsilon","straightphi","strns","Sub","subdot","subE","sube","subedot","submult","subnE","subne","subplus","subrarr","Subset","subset","subseteq","subseteqq","SubsetEqual","subsetneq","subsetneqq","subsim","subsub","subsup","succ","succapprox","succcurlyeq","Succeeds","SucceedsEqual","SucceedsSlantEqual","SucceedsTilde","succeq","succnapprox","succneqq","succnsim","succsim","SuchThat","Sum","sum","sung","Sup","sup","sup1","sup2","sup3","supdot","supdsub","supE","supe","supedot","Superset","SupersetEqual","suphsol","suphsub","suplarr","supmult","supnE","supne","supplus","Supset","supset","supseteq","supseteqq","supsetneq","supsetneqq","supsim","supsub","supsup","swarhk","swArr","swarr","swarrow","swnwar","szlig","Tab","Tau","tau","tbrk","Tcaron","tcaron","Tcedil","tcedil","Tcy","tcy","tdot","telrec","Tfr","tfr","there4","Therefore","therefore","Theta","theta","thetasym","thetav","thickapprox","thicksim","ThickSpace","thinsp","ThinSpace","thkap","thksim","THORN","thorn","Tilde","tilde","TildeEqual","TildeFullEqual","TildeTilde","times","timesb","timesbar","timesd","tint","toea","top","topbot","topcir","Topf","topf","topfork","tosa","tprime","TRADE","trade","triangle","triangledown","triangleleft","trianglelefteq","triangleq","triangleright","trianglerighteq","tridot","trie","triminus","TripleDot","triplus","trisb","tritime","trpezium","Tscr","tscr","TScy","tscy","TSHcy","tshcy","Tstrok","tstrok","twixt","twoheadleftarrow","twoheadrightarrow","Uacute","uacute","Uarr","uArr","uarr","Uarrocir","Ubrcy","ubrcy","Ubreve","ubreve","Ucirc","ucirc","Ucy","ucy","udarr","Udblac","udblac","udhar","ufisht","Ufr","ufr","Ugrave","ugrave","uHar","uharl","uharr","uhblk","ulcorn","ulcorner","ulcrop","ultri","Umacr","umacr","uml","UnderBar","UnderBrace","UnderBracket","UnderParenthesis","Union","UnionPlus","Uogon","uogon","Uopf","uopf","UpArrow","Uparrow","uparrow","UpArrowBar","UpArrowDownArrow","UpDownArrow","Updownarrow","updownarrow","UpEquilibrium","upharpoonleft","upharpoonright","uplus","UpperLeftArrow","UpperRightArrow","Upsi","upsi","upsih","Upsilon","upsilon","UpTee","UpTeeArrow","upuparrows","urcorn","urcorner","urcrop","Uring","uring","urtri","Uscr","uscr","utdot","Utilde","utilde","utri","utrif","uuarr","Uuml","uuml","uwangle","vangrt","varepsilon","varkappa","varnothing","varphi","varpi","varpropto","vArr","varr","varrho","varsigma","varsubsetneq","varsubsetneqq","varsupsetneq","varsupsetneqq","vartheta","vartriangleleft","vartriangleright","Vbar","vBar","vBarv","Vcy","vcy","VDash","Vdash","vDash","vdash","Vdashl","Vee","vee","veebar","veeeq","vellip","Verbar","verbar","Vert","vert","VerticalBar","VerticalLine","VerticalSeparator","VerticalTilde","VeryThinSpace","Vfr","vfr","vltri","vnsub","vnsup","Vopf","vopf","vprop","vrtri","Vscr","vscr","vsubnE","vsubne","vsupnE","vsupne","Vvdash","vzigzag","Wcirc","wcirc","wedbar","Wedge","wedge","wedgeq","weierp","Wfr","wfr","Wopf","wopf","wp","wr","wreath","Wscr","wscr","xcap","xcirc","xcup","xdtri","Xfr","xfr","xhArr","xharr","Xi","xi","xlArr","xlarr","xmap","xnis","xodot","Xopf","xopf","xoplus","xotime","xrArr","xrarr","Xscr","xscr","xsqcup","xuplus","xutri","xvee","xwedge","Yacute","yacute","YAcy","yacy","Ycirc","ycirc","Ycy","ycy","yen","Yfr","yfr","YIcy","yicy","Yopf","yopf","Yscr","yscr","YUcy","yucy","Yuml","yuml","Zacute","zacute","Zcaron","zcaron","Zcy","zcy","Zdot","zdot","zeetrf","ZeroWidthSpace","Zeta","zeta","Zfr","zfr","ZHcy","zhcy","zigrarr","Zopf","zopf","Zscr","zscr","zwj","zwnj","entityMap","nameStartChar","nameChar","tagNamePattern","ParseError","locator","XMLReader","copyLocator","lineNumber","columnNumber","parseElementStartPart","currentNSMap","entityReplacer","errorHandler","addAttribute","qname","startIndex","attributeNames","fatalError","addValue","attrName","warning","setTagName","closed","appendElement","domBuilder","localNSMap","qName","nsp","nsPrefix","_copy","startPrefixMapping","startElement","endElement","endPrefixMapping","parseHtmlSpecialContent","elStartEnd","elEndStart","characters","fixSelfClosed","closeMap","pos","parseDCC","end","comment","substr","startCDATA","endCDATA","matchs","lastMatch","startDTD","endDTD","parseInstruction","processingInstruction","ElementAttributes","defaultNSMap","startDocument","defaultNSMapCopy","fixedFromCharCode","surrogate1","surrogate2","fromCharCode","appendText","xt","lineEnd","linePattern","lineStart","parseStack","tagStart","currentElement","endMatch","locator2","endDocument","getLocalName","getLocator","getQName","getURI","getValue","sax","require$$1","entities","require$$2","require$$3","normalizeLineEndings","options","DOMHandler","cdata","_locator","_toString","chars","java","hander","xmlns","setDocumentLocator","errorImpl","isCallback","Function","build","buildErrorHandler","documentURI","ins","ignorableWhitespace","ch","apply","charNode","skippedEntity","comm","impl","dt","domParser","__DOMHandler","lib"],"mappings":"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","x_google_ignoreList":[0,5,12,13,14,15,16,17]}
|
|
1
|
+
{"version":3,"file":"openplayer-ads.js","sources":["../../../node_modules/.pnpm/@dailymotion+vast-client@6.4.2/node_modules/@dailymotion/vast-client/dist/vast-client.min.js","../../../node_modules/.pnpm/@dailymotion+vmap@3.3.3/node_modules/@dailymotion/vmap/dist/vmap-js.js","../src/umd.ts","../src/ads.ts","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/conventions.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/dom.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/entities.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/sax.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/dom-parser.js","../../../node_modules/.pnpm/@xmldom+xmldom@0.8.11/node_modules/@xmldom/xmldom/lib/index.js"],"sourcesContent":["function e(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{id:e.id||null,adId:e.adId||null,sequence:e.sequence||null,apiFramework:e.apiFramework||null,universalAdIds:[],creativeExtensions:[]}}const t=[\"ADCATEGORIES\",\"ADCOUNT\",\"ADPLAYHEAD\",\"ADSERVINGID\",\"ADTYPE\",\"APIFRAMEWORKS\",\"APPBUNDLE\",\"ASSETURI\",\"BLOCKEDADCATEGORIES\",\"BREAKMAXADLENGTH\",\"BREAKMAXADS\",\"BREAKMAXDURATION\",\"BREAKMINADLENGTH\",\"BREAKMINDURATION\",\"BREAKPOSITION\",\"CLICKPOS\",\"CLICKTYPE\",\"CLIENTUA\",\"CONTENTID\",\"CONTENTPLAYHEAD\",\"CONTENTURI\",\"DEVICEIP\",\"DEVICEUA\",\"DOMAIN\",\"EXTENSIONS\",\"GDPRCONSENT\",\"IFA\",\"IFATYPE\",\"INVENTORYSTATE\",\"LATLONG\",\"LIMITADTRACKING\",\"MEDIAMIME\",\"MEDIAPLAYHEAD\",\"OMIDPARTNER\",\"PAGEURL\",\"PLACEMENTTYPE\",\"PLAYERCAPABILITIES\",\"PLAYERSIZE\",\"PLAYERSTATE\",\"PODSEQUENCE\",\"REGULATIONS\",\"SERVERSIDE\",\"SERVERUA\",\"TRANSACTIONID\",\"UNIVERSALADID\",\"VASTVERSIONS\",\"VERIFICATIONVENDORS\"];function r(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=[],n=s(e);!t.ERRORCODE||r.isCustomCode||/^[0-9]{3}$/.test(t.ERRORCODE)||(t.ERRORCODE=900),t.CACHEBUSTING=d(Math.round(1e8*Math.random())),t.TIMESTAMP=(new Date).toISOString(),t.RANDOM=t.random=t.CACHEBUSTING;for(const e in t)t[e]=c(t[e]);for(const e in n){const r=n[e];\"string\"==typeof r&&a.push(i(r,t))}return a}function i(e,r){const i=(e=a(e,r)).match(/[^[\\]]+(?=])/g);if(!i)return e;let s=i.filter((e=>t.indexOf(e)>-1));return 0===s.length?e:(s=s.reduce(((e,t)=>(e[t]=-1,e)),{}),a(e,s))}function a(e,t){let r=e;for(const e in t){const i=t[e];r=r.replace(new RegExp(\"(?:\\\\[|%%)(\".concat(e,\")(?:\\\\]|%%)\"),\"g\"),i)}return r}function s(e){return Array.isArray(e)?e.map((e=>e&&e.hasOwnProperty(\"url\")?e.url:e)):e}function n(e){return/^(https?:\\/\\/|\\/\\/)/.test(e)}function o(e,t){for(let r=0;r<t.length;r++)if(l(t[r],e))return!0;return!1}function l(e,t){if(e&&t){const r=Object.getOwnPropertyNames(e),i=Object.getOwnPropertyNames(t);return r.length===i.length&&(e.id===t.id&&e.url===t.url)}return!1}function c(e){return encodeURIComponent(e).replace(/[!'()*]/g,(e=>\"%\".concat(e.charCodeAt(0).toString(16))))}function d(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:8;return e.toString().padStart(t,\"0\")}const u={track:function(e,t,i){r(e,t,i).forEach((e=>{if(\"undefined\"!=typeof window&&null!==window){(new Image).src=e}}))},resolveURLTemplates:r,extractURLsFromTemplates:s,filterUrlTemplates:function(e){return e.reduce(((e,t)=>{const r=t.url||t;return n(r)?e.validUrls.push(r):e.invalidUrls.push(r),e}),{validUrls:[],invalidUrls:[]})},containsTemplateObject:o,isTemplateObjectEqual:l,encodeURIComponentRFC3986:c,replaceUrlMacros:i,isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},flatten:function e(t){return t.reduce(((t,r)=>t.concat(Array.isArray(r)?e(r):r)),[])},joinArrayOfUniqueTemplateObjs:function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];const r=Array.isArray(e)?e:[],i=Array.isArray(t)?t:[];return r.concat(i).reduce(((e,t)=>(o(t,e)||e.push(t),e)),[])},isValidTimeValue:function(e){return Number.isFinite(e)&&e>=-2},addLeadingZeros:d,isValidUrl:n,isBrowserEnvironment:function(){return\"undefined\"!=typeof window},formatMacrosValues:function(e){return\"object\"!=typeof e?e:JSON.stringify(e)}};function h(e){return[\"true\",\"TRUE\",\"True\",\"1\"].includes(e)}function p(e){if(null==e)return-1;if(u.isNumeric(e))return parseInt(e);const t=e.split(\":\");if(3!==t.length)return-1;const r=t[2].split(\".\");let i=parseInt(r[0]);2===r.length&&(i+=parseFloat(\"0.\".concat(r[1])));const a=parseInt(60*t[1]),s=parseInt(60*t[0]*60);return isNaN(s)||isNaN(a)||isNaN(i)||a>3600||i>60?-1:s+a+i}const m={childByName:function(e,t){return Array.from(e.childNodes).find((e=>e.nodeName===t))},childrenByName:function(e,t){return Array.from(e.childNodes).filter((e=>e.nodeName===t))},resolveVastAdTagURI:function(e,t){if(!t)return e;if(e.startsWith(\"//\")){const{protocol:t}=location;return\"\".concat(t).concat(e)}if(!e.includes(\"://\")){const r=t.slice(0,t.lastIndexOf(\"/\"));return\"\".concat(r,\"/\").concat(e)}return e},parseBoolean:h,parseNodeText:function(e){return e&&(e.textContent||e.text||\"\").trim()},copyNodeAttribute:function(e,t,r){const i=t.getAttribute(e);i&&r.setAttribute(e,i)},parseAttributes:function(e){return Array.from(e.attributes).reduce(((e,t)=>(e[t.nodeName]=t.nodeValue,e)),{})},parseDuration:p,getStandAloneAds:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).filter((e=>!parseInt(e.sequence,10)))},getSortedAdPods:function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:[]).filter((e=>parseInt(e.sequence,10))).sort(((e,t)=>e.sequence-t.sequence))},assignAttributes:function(e,t){e&&Array.from(e).forEach((e=>{let{nodeName:r,nodeValue:i}=e;if(r&&i&&t.hasOwnProperty(r)){let e=i;\"boolean\"==typeof t[r]&&(e=h(e)),t[r]=e}}))},mergeWrapperAdData:function(e,t){var r;e.errorURLTemplates=t.errorURLTemplates.concat(e.errorURLTemplates),e.impressionURLTemplates=t.impressionURLTemplates.concat(e.impressionURLTemplates),e.extensions=t.extensions.concat(e.extensions),t.viewableImpression.length>0&&(e.viewableImpression=[...e.viewableImpression,...t.viewableImpression]),e.followAdditionalWrappers=t.followAdditionalWrappers,e.allowMultipleAds=t.allowMultipleAds,e.fallbackOnNoAd=t.fallbackOnNoAd;const i=(t.creatives||[]).filter((e=>e&&\"companion\"===e.type)),a=i.reduce(((e,t)=>((t.variations||[]).forEach((t=>{(t.companionClickTrackingURLTemplates||[]).forEach((t=>{u.containsTemplateObject(t,e)||e.push(t)}))})),e)),[]);e.creatives=i.concat(e.creatives);const s=t.videoClickTrackingURLTemplates&&t.videoClickTrackingURLTemplates.length,n=t.videoCustomClickURLTemplates&&t.videoCustomClickURLTemplates.length;if(e.creatives.forEach((e=>{if(t.trackingEvents&&t.trackingEvents[e.type])for(const r in t.trackingEvents[e.type]){const i=t.trackingEvents[e.type][r];Array.isArray(e.trackingEvents[r])||(e.trackingEvents[r]=[]),e.trackingEvents[r]=e.trackingEvents[r].concat(i)}\"linear\"===e.type&&(s&&(e.videoClickTrackingURLTemplates=e.videoClickTrackingURLTemplates.concat(t.videoClickTrackingURLTemplates)),n&&(e.videoCustomClickURLTemplates=e.videoCustomClickURLTemplates.concat(t.videoCustomClickURLTemplates)),!t.videoClickThroughURLTemplate||null!==e.videoClickThroughURLTemplate&&void 0!==e.videoClickThroughURLTemplate||(e.videoClickThroughURLTemplate=t.videoClickThroughURLTemplate)),\"companion\"===e.type&&a.length&&(e.variations||[]).forEach((e=>{e.companionClickTrackingURLTemplates=u.joinArrayOfUniqueTemplateObjs(e.companionClickTrackingURLTemplates,a)}))})),t.adVerifications&&(e.adVerifications=e.adVerifications.concat(t.adVerifications)),t.blockedAdCategories&&(e.blockedAdCategories=e.blockedAdCategories.concat(t.blockedAdCategories)),null!==(r=t.creatives)&&void 0!==r&&r.length){const r=t.creatives.filter((e=>{var t;return(null===(t=e.icons)||void 0===t?void 0:t.length)&&!e.mediaFiles.length}));r.length&&(e.creatives=e.creatives.concat(r))}}};function g(t,r){const i=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{id:r,adId:i,sequence:a,apiFramework:s}=e(t);return{id:r,adId:i,sequence:a,apiFramework:s,type:\"companion\",required:null,variations:[]}}(r);return i.required=t.getAttribute(\"required\")||null,i.variations=m.childrenByName(t,\"Companion\").map((e=>{const t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{id:e.id||null,adType:\"companionAd\",width:e.width||0,height:e.height||0,assetWidth:e.assetWidth||null,assetHeight:e.assetHeight||null,expandedWidth:e.expandedWidth||null,expandedHeight:e.expandedHeight||null,apiFramework:e.apiFramework||null,adSlotId:e.adSlotId||null,pxratio:e.pxratio||\"1\",renderingMode:e.renderingMode||\"default\",staticResources:[],htmlResources:[],iframeResources:[],adParameters:null,altText:null,companionClickThroughURLTemplate:null,companionClickTrackingURLTemplates:[],trackingEvents:{}}}(m.parseAttributes(e));t.htmlResources=m.childrenByName(e,\"HTMLResource\").reduce(((e,t)=>{const r=m.parseNodeText(t);return r?e.concat(r):e}),[]),t.iframeResources=m.childrenByName(e,\"IFrameResource\").reduce(((e,t)=>{const r=m.parseNodeText(t);return r?e.concat(r):e}),[]),t.staticResources=m.childrenByName(e,\"StaticResource\").reduce(((e,t)=>{const r=m.parseNodeText(t);return r?e.concat({url:r,creativeType:t.getAttribute(\"creativeType\")||null}):e}),[]),t.altText=m.parseNodeText(m.childByName(e,\"AltText\"))||null;const r=m.childByName(e,\"TrackingEvents\");r&&m.childrenByName(r,\"Tracking\").forEach((e=>{const r=e.getAttribute(\"event\"),i=m.parseNodeText(e);r&&i&&(Array.isArray(t.trackingEvents[r])||(t.trackingEvents[r]=[]),t.trackingEvents[r].push(i))})),t.companionClickTrackingURLTemplates=m.childrenByName(e,\"CompanionClickTracking\").map((e=>({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)}))),t.companionClickThroughURLTemplate=m.parseNodeText(m.childByName(e,\"CompanionClickThrough\"))||null;const i=m.childByName(e,\"AdParameters\");return i&&(t.adParameters={value:m.parseNodeText(i),xmlEncoded:i.getAttribute(\"xmlEncoded\")||null}),t})),i}function v(t,r){let i;const a=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{id:r,adId:i,sequence:a,apiFramework:s}=e(t);return{id:r,adId:i,sequence:a,apiFramework:s,type:\"linear\",duration:0,skipDelay:null,mediaFiles:[],mezzanine:null,interactiveCreativeFile:null,closedCaptionFiles:[],videoClickThroughURLTemplate:null,videoClickTrackingURLTemplates:[],videoCustomClickURLTemplates:[],adParameters:null,icons:[],trackingEvents:{}}}(r);a.duration=m.parseDuration(m.parseNodeText(m.childByName(t,\"Duration\")));const s=t.getAttribute(\"skipoffset\");if(null==s)a.skipDelay=null;else if(\"%\"===s.charAt(s.length-1)&&-1!==a.duration){const e=parseInt(s,10);a.skipDelay=a.duration*(e/100)}else a.skipDelay=m.parseDuration(s);const n=m.childByName(t,\"VideoClicks\");if(n){const e=m.childByName(n,\"ClickThrough\");a.videoClickThroughURLTemplate=e?{id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)}:null,m.childrenByName(n,\"ClickTracking\").forEach((e=>{a.videoClickTrackingURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})})),m.childrenByName(n,\"CustomClick\").forEach((e=>{a.videoCustomClickURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})}))}const o=m.childByName(t,\"AdParameters\");o&&(a.adParameters={value:m.parseNodeText(o),xmlEncoded:o.getAttribute(\"xmlEncoded\")||null}),m.childrenByName(t,\"TrackingEvents\").forEach((e=>{m.childrenByName(e,\"Tracking\").forEach((e=>{let t=e.getAttribute(\"event\");const r=m.parseNodeText(e);if(t&&r){if(\"progress\"===t){if(i=e.getAttribute(\"offset\"),!i)return;t=\"%\"===i.charAt(i.length-1)?\"progress-\".concat(i):\"progress-\".concat(m.parseDuration(i))}Array.isArray(a.trackingEvents[t])||(a.trackingEvents[t]=[]),a.trackingEvents[t].push(r)}}))})),m.childrenByName(t,\"MediaFiles\").forEach((e=>{m.childrenByName(e,\"MediaFile\").forEach((e=>{a.mediaFiles.push(function(e){const t={id:null,fileURL:null,fileSize:0,deliveryType:\"progressive\",mimeType:null,mediaType:null,codec:null,bitrate:0,minBitrate:0,maxBitrate:0,width:0,height:0,apiFramework:null,scalable:null,maintainAspectRatio:null};t.id=e.getAttribute(\"id\"),t.fileURL=m.parseNodeText(e),t.deliveryType=e.getAttribute(\"delivery\"),t.codec=e.getAttribute(\"codec\"),t.mimeType=e.getAttribute(\"type\"),t.mediaType=e.getAttribute(\"mediaType\")||\"2D\",t.apiFramework=e.getAttribute(\"apiFramework\"),t.fileSize=parseInt(e.getAttribute(\"fileSize\")||0),t.bitrate=parseInt(e.getAttribute(\"bitrate\")||0),t.minBitrate=parseInt(e.getAttribute(\"minBitrate\")||0),t.maxBitrate=parseInt(e.getAttribute(\"maxBitrate\")||0),t.width=parseInt(e.getAttribute(\"width\")||0),t.height=parseInt(e.getAttribute(\"height\")||0);const r=e.getAttribute(\"scalable\");r&&\"string\"==typeof r&&(t.scalable=m.parseBoolean(r));const i=e.getAttribute(\"maintainAspectRatio\");i&&\"string\"==typeof i&&(t.maintainAspectRatio=m.parseBoolean(i));return t}(e))}));const t=m.childByName(e,\"InteractiveCreativeFile\");t&&(a.interactiveCreativeFile=function(e){const t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:e.type||null,apiFramework:e.apiFramework||null,variableDuration:m.parseBoolean(e.variableDuration),fileURL:null}}(m.parseAttributes(e));return t.fileURL=m.parseNodeText(e),t}(t));const r=m.childByName(e,\"ClosedCaptionFiles\");r&&m.childrenByName(r,\"ClosedCaptionFile\").forEach((e=>{const t=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:e.type||null,language:e.language||null,fileURL:null}}(m.parseAttributes(e));t.fileURL=m.parseNodeText(e),a.closedCaptionFiles.push(t)}));const i=m.childByName(e,\"Mezzanine\"),s=function(e,t){const r={};let i=!1;return t.forEach((t=>{e&&e.getAttribute(t)?r[t]=e.getAttribute(t):i=!0})),i?null:r}(i,[\"delivery\",\"type\",\"width\",\"height\"]);if(s){const e={id:null,fileURL:null,delivery:null,codec:null,type:null,width:0,height:0,fileSize:0,mediaType:\"2D\"};e.id=i.getAttribute(\"id\"),e.fileURL=m.parseNodeText(i),e.delivery=s.delivery,e.codec=i.getAttribute(\"codec\"),e.type=s.type,e.width=parseInt(s.width,10),e.height=parseInt(s.height,10),e.fileSize=parseInt(i.getAttribute(\"fileSize\"),10),e.mediaType=i.getAttribute(\"mediaType\")||\"2D\",a.mezzanine=e}}));const l=m.childByName(t,\"Icons\");return l&&m.childrenByName(l,\"Icon\").forEach((e=>{a.icons.push(function(e){const t={program:null,height:0,width:0,xPosition:0,yPosition:0,apiFramework:null,offset:null,duration:0,type:null,staticResource:null,htmlResource:null,iframeResource:null,pxratio:\"1\",iconClickThroughURLTemplate:null,iconClickTrackingURLTemplates:[],iconViewTrackingURLTemplate:null,iconClickFallbackImages:[],altText:null,hoverText:null};t.program=e.getAttribute(\"program\"),t.height=parseInt(e.getAttribute(\"height\")||0),t.width=parseInt(e.getAttribute(\"width\")||0),t.xPosition=function(e){if(-1!==[\"left\",\"right\"].indexOf(e))return e;return parseInt(e||0)}(e.getAttribute(\"xPosition\")),t.yPosition=function(e){if(-1!==[\"top\",\"bottom\"].indexOf(e))return e;return parseInt(e||0)}(e.getAttribute(\"yPosition\")),t.apiFramework=e.getAttribute(\"apiFramework\"),t.pxratio=e.getAttribute(\"pxratio\")||\"1\",t.offset=m.parseDuration(e.getAttribute(\"offset\")),t.duration=m.parseDuration(e.getAttribute(\"duration\")),t.altText=e.getAttribute(\"altText\"),t.hoverText=e.getAttribute(\"hoverText\"),m.childrenByName(e,\"HTMLResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||\"text/html\",t.htmlResource=m.parseNodeText(e)})),m.childrenByName(e,\"IFrameResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.iframeResource=m.parseNodeText(e)})),m.childrenByName(e,\"StaticResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.staticResource=m.parseNodeText(e)}));const r=m.childByName(e,\"IconClicks\");if(r){t.iconClickThroughURLTemplate=m.parseNodeText(m.childByName(r,\"IconClickThrough\")),m.childrenByName(r,\"IconClickTracking\").forEach((e=>{t.iconClickTrackingURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})}));const e=m.childByName(r,\"IconClickFallbackImages\");e&&m.childrenByName(e,\"IconClickFallbackImage\").forEach((e=>{t.iconClickFallbackImages.push({url:m.parseNodeText(e)||null,width:e.getAttribute(\"width\")||null,height:e.getAttribute(\"height\")||null})}))}return t.iconViewTrackingURLTemplate=m.parseNodeText(m.childByName(e,\"IconViewTracking\")),t}(e))})),a}function f(t,r){const i=function(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{id:r,adId:i,sequence:a,apiFramework:s}=e(t);return{id:r,adId:i,sequence:a,apiFramework:s,type:\"nonlinear\",variations:[],trackingEvents:{}}}(r);return m.childrenByName(t,\"TrackingEvents\").forEach((e=>{let t,r;m.childrenByName(e,\"Tracking\").forEach((e=>{t=e.getAttribute(\"event\"),r=m.parseNodeText(e),t&&r&&(Array.isArray(i.trackingEvents[t])||(i.trackingEvents[t]=[]),i.trackingEvents[t].push(r))}))})),m.childrenByName(t,\"NonLinear\").forEach((e=>{const t={id:null,width:0,height:0,expandedWidth:0,expandedHeight:0,scalable:!0,maintainAspectRatio:!0,minSuggestedDuration:0,apiFramework:\"static\",adType:\"nonLinearAd\",type:null,staticResource:null,htmlResource:null,iframeResource:null,nonlinearClickThroughURLTemplate:null,nonlinearClickTrackingURLTemplates:[],adParameters:null};t.id=e.getAttribute(\"id\")||null,t.width=e.getAttribute(\"width\"),t.height=e.getAttribute(\"height\"),t.expandedWidth=e.getAttribute(\"expandedWidth\"),t.expandedHeight=e.getAttribute(\"expandedHeight\"),t.scalable=m.parseBoolean(e.getAttribute(\"scalable\")),t.maintainAspectRatio=m.parseBoolean(e.getAttribute(\"maintainAspectRatio\")),t.minSuggestedDuration=m.parseDuration(e.getAttribute(\"minSuggestedDuration\")),t.apiFramework=e.getAttribute(\"apiFramework\"),m.childrenByName(e,\"HTMLResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||\"text/html\",t.htmlResource=m.parseNodeText(e)})),m.childrenByName(e,\"IFrameResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.iframeResource=m.parseNodeText(e)})),m.childrenByName(e,\"StaticResource\").forEach((e=>{t.type=e.getAttribute(\"creativeType\")||0,t.staticResource=m.parseNodeText(e)}));const r=m.childByName(e,\"AdParameters\");r&&(t.adParameters={value:m.parseNodeText(r),xmlEncoded:r.getAttribute(\"xmlEncoded\")||null}),t.nonlinearClickThroughURLTemplate=m.parseNodeText(m.childByName(e,\"NonLinearClickThrough\")),m.childrenByName(e,\"NonLinearClickTracking\").forEach((e=>{t.nonlinearClickTrackingURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)})})),i.variations.push(t)})),i}function T(e){const t=[];return e.forEach((e=>{const r=A(e);r&&t.push(r)})),t}function A(e){if(\"#comment\"===e.nodeName)return null;const t={name:null,value:null,attributes:{},children:[]},r=e.attributes,i=e.childNodes;if(t.name=e.nodeName,e.attributes)for(const e in r)if(r.hasOwnProperty(e)){const i=r[e];i.nodeName&&i.nodeValue&&(t.attributes[i.nodeName]=i.nodeValue)}for(const e in i)if(i.hasOwnProperty(e)){const r=A(i[e]);r&&t.children.push(r)}if(0===t.children.length||1===t.children.length&&[\"#cdata-section\",\"#text\"].indexOf(t.children[0].name)>=0){const r=m.parseNodeText(e);\"\"!==r&&(t.value=r),t.children=[]}return null===(a=t).value&&0===Object.keys(a.attributes).length&&0===a.children.length?null:t;var a}function R(e){return e.getAttribute(\"AdID\")||e.getAttribute(\"adID\")||e.getAttribute(\"adId\")||null}const k={Wrapper:{subElements:[\"VASTAdTagURI\",\"Impression\"]},BlockedAdCategories:{attributes:[\"authority\"]},InLine:{subElements:[\"AdSystem\",\"AdTitle\",\"Impression\",\"AdServingId\",\"Creatives\"]},Category:{attributes:[\"authority\"]},Pricing:{attributes:[\"model\",\"currency\"]},Verification:{oneOfinLineResources:[\"JavaScriptResource\",\"ExecutableResource\"],attributes:[\"vendor\"]},UniversalAdId:{attributes:[\"idRegistry\"]},JavaScriptResource:{attributes:[\"apiFramework\",\"browserOptional\"]},ExecutableResource:{attributes:[\"apiFramework\",\"type\"]},Tracking:{attributes:[\"event\"]},Creatives:{subElements:[\"Creative\"]},Creative:{subElements:[\"UniversalAdId\"]},Linear:{subElements:[\"MediaFiles\",\"Duration\"]},MediaFiles:{subElements:[\"MediaFile\"]},MediaFile:{attributes:[\"delivery\",\"type\",\"width\",\"height\"]},Mezzanine:{attributes:[\"delivery\",\"type\",\"width\",\"height\"]},NonLinear:{oneOfinLineResources:[\"StaticResource\",\"IFrameResource\",\"HTMLResource\"],attributes:[\"width\",\"height\"]},Companion:{oneOfinLineResources:[\"StaticResource\",\"IFrameResource\",\"HTMLResource\"],attributes:[\"width\",\"height\"]},StaticResource:{attributes:[\"creativeType\"]},Icons:{subElements:[\"Icon\"]},Icon:{oneOfinLineResources:[\"StaticResource\",\"IFrameResource\",\"HTMLResource\"]}};function y(e,t){if(!k[e.nodeName]||!k[e.nodeName].attributes)return;const r=k[e.nodeName].attributes.filter((t=>!e.getAttribute(t)));r.length>0&&N({name:e.nodeName,parentName:e.parentNode.nodeName,attributes:r},t)}function E(e,t,r){const i=k[e.nodeName],a=!r&&\"Wrapper\"!==e.nodeName;if(!i||a)return;if(i.subElements){const r=i.subElements.filter((t=>!m.childByName(e,t)));r.length>0&&N({name:e.nodeName,parentName:e.parentNode.nodeName,subElements:r},t)}if(!r||!i.oneOfinLineResources)return;i.oneOfinLineResources.some((t=>m.childByName(e,t)))||N({name:e.nodeName,parentName:e.parentNode.nodeName,oneOfResources:i.oneOfinLineResources},t)}function b(e){return e.children&&0!==e.children.length}function N(e,t){let{name:r,parentName:i,attributes:a,subElements:s,oneOfResources:n}=e,o=\"Element '\".concat(r,\"'\");o+=a?\" missing required attribute(s) '\".concat(a.join(\", \"),\"' \"):s?\" missing required sub element(s) '\".concat(s.join(\", \"),\"' \"):n?\" must provide one of the following '\".concat(n.join(\", \"),\"' \"):\" is empty\",t(\"VAST-warning\",{message:o,parentElement:i,specVersion:4.1})}const w={verifyRequiredValues:function e(t,r,i){if(t&&t.nodeName)if(\"InLine\"===t.nodeName&&(i=!0),y(t,r),b(t)){E(t,r,i);for(let a=0;a<t.children.length;a++)e(t.children[a],r,i)}else 0===m.parseNodeText(t).length&&N({name:t.nodeName,parentName:t.parentNode.nodeName},r)},hasSubElements:b,emitMissingValueWarning:N,verifyRequiredAttributes:y,verifyRequiredSubElements:E};function L(e,t){let{allowMultipleAds:r,followAdditionalWrappers:i}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const a=Array.from(e.childNodes).filter((e=>{const t=e.nodeName.toLowerCase();return\"inline\"===t||!1!==i&&\"wrapper\"===t}));for(const i of a){if(m.copyNodeAttribute(\"id\",e,i),m.copyNodeAttribute(\"sequence\",e,i),m.copyNodeAttribute(\"adType\",e,i),\"Wrapper\"===i.nodeName)return{ad:I(i,t),type:\"WRAPPER\"};if(\"InLine\"===i.nodeName)return{ad:C(i,t,{allowMultipleAds:r}),type:\"INLINE\"};const a=i.nodeName.toLowerCase();t(\"VAST-warning\",{message:\"<\".concat(i.nodeName,\"inline\"===a?\"> must be written <InLine>\":\"> must be written <Wrapper>\"),wrongNode:i})}}function C(e,t){let{allowMultipleAds:r}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return!1===r&&e.getAttribute(\"sequence\")?null:U(e,t)}function U(e,t){let r=[];t&&w.verifyRequiredValues(e,t);const i=Array.from(e.childNodes),a=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{id:e.id||null,sequence:e.sequence||null,adType:e.adType||null,adServingId:null,categories:[],expires:null,viewableImpression:[],system:null,title:null,description:null,advertiser:null,pricing:null,survey:null,errorURLTemplates:[],impressionURLTemplates:[],creatives:[],extensions:[],adVerifications:[],blockedAdCategories:[],followAdditionalWrappers:!0,allowMultipleAds:!1,fallbackOnNoAd:null}}(m.parseAttributes(e));return i.forEach((e=>{switch(e.nodeName){case\"Error\":a.errorURLTemplates.push(m.parseNodeText(e));break;case\"Impression\":a.impressionURLTemplates.push({id:e.getAttribute(\"id\")||null,url:m.parseNodeText(e)});break;case\"Creatives\":a.creatives=function(e){const t=[];return e.forEach((e=>{const r={id:e.getAttribute(\"id\")||null,adId:R(e),sequence:e.getAttribute(\"sequence\")||null,apiFramework:e.getAttribute(\"apiFramework\")||null},i=[];let a;m.childrenByName(e,\"UniversalAdId\").forEach((e=>{const t={idRegistry:e.getAttribute(\"idRegistry\")||\"unknown\",value:m.parseNodeText(e)};i.push(t)}));const s=m.childByName(e,\"CreativeExtensions\");s&&(a=T(m.childrenByName(s,\"CreativeExtension\")));for(const s in e.childNodes){const n=e.childNodes[s];let o;switch(n.nodeName){case\"Linear\":o=v(n,r);break;case\"NonLinearAds\":o=f(n,r);break;case\"CompanionAds\":o=g(n,r)}o&&(i&&(o.universalAdIds=i),a&&(o.creativeExtensions=a),t.push(o))}})),t}(m.childrenByName(e,\"Creative\"));break;case\"Extensions\":{const t=m.childrenByName(e,\"Extension\");a.extensions=T(t),a.adVerifications.length||(r=function(e){let t=null,r=[];e.some((e=>t=m.childByName(e,\"AdVerifications\"))),t&&(r=x(m.childrenByName(t,\"Verification\")));return r}(t));break}case\"AdVerifications\":a.adVerifications=x(m.childrenByName(e,\"Verification\"));break;case\"AdSystem\":a.system={value:m.parseNodeText(e),version:e.getAttribute(\"version\")||null};break;case\"AdTitle\":a.title=m.parseNodeText(e);break;case\"AdServingId\":a.adServingId=m.parseNodeText(e);break;case\"Category\":a.categories.push({authority:e.getAttribute(\"authority\")||null,value:m.parseNodeText(e)});break;case\"Expires\":a.expires=parseInt(m.parseNodeText(e),10);break;case\"ViewableImpression\":a.viewableImpression.push(function(e){const t=(e,t)=>{const r=m.parseNodeText(t);return r&&e.push(r),e};return{id:e.getAttribute(\"id\")||null,viewable:m.childrenByName(e,\"Viewable\").reduce(t,[]),notViewable:m.childrenByName(e,\"NotViewable\").reduce(t,[]),viewUndetermined:m.childrenByName(e,\"ViewUndetermined\").reduce(t,[])}}(e));break;case\"Description\":a.description=m.parseNodeText(e);break;case\"Advertiser\":a.advertiser={id:e.getAttribute(\"id\")||null,value:m.parseNodeText(e)};break;case\"Pricing\":a.pricing={value:m.parseNodeText(e),model:e.getAttribute(\"model\")||null,currency:e.getAttribute(\"currency\")||null};break;case\"Survey\":a.survey={value:m.parseNodeText(e),type:e.getAttribute(\"type\")||null};break;case\"BlockedAdCategories\":a.blockedAdCategories.push({authority:e.getAttribute(\"authority\")||null,value:m.parseNodeText(e)})}})),r.length&&(a.adVerifications=a.adVerifications.concat(r)),a}function I(e,t){const r=U(e,t),i=e.getAttribute(\"followAdditionalWrappers\"),a=e.getAttribute(\"allowMultipleAds\"),s=e.getAttribute(\"fallbackOnNoAd\");r.followAdditionalWrappers=!i||m.parseBoolean(i),r.allowMultipleAds=!!a&&m.parseBoolean(a),r.fallbackOnNoAd=s?m.parseBoolean(s):null;let n=m.childByName(e,\"VASTAdTagURI\");if(n?r.nextWrapperURL=m.parseNodeText(n):(n=m.childByName(e,\"VASTAdTagURL\"),n&&(r.nextWrapperURL=m.parseNodeText(m.childByName(n,\"URL\")))),r.creatives.forEach((e=>{if([\"linear\",\"nonlinear\"].includes(e.type)){if(e.trackingEvents){r.trackingEvents||(r.trackingEvents={}),r.trackingEvents[e.type]||(r.trackingEvents[e.type]={});for(const t in e.trackingEvents){const i=e.trackingEvents[t];Array.isArray(r.trackingEvents[e.type][t])||(r.trackingEvents[e.type][t]=[]),i.forEach((i=>{r.trackingEvents[e.type][t].push(i)}))}}e.videoClickTrackingURLTemplates&&(Array.isArray(r.videoClickTrackingURLTemplates)||(r.videoClickTrackingURLTemplates=[]),e.videoClickTrackingURLTemplates.forEach((e=>{r.videoClickTrackingURLTemplates.push(e)}))),e.videoClickThroughURLTemplate&&(r.videoClickThroughURLTemplate=e.videoClickThroughURLTemplate),e.videoCustomClickURLTemplates&&(Array.isArray(r.videoCustomClickURLTemplates)||(r.videoCustomClickURLTemplates=[]),e.videoCustomClickURLTemplates.forEach((e=>{r.videoCustomClickURLTemplates.push(e)})))}})),r.nextWrapperURL)return r}function x(e){const t=[];return e.forEach((e=>{const r={resource:null,vendor:null,browserOptional:!1,apiFramework:null,type:null,parameters:null,trackingEvents:{}},i=Array.from(e.childNodes);m.assignAttributes(e.attributes,r),i.forEach((e=>{let{nodeName:t,textContent:i,attributes:a}=e;switch(t){case\"JavaScriptResource\":case\"ExecutableResource\":r.resource=i.trim(),m.assignAttributes(a,r);break;case\"VerificationParameters\":r.parameters=i.trim()}}));const a=m.childByName(e,\"TrackingEvents\");a&&m.childrenByName(a,\"Tracking\").forEach((e=>{const t=e.getAttribute(\"event\"),i=m.parseNodeText(e);t&&i&&(Array.isArray(r.trackingEvents[t])||(r.trackingEvents[t]=[]),r.trackingEvents[t].push(i))})),t.push(r)})),t}class S{constructor(){this._handlers=[]}on(e,t){if(\"function\"!=typeof t)throw new TypeError(\"The handler argument must be of type Function. Received type \".concat(typeof t));if(!e)throw new TypeError(\"The event argument must be of type String. Received type \".concat(typeof e));return this._handlers.push({event:e,handler:t}),this}once(e,t){return this.on(e,function(e,t,r){const i={fired:!1,wrapFn:void 0};function a(){i.fired||(e.off(t,i.wrapFn),i.fired=!0,r.bind(e)(...arguments))}return i.wrapFn=a,a}(this,e,t))}off(e,t){return this._handlers=this._handlers.filter((r=>r.event!==e||r.handler!==t)),this}emit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];let a=!1;return this._handlers.forEach((t=>{\"*\"===t.event&&(a=!0,t.handler(e,...r)),t.event===e&&(a=!0,t.handler(...r))})),a}removeAllListeners(e){return e?(this._handlers=this._handlers.filter((t=>t.event!==e)),this):(this._handlers=[],this)}listenerCount(e){return this._handlers.filter((t=>t.event===e)).length}listeners(e){return this._handlers.reduce(((t,r)=>(r.event===e&&t.push(r.handler),t)),[])}eventNames(){return this._handlers.map((e=>e.event))}}let V=0,D=0;const O=(e,t)=>{if(!e||!t||e<=0||t<=0)return;D=(D*V+8*e/t)/++V},F={ERRORCODE:900,extensions:[]},P=\"VAST response version not supported\";class B extends S{constructor(){let{fetcher:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};super(),this.maxWrapperDepth=null,this.rootErrorURLTemplates=[],this.errorURLTemplates=[],this.remainingAds=[],this.parsingOptions={},this.fetcher=e||null,this.keepFailedAdPod=!1}trackVastError(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),a=2;a<r;a++)i[a-2]=arguments[a];this.emit(\"VAST-error\",Object.assign({},F,t,...i)),u.track(e,t)}getErrorURLTemplates(){return this.rootErrorURLTemplates.concat(this.errorURLTemplates)}getEstimatedBitrate(){return D}initParsingStatus(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.maxWrapperDepth=e.wrapperLimit||10,this.parsingOptions={allowMultipleAds:e.allowMultipleAds},this.keepFailedAdPod=e.keepFailedAdPod||!1,this.rootURL=\"\",this.resetParsingStatus(),O(e.byteLength,e.requestDuration)}resetParsingStatus(){this.errorURLTemplates=[],this.rootErrorURLTemplates=[],this.vastVersion=null}getRemainingAds(e){if(0===this.remainingAds.length)return Promise.reject(new Error(\"No more ads are available for the given VAST\"));const t=e?this.remainingAds:[this.remainingAds.shift()];return this.errorURLTemplates=[],this.resolveAds(t,{wrapperDepth:0,url:this.rootURL}).then((e=>this.buildVASTResponse(e)))}parseVAST(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.initParsingStatus(t),t.isRootVAST=!0,this.parse(e,t).then((e=>this.buildVASTResponse(e)))}buildVASTResponse(e){const t=function(e){let{ads:t,errorURLTemplates:r,version:i}=e;return{ads:t||[],errorURLTemplates:r||[],version:i||null}}({ads:e,errorURLTemplates:this.getErrorURLTemplates(),version:this.vastVersion});return this.completeWrapperResolving(t),t}parseVastXml(e,t){let{isRootVAST:r=!1,url:i=null,wrapperDepth:a=0,allowMultipleAds:s,followAdditionalWrappers:n}=t;if(!e||!e.documentElement||\"VAST\"!==e.documentElement.nodeName){var o;this.emit(\"VAST-ad-parsed\",{type:\"ERROR\",url:i,wrapperDepth:a});const t=\"VideoAdServingTemplate\"===(null==e||null===(o=e.documentElement)||void 0===o?void 0:o.nodeName);throw new Error(t?P:\"Invalid VAST XMLDocument\")}const l=[],c=e.documentElement.childNodes,d=e.documentElement.getAttribute(\"version\");r&&d&&(this.vastVersion=d);for(const e in c){const t=c[e];if(\"Error\"===t.nodeName){const e=m.parseNodeText(t);r?this.rootErrorURLTemplates.push(e):this.errorURLTemplates.push(e)}else if(\"Ad\"===t.nodeName){if(this.vastVersion&&parseFloat(this.vastVersion)<3)s=!0;else if(!1===s&&l.length>1)break;const e=L(t,this.emit.bind(this),{allowMultipleAds:s,followAdditionalWrappers:n});e.ad?(l.push(e.ad),this.emit(\"VAST-ad-parsed\",{type:e.type,url:i,wrapperDepth:a,adIndex:l.length-1,vastVersion:d})):this.trackVastError(this.getErrorURLTemplates(),{ERRORCODE:101})}}return l}parse(e){let{url:t=null,resolveAll:r=!0,wrapperSequence:i=null,previousUrl:a=null,wrapperDepth:s=0,isRootVAST:n=!1,followAdditionalWrappers:o,allowMultipleAds:l}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=[];this.vastVersion&&parseFloat(this.vastVersion)<3&&n&&(l=!0);try{c=this.parseVastXml(e,{isRootVAST:n,url:t,wrapperDepth:s,allowMultipleAds:l,followAdditionalWrappers:o})}catch(e){return Promise.reject(e)}if(1===c.length&&null!=i&&(c[0].sequence=i),!1===r){const e=m.getSortedAdPods(c),t=m.getStandAloneAds(c);e.length?c=e:t.length&&(c=[t.shift()]),this.remainingAds=t}return this.resolveAds(c,{wrapperDepth:s,previousUrl:a,url:t})}resolveAds(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],{wrapperDepth:t,previousUrl:r,url:i}=arguments.length>1?arguments[1]:void 0;const a=[];return r=i,e.forEach((e=>{const i=this.resolveWrappers(e,t,r);a.push(i)})),Promise.all(a).then((e=>u.flatten(e)))}resolveWrappers(e,t,r){const i={...e};return new Promise((e=>{var a;if(t++,!i.nextWrapperURL)return delete i.nextWrapperURL,e(i);if(!this.fetcher)return i.VASTAdTagURI=i.nextWrapperURL,delete i.nextWrapperURL,e(i);if(t>=this.maxWrapperDepth)return i.errorCode=302,delete i.nextWrapperURL,e(i);i.nextWrapperURL=m.resolveVastAdTagURI(i.nextWrapperURL,r);const s=null!==(a=this.parsingOptions.allowMultipleAds)&&void 0!==a?a:i.allowMultipleAds,n=i.sequence;this.fetcher.fetchVAST({url:i.nextWrapperURL,emitter:this.emit.bind(this),maxWrapperDepth:this.maxWrapperDepth}).then((a=>this.parse(a,{url:i.nextWrapperURL,previousUrl:r,wrapperSequence:n,wrapperDepth:t,followAdditionalWrappers:i.followAdditionalWrappers,allowMultipleAds:s}).then((t=>{if(delete i.nextWrapperURL,0===t.length)return i.creatives=[],e(i);t.forEach((e=>{e&&m.mergeWrapperAdData(e,i)})),e(t)})))).catch((t=>{i.errorCode=t.message===P?102:301,i.errorMessage=t.message,e(i)}))}))}completeWrapperResolving(e){if(0===e.ads.length)this.trackVastError(e.errorURLTemplates,{ERRORCODE:303});else for(let t=e.ads.length-1;t>=0;t--){const r=e.ads[t],i=!r.creatives.some((e=>{var t,r;return(null===(t=e.mediaFiles)||void 0===t?void 0:t.length)>0||(null===(r=e.variations)||void 0===r?void 0:r.length)>0}));!r.errorCode&&!i||r.VASTAdTagURI||(this.trackVastError(r.errorURLTemplates.concat(e.errorURLTemplates),{ERRORCODE:r.errorCode||303},{ERRORMESSAGE:r.errorMessage||\"\"},{extensions:r.extensions},{system:r.system}),this.keepFailedAdPod&&r.sequence?r.hasFailed=!0:e.ads.splice(t,1))}}}let M=null;const W={data:{},length:0,getItem(e){return this.data[e]},setItem(e,t){this.data[e]=t,this.length=Object.keys(this.data).length},removeItem(e){delete this.data[e],this.length=Object.keys(this.data).length},clear(){this.data={},this.length=0}};class j{constructor(){this.storage=this.initStorage()}initStorage(){if(M)return M;try{M=\"undefined\"!=typeof window&&null!==window?window.localStorage||window.sessionStorage:null}catch(e){M=null}return M&&!this.isStorageDisabled(M)||(M=W,M.clear()),M}isStorageDisabled(e){const t=\"__VASTStorage__\";try{if(e.setItem(t,t),e.getItem(t)!==t)return e.removeItem(t),!0}catch(e){return!0}return e.removeItem(t),!1}getItem(e){return this.storage.getItem(e)}setItem(e,t){return this.storage.setItem(e,t)}removeItem(e){return this.storage.removeItem(e)}clear(){return this.storage.clear()}}const q=12e4;const K={get:async function(e,t){try{const r=new AbortController,i=setTimeout((()=>{throw r.abort(),new Error(\"URLHandler: Request timed out after \".concat(t.timeout||q,\" ms (408)\"))}),t.timeout||q),a=await fetch(e,{...t,signal:r.signal,credentials:t.withCredentials?\"include\":\"omit\"}).finally((()=>{clearTimeout(i)})),s=function(e){return u.isBrowserEnvironment()&&\"https:\"===window.location.protocol&&e.url.includes(\"http://\")?\"URLHandler: Cannot go from HTTPS to HTTP.\":200===e.status&&e.ok?null:\"URLHandler: \".concat(e.statusText,\" (\").concat(e.status,\")\")}(a);return s?{error:new Error(s),statusCode:a.status}:async function(e){const t=await e.text();let r;r=u.isBrowserEnvironment()?new DOMParser:new((await import(\"@xmldom/xmldom\")).DOMParser);return{xml:r.parseFromString(t,\"text/xml\"),details:{byteLength:t.length,statusCode:e.status,rawXml:t}}}(a)}catch(e){return{error:e,statusCode:\"AbortError\"===e.name?408:null}}}};class H{constructor(){this.URLTemplateFilters=[]}setOptions(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.urlHandler=e.urlHandler||e.urlhandler||K,this.fetchingOptions={...e.fetchOptions,timeout:e.timeout||q,withCredentials:Boolean(e.withCredentials)}}addURLTemplateFilter(e){\"function\"==typeof e&&this.URLTemplateFilters.push(e)}removeLastURLTemplateFilter(){this.URLTemplateFilters.pop()}countURLTemplateFilters(){return this.URLTemplateFilters.length}clearURLTemplateFilters(){this.URLTemplateFilters=[]}async fetchVAST(e){var t;let{url:r,maxWrapperDepth:i,emitter:a,wrapperDepth:s=0,previousUrl:n=null,wrapperAd:o=null}=e;const l=Date.now();this.URLTemplateFilters.forEach((e=>{r=e(r)})),a(\"VAST-resolving\",{url:r,previousUrl:n,wrapperDepth:s,maxWrapperDepth:i,timeout:this.fetchingOptions.timeout,wrapperAd:o});const c=await this.urlHandler.get(r,this.fetchingOptions),d=Math.round(Date.now()-l);if(a(\"VAST-resolved\",{url:r,previousUrl:n,wrapperDepth:s,error:(null==c?void 0:c.error)||null,duration:d,statusCode:(null==c?void 0:c.statusCode)||null,...null==c?void 0:c.details}),O(null==c||null===(t=c.details)||void 0===t?void 0:t.byteLength,d),c.error)throw new Error(c.error);return c.xml}}class _{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new j;this.cappingFreeLunch=e,this.cappingMinimumTimeInterval=t,this.fetcher=new H,this.vastParser=new B({fetcher:this.fetcher}),this.storage=r,void 0===this.lastSuccessfulAd&&(this.lastSuccessfulAd=0),void 0===this.totalCalls&&(this.totalCalls=0),void 0===this.totalCallsTimeout&&(this.totalCallsTimeout=0)}addURLTemplateFilter(e){this.fetcher.addURLTemplateFilter(e)}removeLastURLTemplateFilter(){this.fetcher.removeLastURLTemplateFilter()}countURLTemplateFilters(){return this.fetcher.countURLTemplateFilters()}clearURLTemplateFilters(){this.fetcher.clearURLTemplateFilters()}getParser(){return this.vastParser}get lastSuccessfulAd(){return this.storage.getItem(\"vast-client-last-successful-ad\")}set lastSuccessfulAd(e){this.storage.setItem(\"vast-client-last-successful-ad\",e)}get totalCalls(){return this.storage.getItem(\"vast-client-total-calls\")}set totalCalls(e){this.storage.setItem(\"vast-client-total-calls\",e)}get totalCallsTimeout(){return this.storage.getItem(\"vast-client-total-calls-timeout\")}set totalCallsTimeout(e){this.storage.setItem(\"vast-client-total-calls-timeout\",e)}hasRemainingAds(){return this.vastParser.remainingAds.length>0}getNextAds(e){return this.vastParser.getRemainingAds(e)}parseVAST(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.fetcher.setOptions(t),this.vastParser.parseVAST(e,t)}get(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const r=Date.now();return t.hasOwnProperty(\"resolveAll\")||(t.resolveAll=!1),this.totalCallsTimeout<r?(this.totalCalls=1,this.totalCallsTimeout=r+36e5):this.totalCalls++,new Promise(((i,a)=>{if(this.cappingFreeLunch>=this.totalCalls)return a(new Error(\"VAST call canceled – FreeLunch capping not reached yet \".concat(this.totalCalls,\"/\").concat(this.cappingFreeLunch)));const s=r-this.lastSuccessfulAd;if(s<0)this.lastSuccessfulAd=0;else if(s<this.cappingMinimumTimeInterval)return a(new Error(\"VAST call canceled – (\".concat(this.cappingMinimumTimeInterval,\")ms minimum interval reached\")));this.vastParser.initParsingStatus(t),this.fetcher.setOptions(t),this.vastParser.rootURL=e,this.fetcher.fetchVAST({url:e,emitter:this.vastParser.emit.bind(this.vastParser),maxWrapperDepth:this.vastParser.maxWrapperDepth}).then((r=>(t.previousUrl=e,t.isRootVAST=!0,t.url=e,this.vastParser.parse(r,t).then((e=>{const t=this.vastParser.buildVASTResponse(e);i(t)}))))).catch((e=>a(e)))}))}}class z extends S{constructor(e,t,r){var i;let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,s=arguments.length>4&&void 0!==arguments[4]&&arguments[4];super(),this.ad=t,this.creative=r,this.variation=a,this.muted=s,this.impressed=!1,this.skippable=!1,this.trackingEvents={},this.trackedProgressEvents=[],this.lastPercentage=0,this._alreadyTriggeredQuartiles={},this.emitAlwaysEvents=[\"creativeView\",\"start\",\"firstQuartile\",\"midpoint\",\"thirdQuartile\",\"complete\",\"resume\",\"pause\",\"rewind\",\"skip\",\"closeLinear\",\"close\"];for(const e in this.creative.trackingEvents){const t=this.creative.trackingEvents[e];this.trackingEvents[e]=t.slice(0)}this.viewableImpressionTrackers=(null===(i=this.ad.viewableImpression)||void 0===i?void 0:i.reduce(((e,t)=>(e.notViewable.push(...t.notViewable),e.viewUndetermined.push(...t.viewUndetermined),e.viewable.push(...t.viewable),e)),{notViewable:[],viewUndetermined:[],viewable:[]}))||{},Object.entries(this.viewableImpressionTrackers).forEach((e=>{let[t,r]=e;r.length&&(this.trackingEvents[t]=r)})),!function(e){return\"linear\"===e.type}(this.creative)?this._initVariationTracking():this._initLinearTracking(),e&&this.on(\"start\",(()=>{e.lastSuccessfulAd=Date.now()}))}_initLinearTracking(){this.linear=!0,this.skipDelay=this.creative.skipDelay,this.setDuration(this.creative.duration),this.clickThroughURLTemplate=this.creative.videoClickThroughURLTemplate,this.clickTrackingURLTemplates=this.creative.videoClickTrackingURLTemplates}_initVariationTracking(){if(this.linear=!1,this.skipDelay=-1,this.variation){for(const e in this.variation.trackingEvents){const t=this.variation.trackingEvents[e];this.trackingEvents[e]?this.trackingEvents[e]=this.trackingEvents[e].concat(t.slice(0)):this.trackingEvents[e]=t.slice(0)}\"nonLinearAd\"===this.variation.adType?(this.clickThroughURLTemplate=this.variation.nonlinearClickThroughURLTemplate,this.clickTrackingURLTemplates=this.variation.nonlinearClickTrackingURLTemplates,this.setDuration(this.variation.minSuggestedDuration)):function(e){return\"companionAd\"===e.adType}(this.variation)&&(this.clickThroughURLTemplate=this.variation.companionClickThroughURLTemplate,this.clickTrackingURLTemplates=this.variation.companionClickTrackingURLTemplates)}}setDuration(e){u.isValidTimeValue(e)?(this.assetDuration=e,this.quartiles={firstQuartile:Math.round(25*this.assetDuration)/100,midpoint:Math.round(50*this.assetDuration)/100,thirdQuartile:Math.round(75*this.assetDuration)/100}):this.emit(\"TRACKER-error\",{message:\"the duration provided is not valid. duration: \".concat(e)})}setProgress(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(!u.isValidTimeValue(e)||\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"One given setProgress parameter has the wrong type. progress: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))});const i=this.skipDelay||-1;if(-1===i||this.skippable||(i>e?this.emit(\"skip-countdown\",i-e):(this.skippable=!0,this.emit(\"skip-countdown\",0))),this.assetDuration>0){const i=Math.round(e/this.assetDuration*100),a=[];if(e>0){a.push(\"start\");for(let e=this.lastPercentage;e<i;e++)a.push(\"progress-\".concat(e+1,\"%\"));a.push(\"progress-\".concat(e));for(const t in this.quartiles)this.isQuartileReached(t,this.quartiles[t],e)&&(a.push(t),this._alreadyTriggeredQuartiles[t]=!0);this.lastPercentage=i}a.forEach((e=>{this.track(e,{macros:t,once:r})})),e<this.progress&&(this.track(\"rewind\",{macros:t}),this.trackedProgressEvents&&this.trackedProgressEvents.splice(0))}this.progress=e}isQuartileReached(e,t,r){let i=!1;return t<=r&&!this._alreadyTriggeredQuartiles[e]&&(i=!0),i}setMuted(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.muted!==e&&this.track(e?\"mute\":\"unmute\",{macros:t}),this.muted=e):this.emit(\"TRACKER-error\",{message:\"One given setMuted parameter has the wrong type. muted: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setPaused(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.paused!==e&&this.track(e?\"pause\":\"resume\",{macros:t}),this.paused=e):this.emit(\"TRACKER-error\",{message:\"One given setPaused parameter has the wrong type. paused: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setFullscreen(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.fullscreen!==e&&this.track(e?\"fullscreen\":\"exitFullscreen\",{macros:t}),this.fullscreen=e):this.emit(\"TRACKER-error\",{message:\"One given setFullScreen parameter has the wrong type. fullscreen: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setExpand(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"boolean\"==typeof e&&\"object\"==typeof t?(this.expanded!==e&&(this.track(e?\"expand\":\"collapse\",{macros:t}),this.track(e?\"playerExpand\":\"playerCollapse\",{macros:t})),this.expanded=e):this.emit(\"TRACKER-error\",{message:\"One given setExpand parameter has the wrong type. expanded: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}setSkipDelay(e){u.isValidTimeValue(e)?this.skipDelay=e:this.emit(\"TRACKER-error\",{message:\"setSkipDelay parameter does not have a valid value. duration: \".concat(e)})}trackImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.impressed||(this.impressed=!0,this.trackURLs(this.ad.impressionURLTemplates,e),this.track(\"creativeView\",{macros:e})):this.emit(\"TRACKER-error\",{message:\"trackImpression parameter has the wrong type. macros: \".concat(e)})}trackViewableImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e?this.track(\"viewable\",{macros:e,once:t}):this.emit(\"TRACKER-error\",{message:\"trackViewableImpression given macros has the wrong type. macros: \".concat(e)})}trackNotViewableImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e?this.track(\"notViewable\",{macros:e,once:t}):this.emit(\"TRACKER-error\",{message:\"trackNotViewableImpression given macros has the wrong type. macros: \".concat(e)})}trackUndeterminedImpression(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e?this.track(\"viewUndetermined\",{macros:e,once:t}):this.emit(\"TRACKER-error\",{message:\"trackUndeterminedImpression given macros has the wrong type. macros: \".concat(e)})}error(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"object\"==typeof e&&\"boolean\"==typeof t?this.trackURLs(this.ad.errorURLTemplates,e,{isCustomCode:t}):this.emit(\"TRACKER-error\",{message:\"One given error parameter has the wrong type. macros: \".concat(u.formatMacrosValues(e),\", isCustomCode: \").concat(t)})}errorWithCode(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];\"string\"==typeof e&&\"boolean\"==typeof t?(this.error({ERRORCODE:e},t),console.log(\"The method errorWithCode is deprecated, please use vast tracker error method instead\")):this.emit(\"TRACKER-error\",{message:\"One given errorWithCode parameter has the wrong type. errorCode: \".concat(e,\", isCustomCode: \").concat(t)})}complete(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"complete\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"complete given macros has the wrong type. macros: \".concat(e)})}notUsed(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?(this.track(\"notUsed\",{macros:e}),this.trackingEvents=[]):this.emit(\"TRACKER-error\",{message:\"notUsed given macros has the wrong type. macros: \".concat(e)})}otherAdInteraction(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"otherAdInteraction\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"otherAdInteraction given macros has the wrong type. macros: \".concat(e)})}acceptInvitation(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"acceptInvitation\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"acceptInvitation given macros has the wrong type. macros: \".concat(e)})}adExpand(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"adExpand\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"adExpand given macros has the wrong type. macros: \".concat(e)})}adCollapse(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"adCollapse\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"adCollapse given macros has the wrong type. macros: \".concat(e)})}minimize(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"minimize\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"minimize given macros has the wrong type. macros: \".concat(e)})}verificationNotExecuted(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(\"string\"!=typeof e||\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"One given verificationNotExecuted parameter has to wrong type. vendor: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))});if(!this.ad||!this.ad.adVerifications||!this.ad.adVerifications.length)throw new Error(\"No adVerifications provided\");if(!e)throw new Error(\"No vendor provided, unable to find associated verificationNotExecuted\");const r=this.ad.adVerifications.find((t=>t.vendor===e));if(!r)throw new Error(\"No associated verification element found for vendor: \".concat(e));const i=r.trackingEvents;if(i&&i.verificationNotExecuted){const e=i.verificationNotExecuted;this.trackURLs(e,t),this.emit(\"verificationNotExecuted\",{trackingURLTemplates:e})}}overlayViewDuration(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};\"string\"==typeof e&&\"object\"==typeof t?(t.ADPLAYHEAD=e,this.track(\"overlayViewDuration\",{macros:t})):this.emit(\"TRACKER-error\",{message:\"One given overlayViewDuration parameters has the wrong type. formattedDuration: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))})}close(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(this.linear?\"closeLinear\":\"close\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"close given macros has the wrong type. macros: \".concat(e)})}skip(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"skip\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"skip given macros has the wrong type. macros: \".concat(e)})}load(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};\"object\"==typeof e?this.track(\"loaded\",{macros:e}):this.emit(\"TRACKER-error\",{message:\"load given macros has the wrong type. macros: \".concat(e)})}click(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(null!==e&&\"string\"!=typeof e||\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"One given click parameter has the wrong type. fallbackClickThroughURL: \".concat(e,\", macros: \").concat(u.formatMacrosValues(t))});this.clickTrackingURLTemplates&&this.clickTrackingURLTemplates.length&&this.trackURLs(this.clickTrackingURLTemplates,t);const r=this.clickThroughURLTemplate||e,i={...t};if(r){this.progress&&(i.ADPLAYHEAD=this.progressFormatted());const e=u.resolveURLTemplates([r],i)[0];this.emit(\"clickthrough\",e)}}trackProgressEvents(e,t,r){const i=parseFloat(e.split(\"-\")[1]);Object.entries(this.trackingEvents).filter((e=>{let[t]=e;return t.startsWith(\"progress-\")})).map((e=>{let[t,r]=e;return{name:t,time:parseFloat(t.split(\"-\")[1]),urls:r}})).filter((e=>{let{time:t}=e;return t<=i&&t>this.progress})).forEach((e=>{let{name:i,urls:a}=e;!r&&this.trackedProgressEvents.includes(i)||(this.emit(i,{trackingURLTemplates:a}),this.trackURLs(a,t),r?delete this.trackingEvents[i]:this.trackedProgressEvents.push(i))}))}track(e){let{macros:t={},once:r=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(\"object\"!=typeof t)return void this.emit(\"TRACKER-error\",{message:\"track given macros has the wrong type. macros: \".concat(t)});\"closeLinear\"===e&&!this.trackingEvents[e]&&this.trackingEvents.close&&(e=\"close\"),e.startsWith(\"progress-\")&&!e.endsWith(\"%\")&&this.trackProgressEvents(e,t,r);const i=this.trackingEvents[e],a=this.emitAlwaysEvents.indexOf(e)>-1;i?(this.emit(e,{trackingURLTemplates:i}),this.trackURLs(i,t)):a&&this.emit(e,null),r&&(delete this.trackingEvents[e],a&&this.emitAlwaysEvents.splice(this.emitAlwaysEvents.indexOf(e),1))}trackURLs(e){var t;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{validUrls:a,invalidUrls:s}=u.filterUrlTemplates(e);s.length&&this.emit(\"TRACKER-error\",{message:\"Provided urls are malformed. url: \".concat(s)});const n={...r};this.linear&&(this.creative&&this.creative.mediaFiles&&this.creative.mediaFiles[0]&&this.creative.mediaFiles[0].fileURL&&(n.ASSETURI=this.creative.mediaFiles[0].fileURL),this.progress&&(n.ADPLAYHEAD=this.progressFormatted())),null!==(t=this.creative)&&void 0!==t&&null!==(t=t.universalAdIds)&&void 0!==t&&t.length&&(n.UNIVERSALADID=this.creative.universalAdIds.map((e=>e.idRegistry.concat(\" \",e.value))).join(\",\")),this.ad&&(this.ad.sequence&&(n.PODSEQUENCE=this.ad.sequence),this.ad.adType&&(n.ADTYPE=this.ad.adType),this.ad.adServingId&&(n.ADSERVINGID=this.ad.adServingId),this.ad.categories&&this.ad.categories.length&&(n.ADCATEGORIES=this.ad.categories.map((e=>e.value)).join(\",\")),this.ad.blockedAdCategories&&this.ad.blockedAdCategories.length&&(n.BLOCKEDADCATEGORIES=this.ad.blockedAdCategories.map((e=>e.value)).join(\",\"))),u.track(a,n,i)}convertToTimecode(e){if(!u.isValidTimeValue(e))return\"\";const t=1e3*e,r=Math.floor(t/36e5),i=Math.floor(t/6e4%60),a=Math.floor(t/1e3%60),s=Math.floor(t%1e3);return\"\".concat(u.addLeadingZeros(r,2),\":\").concat(u.addLeadingZeros(i,2),\":\").concat(u.addLeadingZeros(a,2),\".\").concat(u.addLeadingZeros(s,3))}progressFormatted(){return this.convertToTimecode(this.progress)}}export{_ as VASTClient,B as VASTParser,z as VASTTracker,p as parseDuration};\n","function t(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}function e(t,e){for(var a=0;a<e.length;a++){var n=e[a];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function a(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),Object.defineProperty(t,\"prototype\",{writable:!1}),t}var n=a((function e(a){for(var n in t(this,e),this.id=a.getAttribute(\"id\"),this.allowMultipleAds=a.getAttribute(\"allowMultipleAds\"),this.followRedirects=a.getAttribute(\"followRedirects\"),this.vastAdData=null,this.adTagURI=null,this.customData=null,a.childNodes){var i=a.childNodes[n];switch(i.localName){case\"AdTagURI\":this.adTagURI={templateType:i.getAttribute(\"templateType\"),uri:(i.textContent||i.text||\"\").trim()};break;case\"VASTAdData\":for(this.vastAdData=i.firstChild;this.vastAdData&&1!==this.vastAdData.nodeType;)this.vastAdData=this.vastAdData.nextSibling;break;case\"CustomAdData\":this.customData=i}}}));function i(t,e){var a=[];for(var n in t.childNodes){var i=t.childNodes[n];i.nodeName!==e&&e!==\"vmap:\".concat(i.nodeName)&&i.nodeName!==\"vmap:\".concat(e)||a.push(i)}return a}function r(t){var e={attributes:{},children:{},value:{}};e.value=function(t){if(!t||!t.childNodes)return{};var e=t.childNodes,a=[];for(var n in e){var i=e[n];\"#cdata-section\"===i.nodeName&&a.push(i)}if(a&&a.length>0)try{return JSON.parse(a[0].data)}catch(t){}var r=\"\";for(var s in e){var o=e[s];switch(o.nodeName){case\"#text\":r+=o.textContent.trim();break;case\"#cdata-section\":r+=o.data}}return r}(t);var a=t.attributes;if(a)for(var n in a){var i=a[n];i.nodeName&&void 0!==i.nodeValue&&null!==i.nodeValue&&(e.attributes[i.nodeName]=i.nodeValue)}var s=t.childNodes;if(s)for(var o in s){var c=s[o];c.nodeName&&\"#\"!==c.nodeName.substring(0,1)&&(e.children[c.nodeName]=r(c))}return e}var s=function(){function e(a){for(var s in t(this,e),this.timeOffset=a.getAttribute(\"timeOffset\"),this.breakType=a.getAttribute(\"breakType\"),this.breakId=a.getAttribute(\"breakId\"),this.repeatAfter=a.getAttribute(\"repeatAfter\"),this.adSource=null,this.trackingEvents=[],this.extensions=[],a.childNodes){var o=a.childNodes[s];switch(o.localName){case\"AdSource\":this.adSource=new n(o);break;case\"TrackingEvents\":for(var c in o.childNodes){var d=o.childNodes[c];\"Tracking\"===d.localName&&this.trackingEvents.push({event:d.getAttribute(\"event\"),uri:(d.textContent||d.text||\"\").trim()})}break;case\"Extensions\":this.extensions=i(o,\"Extension\").map((function(t){return r(t)}))}}}return a(e,[{key:\"track\",value:function(t,e){for(var a in this.trackingEvents){var n=this.trackingEvents[a];if(n.event===t){var i=n.uri;\"error\"===n.event&&(i=i.replace(\"[ERRORCODE]\",e)),this.tracker(i)}}}},{key:\"tracker\",value:function(t){\"undefined\"!=typeof window&&null!==window&&((new Image).src=t)}}]),e}(),o=a((function e(a){if(t(this,e),!a||!a.documentElement||\"VMAP\"!==a.documentElement.localName)throw new Error(\"Not a VMAP document\");for(var n in this.version=a.documentElement.getAttribute(\"version\"),this.adBreaks=[],this.extensions=[],a.documentElement.childNodes){var o=a.documentElement.childNodes[n];switch(o.localName){case\"AdBreak\":this.adBreaks.push(new s(o));break;case\"Extensions\":this.extensions=i(o,\"Extension\").map((function(t){return r(t)}))}}}));export{o as default};\n",null,null,"'use strict'\n\n/**\n * Ponyfill for `Array.prototype.find` which is only available in ES6 runtimes.\n *\n * Works with anything that has a `length` property and index access properties, including NodeList.\n *\n * @template {unknown} T\n * @param {Array<T> | ({length:number, [number]: T})} list\n * @param {function (item: T, index: number, list:Array<T> | ({length:number, [number]: T})):boolean} predicate\n * @param {Partial<Pick<ArrayConstructor['prototype'], 'find'>>?} ac `Array.prototype` by default,\n * \t\t\t\tallows injecting a custom implementation in tests\n * @returns {T | undefined}\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find\n * @see https://tc39.es/ecma262/multipage/indexed-collections.html#sec-array.prototype.find\n */\nfunction find(list, predicate, ac) {\n\tif (ac === undefined) {\n\t\tac = Array.prototype;\n\t}\n\tif (list && typeof ac.find === 'function') {\n\t\treturn ac.find.call(list, predicate);\n\t}\n\tfor (var i = 0; i < list.length; i++) {\n\t\tif (Object.prototype.hasOwnProperty.call(list, i)) {\n\t\t\tvar item = list[i];\n\t\t\tif (predicate.call(undefined, item, i, list)) {\n\t\t\t\treturn item;\n\t\t\t}\n\t\t}\n\t}\n}\n\n/**\n * \"Shallow freezes\" an object to render it immutable.\n * Uses `Object.freeze` if available,\n * otherwise the immutability is only in the type.\n *\n * Is used to create \"enum like\" objects.\n *\n * @template T\n * @param {T} object the object to freeze\n * @param {Pick<ObjectConstructor, 'freeze'> = Object} oc `Object` by default,\n * \t\t\t\tallows to inject custom object constructor for tests\n * @returns {Readonly<T>}\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/freeze\n */\nfunction freeze(object, oc) {\n\tif (oc === undefined) {\n\t\toc = Object\n\t}\n\treturn oc && typeof oc.freeze === 'function' ? oc.freeze(object) : object\n}\n\n/**\n * Since we can not rely on `Object.assign` we provide a simplified version\n * that is sufficient for our needs.\n *\n * @param {Object} target\n * @param {Object | null | undefined} source\n *\n * @returns {Object} target\n * @throws TypeError if target is not an object\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n * @see https://tc39.es/ecma262/multipage/fundamental-objects.html#sec-object.assign\n */\nfunction assign(target, source) {\n\tif (target === null || typeof target !== 'object') {\n\t\tthrow new TypeError('target is not an object')\n\t}\n\tfor (var key in source) {\n\t\tif (Object.prototype.hasOwnProperty.call(source, key)) {\n\t\t\ttarget[key] = source[key]\n\t\t}\n\t}\n\treturn target\n}\n\n/**\n * All mime types that are allowed as input to `DOMParser.parseFromString`\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString#Argument02 MDN\n * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#domparsersupportedtype WHATWG HTML Spec\n * @see DOMParser.prototype.parseFromString\n */\nvar MIME_TYPE = freeze({\n\t/**\n\t * `text/html`, the only mime type that triggers treating an XML document as HTML.\n\t *\n\t * @see DOMParser.SupportedType.isHTML\n\t * @see https://www.iana.org/assignments/media-types/text/html IANA MimeType registration\n\t * @see https://en.wikipedia.org/wiki/HTML Wikipedia\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString MDN\n\t * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring WHATWG HTML Spec\n\t */\n\tHTML: 'text/html',\n\n\t/**\n\t * Helper method to check a mime type if it indicates an HTML document\n\t *\n\t * @param {string} [value]\n\t * @returns {boolean}\n\t *\n\t * @see https://www.iana.org/assignments/media-types/text/html IANA MimeType registration\n\t * @see https://en.wikipedia.org/wiki/HTML Wikipedia\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser/parseFromString MDN\n\t * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-domparser-parsefromstring \t */\n\tisHTML: function (value) {\n\t\treturn value === MIME_TYPE.HTML\n\t},\n\n\t/**\n\t * `application/xml`, the standard mime type for XML documents.\n\t *\n\t * @see https://www.iana.org/assignments/media-types/application/xml IANA MimeType registration\n\t * @see https://tools.ietf.org/html/rfc7303#section-9.1 RFC 7303\n\t * @see https://en.wikipedia.org/wiki/XML_and_MIME Wikipedia\n\t */\n\tXML_APPLICATION: 'application/xml',\n\n\t/**\n\t * `text/html`, an alias for `application/xml`.\n\t *\n\t * @see https://tools.ietf.org/html/rfc7303#section-9.2 RFC 7303\n\t * @see https://www.iana.org/assignments/media-types/text/xml IANA MimeType registration\n\t * @see https://en.wikipedia.org/wiki/XML_and_MIME Wikipedia\n\t */\n\tXML_TEXT: 'text/xml',\n\n\t/**\n\t * `application/xhtml+xml`, indicates an XML document that has the default HTML namespace,\n\t * but is parsed as an XML document.\n\t *\n\t * @see https://www.iana.org/assignments/media-types/application/xhtml+xml IANA MimeType registration\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocument WHATWG DOM Spec\n\t * @see https://en.wikipedia.org/wiki/XHTML Wikipedia\n\t */\n\tXML_XHTML_APPLICATION: 'application/xhtml+xml',\n\n\t/**\n\t * `image/svg+xml`,\n\t *\n\t * @see https://www.iana.org/assignments/media-types/image/svg+xml IANA MimeType registration\n\t * @see https://www.w3.org/TR/SVG11/ W3C SVG 1.1\n\t * @see https://en.wikipedia.org/wiki/Scalable_Vector_Graphics Wikipedia\n\t */\n\tXML_SVG_IMAGE: 'image/svg+xml',\n})\n\n/**\n * Namespaces that are used in this code base.\n *\n * @see http://www.w3.org/TR/REC-xml-names\n */\nvar NAMESPACE = freeze({\n\t/**\n\t * The XHTML namespace.\n\t *\n\t * @see http://www.w3.org/1999/xhtml\n\t */\n\tHTML: 'http://www.w3.org/1999/xhtml',\n\n\t/**\n\t * Checks if `uri` equals `NAMESPACE.HTML`.\n\t *\n\t * @param {string} [uri]\n\t *\n\t * @see NAMESPACE.HTML\n\t */\n\tisHTML: function (uri) {\n\t\treturn uri === NAMESPACE.HTML\n\t},\n\n\t/**\n\t * The SVG namespace.\n\t *\n\t * @see http://www.w3.org/2000/svg\n\t */\n\tSVG: 'http://www.w3.org/2000/svg',\n\n\t/**\n\t * The `xml:` namespace.\n\t *\n\t * @see http://www.w3.org/XML/1998/namespace\n\t */\n\tXML: 'http://www.w3.org/XML/1998/namespace',\n\n\t/**\n\t * The `xmlns:` namespace\n\t *\n\t * @see https://www.w3.org/2000/xmlns/\n\t */\n\tXMLNS: 'http://www.w3.org/2000/xmlns/',\n})\n\nexports.assign = assign;\nexports.find = find;\nexports.freeze = freeze;\nexports.MIME_TYPE = MIME_TYPE;\nexports.NAMESPACE = NAMESPACE;\n","var conventions = require(\"./conventions\");\n\nvar find = conventions.find;\nvar NAMESPACE = conventions.NAMESPACE;\n\n/**\n * A prerequisite for `[].filter`, to drop elements that are empty\n * @param {string} input\n * @returns {boolean}\n */\nfunction notEmptyString (input) {\n\treturn input !== ''\n}\n/**\n * @see https://infra.spec.whatwg.org/#split-on-ascii-whitespace\n * @see https://infra.spec.whatwg.org/#ascii-whitespace\n *\n * @param {string} input\n * @returns {string[]} (can be empty)\n */\nfunction splitOnASCIIWhitespace(input) {\n\t// U+0009 TAB, U+000A LF, U+000C FF, U+000D CR, U+0020 SPACE\n\treturn input ? input.split(/[\\t\\n\\f\\r ]+/).filter(notEmptyString) : []\n}\n\n/**\n * Adds element as a key to current if it is not already present.\n *\n * @param {Record<string, boolean | undefined>} current\n * @param {string} element\n * @returns {Record<string, boolean | undefined>}\n */\nfunction orderedSetReducer (current, element) {\n\tif (!current.hasOwnProperty(element)) {\n\t\tcurrent[element] = true;\n\t}\n\treturn current;\n}\n\n/**\n * @see https://infra.spec.whatwg.org/#ordered-set\n * @param {string} input\n * @returns {string[]}\n */\nfunction toOrderedSet(input) {\n\tif (!input) return [];\n\tvar list = splitOnASCIIWhitespace(input);\n\treturn Object.keys(list.reduce(orderedSetReducer, {}))\n}\n\n/**\n * Uses `list.indexOf` to implement something like `Array.prototype.includes`,\n * which we can not rely on being available.\n *\n * @param {any[]} list\n * @returns {function(any): boolean}\n */\nfunction arrayIncludes (list) {\n\treturn function(element) {\n\t\treturn list && list.indexOf(element) !== -1;\n\t}\n}\n\nfunction copy(src,dest){\n\tfor(var p in src){\n\t\tif (Object.prototype.hasOwnProperty.call(src, p)) {\n\t\t\tdest[p] = src[p];\n\t\t}\n\t}\n}\n\n/**\n^\\w+\\.prototype\\.([_\\w]+)\\s*=\\s*((?:.*\\{\\s*?[\\r\\n][\\s\\S]*?^})|\\S.*?(?=[;\\r\\n]));?\n^\\w+\\.prototype\\.([_\\w]+)\\s*=\\s*(\\S.*?(?=[;\\r\\n]));?\n */\nfunction _extends(Class,Super){\n\tvar pt = Class.prototype;\n\tif(!(pt instanceof Super)){\n\t\tfunction t(){};\n\t\tt.prototype = Super.prototype;\n\t\tt = new t();\n\t\tcopy(pt,t);\n\t\tClass.prototype = pt = t;\n\t}\n\tif(pt.constructor != Class){\n\t\tif(typeof Class != 'function'){\n\t\t\tconsole.error(\"unknown Class:\"+Class)\n\t\t}\n\t\tpt.constructor = Class\n\t}\n}\n\n// Node Types\nvar NodeType = {}\nvar ELEMENT_NODE = NodeType.ELEMENT_NODE = 1;\nvar ATTRIBUTE_NODE = NodeType.ATTRIBUTE_NODE = 2;\nvar TEXT_NODE = NodeType.TEXT_NODE = 3;\nvar CDATA_SECTION_NODE = NodeType.CDATA_SECTION_NODE = 4;\nvar ENTITY_REFERENCE_NODE = NodeType.ENTITY_REFERENCE_NODE = 5;\nvar ENTITY_NODE = NodeType.ENTITY_NODE = 6;\nvar PROCESSING_INSTRUCTION_NODE = NodeType.PROCESSING_INSTRUCTION_NODE = 7;\nvar COMMENT_NODE = NodeType.COMMENT_NODE = 8;\nvar DOCUMENT_NODE = NodeType.DOCUMENT_NODE = 9;\nvar DOCUMENT_TYPE_NODE = NodeType.DOCUMENT_TYPE_NODE = 10;\nvar DOCUMENT_FRAGMENT_NODE = NodeType.DOCUMENT_FRAGMENT_NODE = 11;\nvar NOTATION_NODE = NodeType.NOTATION_NODE = 12;\n\n// ExceptionCode\nvar ExceptionCode = {}\nvar ExceptionMessage = {};\nvar INDEX_SIZE_ERR = ExceptionCode.INDEX_SIZE_ERR = ((ExceptionMessage[1]=\"Index size error\"),1);\nvar DOMSTRING_SIZE_ERR = ExceptionCode.DOMSTRING_SIZE_ERR = ((ExceptionMessage[2]=\"DOMString size error\"),2);\nvar HIERARCHY_REQUEST_ERR = ExceptionCode.HIERARCHY_REQUEST_ERR = ((ExceptionMessage[3]=\"Hierarchy request error\"),3);\nvar WRONG_DOCUMENT_ERR = ExceptionCode.WRONG_DOCUMENT_ERR = ((ExceptionMessage[4]=\"Wrong document\"),4);\nvar INVALID_CHARACTER_ERR = ExceptionCode.INVALID_CHARACTER_ERR = ((ExceptionMessage[5]=\"Invalid character\"),5);\nvar NO_DATA_ALLOWED_ERR = ExceptionCode.NO_DATA_ALLOWED_ERR = ((ExceptionMessage[6]=\"No data allowed\"),6);\nvar NO_MODIFICATION_ALLOWED_ERR = ExceptionCode.NO_MODIFICATION_ALLOWED_ERR = ((ExceptionMessage[7]=\"No modification allowed\"),7);\nvar NOT_FOUND_ERR = ExceptionCode.NOT_FOUND_ERR = ((ExceptionMessage[8]=\"Not found\"),8);\nvar NOT_SUPPORTED_ERR = ExceptionCode.NOT_SUPPORTED_ERR = ((ExceptionMessage[9]=\"Not supported\"),9);\nvar INUSE_ATTRIBUTE_ERR = ExceptionCode.INUSE_ATTRIBUTE_ERR = ((ExceptionMessage[10]=\"Attribute in use\"),10);\n//level2\nvar INVALID_STATE_ERR \t= ExceptionCode.INVALID_STATE_ERR \t= ((ExceptionMessage[11]=\"Invalid state\"),11);\nvar SYNTAX_ERR \t= ExceptionCode.SYNTAX_ERR \t= ((ExceptionMessage[12]=\"Syntax error\"),12);\nvar INVALID_MODIFICATION_ERR \t= ExceptionCode.INVALID_MODIFICATION_ERR \t= ((ExceptionMessage[13]=\"Invalid modification\"),13);\nvar NAMESPACE_ERR \t= ExceptionCode.NAMESPACE_ERR \t= ((ExceptionMessage[14]=\"Invalid namespace\"),14);\nvar INVALID_ACCESS_ERR \t= ExceptionCode.INVALID_ACCESS_ERR \t= ((ExceptionMessage[15]=\"Invalid access\"),15);\n\n/**\n * DOM Level 2\n * Object DOMException\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/ecma-script-binding.html\n * @see http://www.w3.org/TR/REC-DOM-Level-1/ecma-script-language-binding.html\n */\nfunction DOMException(code, message) {\n\tif(message instanceof Error){\n\t\tvar error = message;\n\t}else{\n\t\terror = this;\n\t\tError.call(this, ExceptionMessage[code]);\n\t\tthis.message = ExceptionMessage[code];\n\t\tif(Error.captureStackTrace) Error.captureStackTrace(this, DOMException);\n\t}\n\terror.code = code;\n\tif(message) this.message = this.message + \": \" + message;\n\treturn error;\n};\nDOMException.prototype = Error.prototype;\ncopy(ExceptionCode,DOMException)\n\n/**\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-536297177\n * The NodeList interface provides the abstraction of an ordered collection of nodes, without defining or constraining how this collection is implemented. NodeList objects in the DOM are live.\n * The items in the NodeList are accessible via an integral index, starting from 0.\n */\nfunction NodeList() {\n};\nNodeList.prototype = {\n\t/**\n\t * The number of nodes in the list. The range of valid child node indices is 0 to length-1 inclusive.\n\t * @standard level1\n\t */\n\tlength:0,\n\t/**\n\t * Returns the indexth item in the collection. If index is greater than or equal to the number of nodes in the list, this returns null.\n\t * @standard level1\n\t * @param index unsigned long\n\t * Index into the collection.\n\t * @return Node\n\t * \tThe node at the indexth position in the NodeList, or null if that is not a valid index.\n\t */\n\titem: function(index) {\n\t\treturn index >= 0 && index < this.length ? this[index] : null;\n\t},\n\ttoString:function(isHTML,nodeFilter){\n\t\tfor(var buf = [], i = 0;i<this.length;i++){\n\t\t\tserializeToString(this[i],buf,isHTML,nodeFilter);\n\t\t}\n\t\treturn buf.join('');\n\t},\n\t/**\n\t * @private\n\t * @param {function (Node):boolean} predicate\n\t * @returns {Node[]}\n\t */\n\tfilter: function (predicate) {\n\t\treturn Array.prototype.filter.call(this, predicate);\n\t},\n\t/**\n\t * @private\n\t * @param {Node} item\n\t * @returns {number}\n\t */\n\tindexOf: function (item) {\n\t\treturn Array.prototype.indexOf.call(this, item);\n\t},\n};\n\nfunction LiveNodeList(node,refresh){\n\tthis._node = node;\n\tthis._refresh = refresh\n\t_updateLiveList(this);\n}\nfunction _updateLiveList(list){\n\tvar inc = list._node._inc || list._node.ownerDocument._inc;\n\tif (list._inc !== inc) {\n\t\tvar ls = list._refresh(list._node);\n\t\t__set__(list,'length',ls.length);\n\t\tif (!list.$$length || ls.length < list.$$length) {\n\t\t\tfor (var i = ls.length; i in list; i++) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(list, i)) {\n\t\t\t\t\tdelete list[i];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tcopy(ls,list);\n\t\tlist._inc = inc;\n\t}\n}\nLiveNodeList.prototype.item = function(i){\n\t_updateLiveList(this);\n\treturn this[i] || null;\n}\n\n_extends(LiveNodeList,NodeList);\n\n/**\n * Objects implementing the NamedNodeMap interface are used\n * to represent collections of nodes that can be accessed by name.\n * Note that NamedNodeMap does not inherit from NodeList;\n * NamedNodeMaps are not maintained in any particular order.\n * Objects contained in an object implementing NamedNodeMap may also be accessed by an ordinal index,\n * but this is simply to allow convenient enumeration of the contents of a NamedNodeMap,\n * and does not imply that the DOM specifies an order to these Nodes.\n * NamedNodeMap objects in the DOM are live.\n * used for attributes or DocumentType entities\n */\nfunction NamedNodeMap() {\n};\n\nfunction _findNodeIndex(list,node){\n\tvar i = list.length;\n\twhile(i--){\n\t\tif(list[i] === node){return i}\n\t}\n}\n\nfunction _addNamedNode(el,list,newAttr,oldAttr){\n\tif(oldAttr){\n\t\tlist[_findNodeIndex(list,oldAttr)] = newAttr;\n\t}else{\n\t\tlist[list.length++] = newAttr;\n\t}\n\tif(el){\n\t\tnewAttr.ownerElement = el;\n\t\tvar doc = el.ownerDocument;\n\t\tif(doc){\n\t\t\toldAttr && _onRemoveAttribute(doc,el,oldAttr);\n\t\t\t_onAddAttribute(doc,el,newAttr);\n\t\t}\n\t}\n}\nfunction _removeNamedNode(el,list,attr){\n\t//console.log('remove attr:'+attr)\n\tvar i = _findNodeIndex(list,attr);\n\tif(i>=0){\n\t\tvar lastIndex = list.length-1\n\t\twhile(i<lastIndex){\n\t\t\tlist[i] = list[++i]\n\t\t}\n\t\tlist.length = lastIndex;\n\t\tif(el){\n\t\t\tvar doc = el.ownerDocument;\n\t\t\tif(doc){\n\t\t\t\t_onRemoveAttribute(doc,el,attr);\n\t\t\t\tattr.ownerElement = null;\n\t\t\t}\n\t\t}\n\t}else{\n\t\tthrow new DOMException(NOT_FOUND_ERR,new Error(el.tagName+'@'+attr))\n\t}\n}\nNamedNodeMap.prototype = {\n\tlength:0,\n\titem:NodeList.prototype.item,\n\tgetNamedItem: function(key) {\n//\t\tif(key.indexOf(':')>0 || key == 'xmlns'){\n//\t\t\treturn null;\n//\t\t}\n\t\t//console.log()\n\t\tvar i = this.length;\n\t\twhile(i--){\n\t\t\tvar attr = this[i];\n\t\t\t//console.log(attr.nodeName,key)\n\t\t\tif(attr.nodeName == key){\n\t\t\t\treturn attr;\n\t\t\t}\n\t\t}\n\t},\n\tsetNamedItem: function(attr) {\n\t\tvar el = attr.ownerElement;\n\t\tif(el && el!=this._ownerElement){\n\t\t\tthrow new DOMException(INUSE_ATTRIBUTE_ERR);\n\t\t}\n\t\tvar oldAttr = this.getNamedItem(attr.nodeName);\n\t\t_addNamedNode(this._ownerElement,this,attr,oldAttr);\n\t\treturn oldAttr;\n\t},\n\t/* returns Node */\n\tsetNamedItemNS: function(attr) {// raises: WRONG_DOCUMENT_ERR,NO_MODIFICATION_ALLOWED_ERR,INUSE_ATTRIBUTE_ERR\n\t\tvar el = attr.ownerElement, oldAttr;\n\t\tif(el && el!=this._ownerElement){\n\t\t\tthrow new DOMException(INUSE_ATTRIBUTE_ERR);\n\t\t}\n\t\toldAttr = this.getNamedItemNS(attr.namespaceURI,attr.localName);\n\t\t_addNamedNode(this._ownerElement,this,attr,oldAttr);\n\t\treturn oldAttr;\n\t},\n\n\t/* returns Node */\n\tremoveNamedItem: function(key) {\n\t\tvar attr = this.getNamedItem(key);\n\t\t_removeNamedNode(this._ownerElement,this,attr);\n\t\treturn attr;\n\n\n\t},// raises: NOT_FOUND_ERR,NO_MODIFICATION_ALLOWED_ERR\n\n\t//for level2\n\tremoveNamedItemNS:function(namespaceURI,localName){\n\t\tvar attr = this.getNamedItemNS(namespaceURI,localName);\n\t\t_removeNamedNode(this._ownerElement,this,attr);\n\t\treturn attr;\n\t},\n\tgetNamedItemNS: function(namespaceURI, localName) {\n\t\tvar i = this.length;\n\t\twhile(i--){\n\t\t\tvar node = this[i];\n\t\t\tif(node.localName == localName && node.namespaceURI == namespaceURI){\n\t\t\t\treturn node;\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n};\n\n/**\n * The DOMImplementation interface represents an object providing methods\n * which are not dependent on any particular document.\n * Such an object is returned by the `Document.implementation` property.\n *\n * __The individual methods describe the differences compared to the specs.__\n *\n * @constructor\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation MDN\n * @see https://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-102161490 DOM Level 1 Core (Initial)\n * @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-102161490 DOM Level 2 Core\n * @see https://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-102161490 DOM Level 3 Core\n * @see https://dom.spec.whatwg.org/#domimplementation DOM Living Standard\n */\nfunction DOMImplementation() {\n}\n\nDOMImplementation.prototype = {\n\t/**\n\t * The DOMImplementation.hasFeature() method returns a Boolean flag indicating if a given feature is supported.\n\t * The different implementations fairly diverged in what kind of features were reported.\n\t * The latest version of the spec settled to force this method to always return true, where the functionality was accurate and in use.\n\t *\n\t * @deprecated It is deprecated and modern browsers return true in all cases.\n\t *\n\t * @param {string} feature\n\t * @param {string} [version]\n\t * @returns {boolean} always true\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/hasFeature MDN\n\t * @see https://www.w3.org/TR/REC-DOM-Level-1/level-one-core.html#ID-5CED94D7 DOM Level 1 Core\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-hasfeature DOM Living Standard\n\t */\n\thasFeature: function(feature, version) {\n\t\t\treturn true;\n\t},\n\t/**\n\t * Creates an XML Document object of the specified type with its document element.\n\t *\n\t * __It behaves slightly different from the description in the living standard__:\n\t * - There is no interface/class `XMLDocument`, it returns a `Document` instance.\n\t * - `contentType`, `encoding`, `mode`, `origin`, `url` fields are currently not declared.\n\t * - this implementation is not validating names or qualified names\n\t * (when parsing XML strings, the SAX parser takes care of that)\n\t *\n\t * @param {string|null} namespaceURI\n\t * @param {string} qualifiedName\n\t * @param {DocumentType=null} doctype\n\t * @returns {Document}\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/createDocument MDN\n\t * @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#Level-2-Core-DOM-createDocument DOM Level 2 Core (initial)\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocument DOM Level 2 Core\n\t *\n\t * @see https://dom.spec.whatwg.org/#validate-and-extract DOM: Validate and extract\n\t * @see https://www.w3.org/TR/xml/#NT-NameStartChar XML Spec: Names\n\t * @see https://www.w3.org/TR/xml-names/#ns-qualnames XML Namespaces: Qualified names\n\t */\n\tcreateDocument: function(namespaceURI, qualifiedName, doctype){\n\t\tvar doc = new Document();\n\t\tdoc.implementation = this;\n\t\tdoc.childNodes = new NodeList();\n\t\tdoc.doctype = doctype || null;\n\t\tif (doctype){\n\t\t\tdoc.appendChild(doctype);\n\t\t}\n\t\tif (qualifiedName){\n\t\t\tvar root = doc.createElementNS(namespaceURI, qualifiedName);\n\t\t\tdoc.appendChild(root);\n\t\t}\n\t\treturn doc;\n\t},\n\t/**\n\t * Returns a doctype, with the given `qualifiedName`, `publicId`, and `systemId`.\n\t *\n\t * __This behavior is slightly different from the in the specs__:\n\t * - this implementation is not validating names or qualified names\n\t * (when parsing XML strings, the SAX parser takes care of that)\n\t *\n\t * @param {string} qualifiedName\n\t * @param {string} [publicId]\n\t * @param {string} [systemId]\n\t * @returns {DocumentType} which can either be used with `DOMImplementation.createDocument` upon document creation\n\t * \t\t\t\t or can be put into the document via methods like `Node.insertBefore()` or `Node.replaceChild()`\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMImplementation/createDocumentType MDN\n\t * @see https://www.w3.org/TR/DOM-Level-2-Core/core.html#Level-2-Core-DOM-createDocType DOM Level 2 Core\n\t * @see https://dom.spec.whatwg.org/#dom-domimplementation-createdocumenttype DOM Living Standard\n\t *\n\t * @see https://dom.spec.whatwg.org/#validate-and-extract DOM: Validate and extract\n\t * @see https://www.w3.org/TR/xml/#NT-NameStartChar XML Spec: Names\n\t * @see https://www.w3.org/TR/xml-names/#ns-qualnames XML Namespaces: Qualified names\n\t */\n\tcreateDocumentType: function(qualifiedName, publicId, systemId){\n\t\tvar node = new DocumentType();\n\t\tnode.name = qualifiedName;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.publicId = publicId || '';\n\t\tnode.systemId = systemId || '';\n\n\t\treturn node;\n\t}\n};\n\n\n/**\n * @see http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-1950641247\n */\n\nfunction Node() {\n};\n\nNode.prototype = {\n\tfirstChild : null,\n\tlastChild : null,\n\tpreviousSibling : null,\n\tnextSibling : null,\n\tattributes : null,\n\tparentNode : null,\n\tchildNodes : null,\n\townerDocument : null,\n\tnodeValue : null,\n\tnamespaceURI : null,\n\tprefix : null,\n\tlocalName : null,\n\t// Modified in DOM Level 2:\n\tinsertBefore:function(newChild, refChild){//raises\n\t\treturn _insertBefore(this,newChild,refChild);\n\t},\n\treplaceChild:function(newChild, oldChild){//raises\n\t\t_insertBefore(this, newChild,oldChild, assertPreReplacementValidityInDocument);\n\t\tif(oldChild){\n\t\t\tthis.removeChild(oldChild);\n\t\t}\n\t},\n\tremoveChild:function(oldChild){\n\t\treturn _removeChild(this,oldChild);\n\t},\n\tappendChild:function(newChild){\n\t\treturn this.insertBefore(newChild,null);\n\t},\n\thasChildNodes:function(){\n\t\treturn this.firstChild != null;\n\t},\n\tcloneNode:function(deep){\n\t\treturn cloneNode(this.ownerDocument||this,this,deep);\n\t},\n\t// Modified in DOM Level 2:\n\tnormalize:function(){\n\t\tvar child = this.firstChild;\n\t\twhile(child){\n\t\t\tvar next = child.nextSibling;\n\t\t\tif(next && next.nodeType == TEXT_NODE && child.nodeType == TEXT_NODE){\n\t\t\t\tthis.removeChild(next);\n\t\t\t\tchild.appendData(next.data);\n\t\t\t}else{\n\t\t\t\tchild.normalize();\n\t\t\t\tchild = next;\n\t\t\t}\n\t\t}\n\t},\n \t// Introduced in DOM Level 2:\n\tisSupported:function(feature, version){\n\t\treturn this.ownerDocument.implementation.hasFeature(feature,version);\n\t},\n // Introduced in DOM Level 2:\n hasAttributes:function(){\n \treturn this.attributes.length>0;\n },\n\t/**\n\t * Look up the prefix associated to the given namespace URI, starting from this node.\n\t * **The default namespace declarations are ignored by this method.**\n\t * See Namespace Prefix Lookup for details on the algorithm used by this method.\n\t *\n\t * _Note: The implementation seems to be incomplete when compared to the algorithm described in the specs._\n\t *\n\t * @param {string | null} namespaceURI\n\t * @returns {string | null}\n\t * @see https://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-lookupNamespacePrefix\n\t * @see https://www.w3.org/TR/DOM-Level-3-Core/namespaces-algorithms.html#lookupNamespacePrefixAlgo\n\t * @see https://dom.spec.whatwg.org/#dom-node-lookupprefix\n\t * @see https://github.com/xmldom/xmldom/issues/322\n\t */\n lookupPrefix:function(namespaceURI){\n \tvar el = this;\n \twhile(el){\n \t\tvar map = el._nsMap;\n \t\t//console.dir(map)\n \t\tif(map){\n \t\t\tfor(var n in map){\n\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(map, n) && map[n] === namespaceURI) {\n\t\t\t\t\t\t\treturn n;\n\t\t\t\t\t\t}\n \t\t\t}\n \t\t}\n \t\tel = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;\n \t}\n \treturn null;\n },\n // Introduced in DOM Level 3:\n lookupNamespaceURI:function(prefix){\n \tvar el = this;\n \twhile(el){\n \t\tvar map = el._nsMap;\n \t\t//console.dir(map)\n \t\tif(map){\n \t\t\tif(Object.prototype.hasOwnProperty.call(map, prefix)){\n \t\t\t\treturn map[prefix] ;\n \t\t\t}\n \t\t}\n \t\tel = el.nodeType == ATTRIBUTE_NODE?el.ownerDocument : el.parentNode;\n \t}\n \treturn null;\n },\n // Introduced in DOM Level 3:\n isDefaultNamespace:function(namespaceURI){\n \tvar prefix = this.lookupPrefix(namespaceURI);\n \treturn prefix == null;\n }\n};\n\n\nfunction _xmlEncoder(c){\n\treturn c == '<' && '<' ||\n c == '>' && '>' ||\n c == '&' && '&' ||\n c == '\"' && '"' ||\n '&#'+c.charCodeAt()+';'\n}\n\n\ncopy(NodeType,Node);\ncopy(NodeType,Node.prototype);\n\n/**\n * @param callback return true for continue,false for break\n * @return boolean true: break visit;\n */\nfunction _visitNode(node,callback){\n\tif(callback(node)){\n\t\treturn true;\n\t}\n\tif(node = node.firstChild){\n\t\tdo{\n\t\t\tif(_visitNode(node,callback)){return true}\n }while(node=node.nextSibling)\n }\n}\n\n\n\nfunction Document(){\n\tthis.ownerDocument = this;\n}\n\nfunction _onAddAttribute(doc,el,newAttr){\n\tdoc && doc._inc++;\n\tvar ns = newAttr.namespaceURI ;\n\tif(ns === NAMESPACE.XMLNS){\n\t\t//update namespace\n\t\tel._nsMap[newAttr.prefix?newAttr.localName:''] = newAttr.value\n\t}\n}\n\nfunction _onRemoveAttribute(doc,el,newAttr,remove){\n\tdoc && doc._inc++;\n\tvar ns = newAttr.namespaceURI ;\n\tif(ns === NAMESPACE.XMLNS){\n\t\t//update namespace\n\t\tdelete el._nsMap[newAttr.prefix?newAttr.localName:'']\n\t}\n}\n\n/**\n * Updates `el.childNodes`, updating the indexed items and it's `length`.\n * Passing `newChild` means it will be appended.\n * Otherwise it's assumed that an item has been removed,\n * and `el.firstNode` and it's `.nextSibling` are used\n * to walk the current list of child nodes.\n *\n * @param {Document} doc\n * @param {Node} el\n * @param {Node} [newChild]\n * @private\n */\nfunction _onUpdateChild (doc, el, newChild) {\n\tif(doc && doc._inc){\n\t\tdoc._inc++;\n\t\t//update childNodes\n\t\tvar cs = el.childNodes;\n\t\tif (newChild) {\n\t\t\tcs[cs.length++] = newChild;\n\t\t} else {\n\t\t\tvar child = el.firstChild;\n\t\t\tvar i = 0;\n\t\t\twhile (child) {\n\t\t\t\tcs[i++] = child;\n\t\t\t\tchild = child.nextSibling;\n\t\t\t}\n\t\t\tcs.length = i;\n\t\t\tdelete cs[cs.length];\n\t\t}\n\t}\n}\n\n/**\n * Removes the connections between `parentNode` and `child`\n * and any existing `child.previousSibling` or `child.nextSibling`.\n *\n * @see https://github.com/xmldom/xmldom/issues/135\n * @see https://github.com/xmldom/xmldom/issues/145\n *\n * @param {Node} parentNode\n * @param {Node} child\n * @returns {Node} the child that was removed.\n * @private\n */\nfunction _removeChild (parentNode, child) {\n\tvar previous = child.previousSibling;\n\tvar next = child.nextSibling;\n\tif (previous) {\n\t\tprevious.nextSibling = next;\n\t} else {\n\t\tparentNode.firstChild = next;\n\t}\n\tif (next) {\n\t\tnext.previousSibling = previous;\n\t} else {\n\t\tparentNode.lastChild = previous;\n\t}\n\tchild.parentNode = null;\n\tchild.previousSibling = null;\n\tchild.nextSibling = null;\n\t_onUpdateChild(parentNode.ownerDocument, parentNode);\n\treturn child;\n}\n\n/**\n * Returns `true` if `node` can be a parent for insertion.\n * @param {Node} node\n * @returns {boolean}\n */\nfunction hasValidParentNodeType(node) {\n\treturn (\n\t\tnode &&\n\t\t(node.nodeType === Node.DOCUMENT_NODE || node.nodeType === Node.DOCUMENT_FRAGMENT_NODE || node.nodeType === Node.ELEMENT_NODE)\n\t);\n}\n\n/**\n * Returns `true` if `node` can be inserted according to it's `nodeType`.\n * @param {Node} node\n * @returns {boolean}\n */\nfunction hasInsertableNodeType(node) {\n\treturn (\n\t\tnode &&\n\t\t(isElementNode(node) ||\n\t\t\tisTextNode(node) ||\n\t\t\tisDocTypeNode(node) ||\n\t\t\tnode.nodeType === Node.DOCUMENT_FRAGMENT_NODE ||\n\t\t\tnode.nodeType === Node.COMMENT_NODE ||\n\t\t\tnode.nodeType === Node.PROCESSING_INSTRUCTION_NODE)\n\t);\n}\n\n/**\n * Returns true if `node` is a DOCTYPE node\n * @param {Node} node\n * @returns {boolean}\n */\nfunction isDocTypeNode(node) {\n\treturn node && node.nodeType === Node.DOCUMENT_TYPE_NODE;\n}\n\n/**\n * Returns true if the node is an element\n * @param {Node} node\n * @returns {boolean}\n */\nfunction isElementNode(node) {\n\treturn node && node.nodeType === Node.ELEMENT_NODE;\n}\n/**\n * Returns true if `node` is a text node\n * @param {Node} node\n * @returns {boolean}\n */\nfunction isTextNode(node) {\n\treturn node && node.nodeType === Node.TEXT_NODE;\n}\n\n/**\n * Check if en element node can be inserted before `child`, or at the end if child is falsy,\n * according to the presence and position of a doctype node on the same level.\n *\n * @param {Document} doc The document node\n * @param {Node} child the node that would become the nextSibling if the element would be inserted\n * @returns {boolean} `true` if an element can be inserted before child\n * @private\n * https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n */\nfunction isElementInsertionPossible(doc, child) {\n\tvar parentChildNodes = doc.childNodes || [];\n\tif (find(parentChildNodes, isElementNode) || isDocTypeNode(child)) {\n\t\treturn false;\n\t}\n\tvar docTypeNode = find(parentChildNodes, isDocTypeNode);\n\treturn !(child && docTypeNode && parentChildNodes.indexOf(docTypeNode) > parentChildNodes.indexOf(child));\n}\n\n/**\n * Check if en element node can be inserted before `child`, or at the end if child is falsy,\n * according to the presence and position of a doctype node on the same level.\n *\n * @param {Node} doc The document node\n * @param {Node} child the node that would become the nextSibling if the element would be inserted\n * @returns {boolean} `true` if an element can be inserted before child\n * @private\n * https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n */\nfunction isElementReplacementPossible(doc, child) {\n\tvar parentChildNodes = doc.childNodes || [];\n\n\tfunction hasElementChildThatIsNotChild(node) {\n\t\treturn isElementNode(node) && node !== child;\n\t}\n\n\tif (find(parentChildNodes, hasElementChildThatIsNotChild)) {\n\t\treturn false;\n\t}\n\tvar docTypeNode = find(parentChildNodes, isDocTypeNode);\n\treturn !(child && docTypeNode && parentChildNodes.indexOf(docTypeNode) > parentChildNodes.indexOf(child));\n}\n\n/**\n * @private\n * Steps 1-5 of the checks before inserting and before replacing a child are the same.\n *\n * @param {Node} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node=} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n * @see https://dom.spec.whatwg.org/#concept-node-replace\n */\nfunction assertPreInsertionValidity1to5(parent, node, child) {\n\t// 1. If `parent` is not a Document, DocumentFragment, or Element node, then throw a \"HierarchyRequestError\" DOMException.\n\tif (!hasValidParentNodeType(parent)) {\n\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Unexpected parent node type ' + parent.nodeType);\n\t}\n\t// 2. If `node` is a host-including inclusive ancestor of `parent`, then throw a \"HierarchyRequestError\" DOMException.\n\t// not implemented!\n\t// 3. If `child` is non-null and its parent is not `parent`, then throw a \"NotFoundError\" DOMException.\n\tif (child && child.parentNode !== parent) {\n\t\tthrow new DOMException(NOT_FOUND_ERR, 'child not in parent');\n\t}\n\tif (\n\t\t// 4. If `node` is not a DocumentFragment, DocumentType, Element, or CharacterData node, then throw a \"HierarchyRequestError\" DOMException.\n\t\t!hasInsertableNodeType(node) ||\n\t\t// 5. If either `node` is a Text node and `parent` is a document,\n\t\t// the sax parser currently adds top level text nodes, this will be fixed in 0.9.0\n\t\t// || (node.nodeType === Node.TEXT_NODE && parent.nodeType === Node.DOCUMENT_NODE)\n\t\t// or `node` is a doctype and `parent` is not a document, then throw a \"HierarchyRequestError\" DOMException.\n\t\t(isDocTypeNode(node) && parent.nodeType !== Node.DOCUMENT_NODE)\n\t) {\n\t\tthrow new DOMException(\n\t\t\tHIERARCHY_REQUEST_ERR,\n\t\t\t'Unexpected node type ' + node.nodeType + ' for parent node type ' + parent.nodeType\n\t\t);\n\t}\n}\n\n/**\n * @private\n * Step 6 of the checks before inserting and before replacing a child are different.\n *\n * @param {Document} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node | undefined} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n * @see https://dom.spec.whatwg.org/#concept-node-replace\n */\nfunction assertPreInsertionValidityInDocument(parent, node, child) {\n\tvar parentChildNodes = parent.childNodes || [];\n\tvar nodeChildNodes = node.childNodes || [];\n\n\t// DocumentFragment\n\tif (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n\t\tvar nodeChildElements = nodeChildNodes.filter(isElementNode);\n\t\t// If node has more than one element child or has a Text node child.\n\t\tif (nodeChildElements.length > 1 || find(nodeChildNodes, isTextNode)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'More than one element or text in fragment');\n\t\t}\n\t\t// Otherwise, if `node` has one element child and either `parent` has an element child,\n\t\t// `child` is a doctype, or `child` is non-null and a doctype is following `child`.\n\t\tif (nodeChildElements.length === 1 && !isElementInsertionPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Element in fragment can not be inserted before doctype');\n\t\t}\n\t}\n\t// Element\n\tif (isElementNode(node)) {\n\t\t// `parent` has an element child, `child` is a doctype,\n\t\t// or `child` is non-null and a doctype is following `child`.\n\t\tif (!isElementInsertionPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one element can be added and only after doctype');\n\t\t}\n\t}\n\t// DocumentType\n\tif (isDocTypeNode(node)) {\n\t\t// `parent` has a doctype child,\n\t\tif (find(parentChildNodes, isDocTypeNode)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one doctype is allowed');\n\t\t}\n\t\tvar parentElementChild = find(parentChildNodes, isElementNode);\n\t\t// `child` is non-null and an element is preceding `child`,\n\t\tif (child && parentChildNodes.indexOf(parentElementChild) < parentChildNodes.indexOf(child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Doctype can only be inserted before an element');\n\t\t}\n\t\t// or `child` is null and `parent` has an element child.\n\t\tif (!child && parentElementChild) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Doctype can not be appended since element is present');\n\t\t}\n\t}\n}\n\n/**\n * @private\n * Step 6 of the checks before inserting and before replacing a child are different.\n *\n * @param {Document} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node | undefined} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n * @see https://dom.spec.whatwg.org/#concept-node-replace\n */\nfunction assertPreReplacementValidityInDocument(parent, node, child) {\n\tvar parentChildNodes = parent.childNodes || [];\n\tvar nodeChildNodes = node.childNodes || [];\n\n\t// DocumentFragment\n\tif (node.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n\t\tvar nodeChildElements = nodeChildNodes.filter(isElementNode);\n\t\t// If `node` has more than one element child or has a Text node child.\n\t\tif (nodeChildElements.length > 1 || find(nodeChildNodes, isTextNode)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'More than one element or text in fragment');\n\t\t}\n\t\t// Otherwise, if `node` has one element child and either `parent` has an element child that is not `child` or a doctype is following `child`.\n\t\tif (nodeChildElements.length === 1 && !isElementReplacementPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Element in fragment can not be inserted before doctype');\n\t\t}\n\t}\n\t// Element\n\tif (isElementNode(node)) {\n\t\t// `parent` has an element child that is not `child` or a doctype is following `child`.\n\t\tif (!isElementReplacementPossible(parent, child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one element can be added and only after doctype');\n\t\t}\n\t}\n\t// DocumentType\n\tif (isDocTypeNode(node)) {\n\t\tfunction hasDoctypeChildThatIsNotChild(node) {\n\t\t\treturn isDocTypeNode(node) && node !== child;\n\t\t}\n\n\t\t// `parent` has a doctype child that is not `child`,\n\t\tif (find(parentChildNodes, hasDoctypeChildThatIsNotChild)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Only one doctype is allowed');\n\t\t}\n\t\tvar parentElementChild = find(parentChildNodes, isElementNode);\n\t\t// or an element is preceding `child`.\n\t\tif (child && parentChildNodes.indexOf(parentElementChild) < parentChildNodes.indexOf(child)) {\n\t\t\tthrow new DOMException(HIERARCHY_REQUEST_ERR, 'Doctype can only be inserted before an element');\n\t\t}\n\t}\n}\n\n/**\n * @private\n * @param {Node} parent the parent node to insert `node` into\n * @param {Node} node the node to insert\n * @param {Node=} child the node that should become the `nextSibling` of `node`\n * @returns {Node}\n * @throws DOMException for several node combinations that would create a DOM that is not well-formed.\n * @throws DOMException if `child` is provided but is not a child of `parent`.\n * @see https://dom.spec.whatwg.org/#concept-node-ensure-pre-insertion-validity\n */\nfunction _insertBefore(parent, node, child, _inDocumentAssertion) {\n\t// To ensure pre-insertion validity of a node into a parent before a child, run these steps:\n\tassertPreInsertionValidity1to5(parent, node, child);\n\n\t// If parent is a document, and any of the statements below, switched on the interface node implements,\n\t// are true, then throw a \"HierarchyRequestError\" DOMException.\n\tif (parent.nodeType === Node.DOCUMENT_NODE) {\n\t\t(_inDocumentAssertion || assertPreInsertionValidityInDocument)(parent, node, child);\n\t}\n\n\tvar cp = node.parentNode;\n\tif(cp){\n\t\tcp.removeChild(node);//remove and update\n\t}\n\tif(node.nodeType === DOCUMENT_FRAGMENT_NODE){\n\t\tvar newFirst = node.firstChild;\n\t\tif (newFirst == null) {\n\t\t\treturn node;\n\t\t}\n\t\tvar newLast = node.lastChild;\n\t}else{\n\t\tnewFirst = newLast = node;\n\t}\n\tvar pre = child ? child.previousSibling : parent.lastChild;\n\n\tnewFirst.previousSibling = pre;\n\tnewLast.nextSibling = child;\n\n\n\tif(pre){\n\t\tpre.nextSibling = newFirst;\n\t}else{\n\t\tparent.firstChild = newFirst;\n\t}\n\tif(child == null){\n\t\tparent.lastChild = newLast;\n\t}else{\n\t\tchild.previousSibling = newLast;\n\t}\n\tdo{\n\t\tnewFirst.parentNode = parent;\n\t\t// Update ownerDocument for each node being inserted\n\t\tvar targetDoc = parent.ownerDocument || parent;\n\t\t_updateOwnerDocument(newFirst, targetDoc);\n\t}while(newFirst !== newLast && (newFirst= newFirst.nextSibling))\n\t_onUpdateChild(parent.ownerDocument||parent, parent);\n\t//console.log(parent.lastChild.nextSibling == null)\n\tif (node.nodeType == DOCUMENT_FRAGMENT_NODE) {\n\t\tnode.firstChild = node.lastChild = null;\n\t}\n\treturn node;\n}\n\n/**\n * Recursively updates the ownerDocument property for a node and all its descendants\n * @param {Node} node\n * @param {Document} newOwnerDocument\n * @private\n */\nfunction _updateOwnerDocument(node, newOwnerDocument) {\n\tif (node.ownerDocument === newOwnerDocument) {\n\t\treturn;\n\t}\n\t\n\tnode.ownerDocument = newOwnerDocument;\n\t\n\t// Update attributes if this is an element\n\tif (node.nodeType === ELEMENT_NODE && node.attributes) {\n\t\tfor (var i = 0; i < node.attributes.length; i++) {\n\t\t\tvar attr = node.attributes.item(i);\n\t\t\tif (attr) {\n\t\t\t\tattr.ownerDocument = newOwnerDocument;\n\t\t\t}\n\t\t}\n\t}\n\t\n\t// Recursively update child nodes\n\tvar child = node.firstChild;\n\twhile (child) {\n\t\t_updateOwnerDocument(child, newOwnerDocument);\n\t\tchild = child.nextSibling;\n\t}\n}\n\n/**\n * Appends `newChild` to `parentNode`.\n * If `newChild` is already connected to a `parentNode` it is first removed from it.\n *\n * @see https://github.com/xmldom/xmldom/issues/135\n * @see https://github.com/xmldom/xmldom/issues/145\n * @param {Node} parentNode\n * @param {Node} newChild\n * @returns {Node}\n * @private\n */\nfunction _appendSingleChild (parentNode, newChild) {\n\tif (newChild.parentNode) {\n\t\tnewChild.parentNode.removeChild(newChild);\n\t}\n\tnewChild.parentNode = parentNode;\n\tnewChild.previousSibling = parentNode.lastChild;\n\tnewChild.nextSibling = null;\n\tif (newChild.previousSibling) {\n\t\tnewChild.previousSibling.nextSibling = newChild;\n\t} else {\n\t\tparentNode.firstChild = newChild;\n\t}\n\tparentNode.lastChild = newChild;\n\t_onUpdateChild(parentNode.ownerDocument, parentNode, newChild);\n\t\n\t// Update ownerDocument for the new child and all its descendants\n\tvar targetDoc = parentNode.ownerDocument || parentNode;\n\t_updateOwnerDocument(newChild, targetDoc);\n\t\n\treturn newChild;\n}\n\nDocument.prototype = {\n\t//implementation : null,\n\tnodeName : '#document',\n\tnodeType : DOCUMENT_NODE,\n\t/**\n\t * The DocumentType node of the document.\n\t *\n\t * @readonly\n\t * @type DocumentType\n\t */\n\tdoctype : null,\n\tdocumentElement : null,\n\t_inc : 1,\n\n\tinsertBefore : function(newChild, refChild){//raises\n\t\tif(newChild.nodeType == DOCUMENT_FRAGMENT_NODE){\n\t\t\tvar child = newChild.firstChild;\n\t\t\twhile(child){\n\t\t\t\tvar next = child.nextSibling;\n\t\t\t\tthis.insertBefore(child,refChild);\n\t\t\t\tchild = next;\n\t\t\t}\n\t\t\treturn newChild;\n\t\t}\n\t\t_insertBefore(this, newChild, refChild);\n\t\t_updateOwnerDocument(newChild, this);\n\t\tif (this.documentElement === null && newChild.nodeType === ELEMENT_NODE) {\n\t\t\tthis.documentElement = newChild;\n\t\t}\n\n\t\treturn newChild;\n\t},\n\tremoveChild : function(oldChild){\n\t\tif(this.documentElement == oldChild){\n\t\t\tthis.documentElement = null;\n\t\t}\n\t\treturn _removeChild(this,oldChild);\n\t},\n\treplaceChild: function (newChild, oldChild) {\n\t\t//raises\n\t\t_insertBefore(this, newChild, oldChild, assertPreReplacementValidityInDocument);\n\t\t_updateOwnerDocument(newChild, this);\n\t\tif (oldChild) {\n\t\t\tthis.removeChild(oldChild);\n\t\t}\n\t\tif (isElementNode(newChild)) {\n\t\t\tthis.documentElement = newChild;\n\t\t}\n\t},\n\t// Introduced in DOM Level 2:\n\timportNode : function(importedNode,deep){\n\t\treturn importNode(this,importedNode,deep);\n\t},\n\t// Introduced in DOM Level 2:\n\tgetElementById :\tfunction(id){\n\t\tvar rtv = null;\n\t\t_visitNode(this.documentElement,function(node){\n\t\t\tif(node.nodeType == ELEMENT_NODE){\n\t\t\t\tif(node.getAttribute('id') == id){\n\t\t\t\t\trtv = node;\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\treturn rtv;\n\t},\n\n\t/**\n\t * The `getElementsByClassName` method of `Document` interface returns an array-like object\n\t * of all child elements which have **all** of the given class name(s).\n\t *\n\t * Returns an empty list if `classeNames` is an empty string or only contains HTML white space characters.\n\t *\n\t *\n\t * Warning: This is a live LiveNodeList.\n\t * Changes in the DOM will reflect in the array as the changes occur.\n\t * If an element selected by this array no longer qualifies for the selector,\n\t * it will automatically be removed. Be aware of this for iteration purposes.\n\t *\n\t * @param {string} classNames is a string representing the class name(s) to match; multiple class names are separated by (ASCII-)whitespace\n\t *\n\t * @see https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName\n\t * @see https://dom.spec.whatwg.org/#concept-getelementsbyclassname\n\t */\n\tgetElementsByClassName: function(classNames) {\n\t\tvar classNamesSet = toOrderedSet(classNames)\n\t\treturn new LiveNodeList(this, function(base) {\n\t\t\tvar ls = [];\n\t\t\tif (classNamesSet.length > 0) {\n\t\t\t\t_visitNode(base.documentElement, function(node) {\n\t\t\t\t\tif(node !== base && node.nodeType === ELEMENT_NODE) {\n\t\t\t\t\t\tvar nodeClassNames = node.getAttribute('class')\n\t\t\t\t\t\t// can be null if the attribute does not exist\n\t\t\t\t\t\tif (nodeClassNames) {\n\t\t\t\t\t\t\t// before splitting and iterating just compare them for the most common case\n\t\t\t\t\t\t\tvar matches = classNames === nodeClassNames;\n\t\t\t\t\t\t\tif (!matches) {\n\t\t\t\t\t\t\t\tvar nodeClassNamesSet = toOrderedSet(nodeClassNames)\n\t\t\t\t\t\t\t\tmatches = classNamesSet.every(arrayIncludes(nodeClassNamesSet))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif(matches) {\n\t\t\t\t\t\t\t\tls.push(node);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn ls;\n\t\t});\n\t},\n\n\t//document factory method:\n\tcreateElement :\tfunction(tagName){\n\t\tvar node = new Element();\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = tagName;\n\t\tnode.tagName = tagName;\n\t\tnode.localName = tagName;\n\t\tnode.childNodes = new NodeList();\n\t\tvar attrs\t= node.attributes = new NamedNodeMap();\n\t\tattrs._ownerElement = node;\n\t\treturn node;\n\t},\n\tcreateDocumentFragment :\tfunction(){\n\t\tvar node = new DocumentFragment();\n\t\tnode.ownerDocument = this;\n\t\tnode.childNodes = new NodeList();\n\t\treturn node;\n\t},\n\tcreateTextNode :\tfunction(data){\n\t\tvar node = new Text();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateComment :\tfunction(data){\n\t\tvar node = new Comment();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateCDATASection :\tfunction(data){\n\t\tvar node = new CDATASection();\n\t\tnode.ownerDocument = this;\n\t\tnode.appendData(data)\n\t\treturn node;\n\t},\n\tcreateProcessingInstruction :\tfunction(target,data){\n\t\tvar node = new ProcessingInstruction();\n\t\tnode.ownerDocument = this;\n\t\tnode.tagName = node.nodeName = node.target = target;\n\t\tnode.nodeValue = node.data = data;\n\t\treturn node;\n\t},\n\tcreateAttribute :\tfunction(name){\n\t\tvar node = new Attr();\n\t\tnode.ownerDocument\t= this;\n\t\tnode.name = name;\n\t\tnode.nodeName\t= name;\n\t\tnode.localName = name;\n\t\tnode.specified = true;\n\t\treturn node;\n\t},\n\tcreateEntityReference :\tfunction(name){\n\t\tvar node = new EntityReference();\n\t\tnode.ownerDocument\t= this;\n\t\tnode.nodeName\t= name;\n\t\treturn node;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateElementNS :\tfunction(namespaceURI,qualifiedName){\n\t\tvar node = new Element();\n\t\tvar pl = qualifiedName.split(':');\n\t\tvar attrs\t= node.attributes = new NamedNodeMap();\n\t\tnode.childNodes = new NodeList();\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.tagName = qualifiedName;\n\t\tnode.namespaceURI = namespaceURI;\n\t\tif(pl.length == 2){\n\t\t\tnode.prefix = pl[0];\n\t\t\tnode.localName = pl[1];\n\t\t}else{\n\t\t\t//el.prefix = null;\n\t\t\tnode.localName = qualifiedName;\n\t\t}\n\t\tattrs._ownerElement = node;\n\t\treturn node;\n\t},\n\t// Introduced in DOM Level 2:\n\tcreateAttributeNS :\tfunction(namespaceURI,qualifiedName){\n\t\tvar node = new Attr();\n\t\tvar pl = qualifiedName.split(':');\n\t\tnode.ownerDocument = this;\n\t\tnode.nodeName = qualifiedName;\n\t\tnode.name = qualifiedName;\n\t\tnode.namespaceURI = namespaceURI;\n\t\tnode.specified = true;\n\t\tif(pl.length == 2){\n\t\t\tnode.prefix = pl[0];\n\t\t\tnode.localName = pl[1];\n\t\t}else{\n\t\t\t//el.prefix = null;\n\t\t\tnode.localName = qualifiedName;\n\t\t}\n\t\treturn node;\n\t}\n};\n_extends(Document,Node);\n\n\nfunction Element() {\n\tthis._nsMap = {};\n};\nElement.prototype = {\n\tnodeType : ELEMENT_NODE,\n\thasAttribute : function(name){\n\t\treturn this.getAttributeNode(name)!=null;\n\t},\n\tgetAttribute : function(name){\n\t\tvar attr = this.getAttributeNode(name);\n\t\treturn attr && attr.value || '';\n\t},\n\tgetAttributeNode : function(name){\n\t\treturn this.attributes.getNamedItem(name);\n\t},\n\tsetAttribute : function(name, value){\n\t\tvar attr = this.ownerDocument.createAttribute(name);\n\t\tattr.value = attr.nodeValue = \"\" + value;\n\t\tthis.setAttributeNode(attr)\n\t},\n\tremoveAttribute : function(name){\n\t\tvar attr = this.getAttributeNode(name)\n\t\tattr && this.removeAttributeNode(attr);\n\t},\n\n\t//four real opeartion method\n\tappendChild:function(newChild){\n\t\tif(newChild.nodeType === DOCUMENT_FRAGMENT_NODE){\n\t\t\treturn this.insertBefore(newChild,null);\n\t\t}else{\n\t\t\treturn _appendSingleChild(this,newChild);\n\t\t}\n\t},\n\tsetAttributeNode : function(newAttr){\n\t\treturn this.attributes.setNamedItem(newAttr);\n\t},\n\tsetAttributeNodeNS : function(newAttr){\n\t\treturn this.attributes.setNamedItemNS(newAttr);\n\t},\n\tremoveAttributeNode : function(oldAttr){\n\t\t//console.log(this == oldAttr.ownerElement)\n\t\treturn this.attributes.removeNamedItem(oldAttr.nodeName);\n\t},\n\t//get real attribute name,and remove it by removeAttributeNode\n\tremoveAttributeNS : function(namespaceURI, localName){\n\t\tvar old = this.getAttributeNodeNS(namespaceURI, localName);\n\t\told && this.removeAttributeNode(old);\n\t},\n\n\thasAttributeNS : function(namespaceURI, localName){\n\t\treturn this.getAttributeNodeNS(namespaceURI, localName)!=null;\n\t},\n\tgetAttributeNS : function(namespaceURI, localName){\n\t\tvar attr = this.getAttributeNodeNS(namespaceURI, localName);\n\t\treturn attr && attr.value || '';\n\t},\n\tsetAttributeNS : function(namespaceURI, qualifiedName, value){\n\t\tvar attr = this.ownerDocument.createAttributeNS(namespaceURI, qualifiedName);\n\t\tattr.value = attr.nodeValue = \"\" + value;\n\t\tthis.setAttributeNode(attr)\n\t},\n\tgetAttributeNodeNS : function(namespaceURI, localName){\n\t\treturn this.attributes.getNamedItemNS(namespaceURI, localName);\n\t},\n\n\tgetElementsByTagName : function(tagName){\n\t\treturn new LiveNodeList(this,function(base){\n\t\t\tvar ls = [];\n\t\t\t_visitNode(base,function(node){\n\t\t\t\tif(node !== base && node.nodeType == ELEMENT_NODE && (tagName === '*' || node.tagName == tagName)){\n\t\t\t\t\tls.push(node);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn ls;\n\t\t});\n\t},\n\tgetElementsByTagNameNS : function(namespaceURI, localName){\n\t\treturn new LiveNodeList(this,function(base){\n\t\t\tvar ls = [];\n\t\t\t_visitNode(base,function(node){\n\t\t\t\tif(node !== base && node.nodeType === ELEMENT_NODE && (namespaceURI === '*' || node.namespaceURI === namespaceURI) && (localName === '*' || node.localName == localName)){\n\t\t\t\t\tls.push(node);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn ls;\n\n\t\t});\n\t}\n};\nDocument.prototype.getElementsByTagName = Element.prototype.getElementsByTagName;\nDocument.prototype.getElementsByTagNameNS = Element.prototype.getElementsByTagNameNS;\n\n\n_extends(Element,Node);\nfunction Attr() {\n};\nAttr.prototype.nodeType = ATTRIBUTE_NODE;\n_extends(Attr,Node);\n\n\nfunction CharacterData() {\n};\nCharacterData.prototype = {\n\tdata : '',\n\tsubstringData : function(offset, count) {\n\t\treturn this.data.substring(offset, offset+count);\n\t},\n\tappendData: function(text) {\n\t\ttext = this.data+text;\n\t\tthis.nodeValue = this.data = text;\n\t\tthis.length = text.length;\n\t},\n\tinsertData: function(offset,text) {\n\t\tthis.replaceData(offset,0,text);\n\n\t},\n\tappendChild:function(newChild){\n\t\tthrow new Error(ExceptionMessage[HIERARCHY_REQUEST_ERR])\n\t},\n\tdeleteData: function(offset, count) {\n\t\tthis.replaceData(offset,count,\"\");\n\t},\n\treplaceData: function(offset, count, text) {\n\t\tvar start = this.data.substring(0,offset);\n\t\tvar end = this.data.substring(offset+count);\n\t\ttext = start + text + end;\n\t\tthis.nodeValue = this.data = text;\n\t\tthis.length = text.length;\n\t}\n}\n_extends(CharacterData,Node);\nfunction Text() {\n};\nText.prototype = {\n\tnodeName : \"#text\",\n\tnodeType : TEXT_NODE,\n\tsplitText : function(offset) {\n\t\tvar text = this.data;\n\t\tvar newText = text.substring(offset);\n\t\ttext = text.substring(0, offset);\n\t\tthis.data = this.nodeValue = text;\n\t\tthis.length = text.length;\n\t\tvar newNode = this.ownerDocument.createTextNode(newText);\n\t\tif(this.parentNode){\n\t\t\tthis.parentNode.insertBefore(newNode, this.nextSibling);\n\t\t}\n\t\treturn newNode;\n\t}\n}\n_extends(Text,CharacterData);\nfunction Comment() {\n};\nComment.prototype = {\n\tnodeName : \"#comment\",\n\tnodeType : COMMENT_NODE\n}\n_extends(Comment,CharacterData);\n\nfunction CDATASection() {\n};\nCDATASection.prototype = {\n\tnodeName : \"#cdata-section\",\n\tnodeType : CDATA_SECTION_NODE\n}\n_extends(CDATASection,CharacterData);\n\n\nfunction DocumentType() {\n};\nDocumentType.prototype.nodeType = DOCUMENT_TYPE_NODE;\n_extends(DocumentType,Node);\n\nfunction Notation() {\n};\nNotation.prototype.nodeType = NOTATION_NODE;\n_extends(Notation,Node);\n\nfunction Entity() {\n};\nEntity.prototype.nodeType = ENTITY_NODE;\n_extends(Entity,Node);\n\nfunction EntityReference() {\n};\nEntityReference.prototype.nodeType = ENTITY_REFERENCE_NODE;\n_extends(EntityReference,Node);\n\nfunction DocumentFragment() {\n};\nDocumentFragment.prototype.nodeName =\t\"#document-fragment\";\nDocumentFragment.prototype.nodeType =\tDOCUMENT_FRAGMENT_NODE;\n_extends(DocumentFragment,Node);\n\n\nfunction ProcessingInstruction() {\n}\nProcessingInstruction.prototype.nodeType = PROCESSING_INSTRUCTION_NODE;\n_extends(ProcessingInstruction,Node);\nfunction XMLSerializer(){}\nXMLSerializer.prototype.serializeToString = function(node,isHtml,nodeFilter){\n\treturn nodeSerializeToString.call(node,isHtml,nodeFilter);\n}\nNode.prototype.toString = nodeSerializeToString;\nfunction nodeSerializeToString(isHtml,nodeFilter){\n\tvar buf = [];\n\tvar refNode = this.nodeType == 9 && this.documentElement || this;\n\tvar prefix = refNode.prefix;\n\tvar uri = refNode.namespaceURI;\n\n\tif(uri && prefix == null){\n\t\t//console.log(prefix)\n\t\tvar prefix = refNode.lookupPrefix(uri);\n\t\tif(prefix == null){\n\t\t\t//isHTML = true;\n\t\t\tvar visibleNamespaces=[\n\t\t\t{namespace:uri,prefix:null}\n\t\t\t//{namespace:uri,prefix:''}\n\t\t\t]\n\t\t}\n\t}\n\tserializeToString(this,buf,isHtml,nodeFilter,visibleNamespaces);\n\t//console.log('###',this.nodeType,uri,prefix,buf.join(''))\n\treturn buf.join('');\n}\n\nfunction needNamespaceDefine(node, isHTML, visibleNamespaces) {\n\tvar prefix = node.prefix || '';\n\tvar uri = node.namespaceURI;\n\t// According to [Namespaces in XML 1.0](https://www.w3.org/TR/REC-xml-names/#ns-using) ,\n\t// and more specifically https://www.w3.org/TR/REC-xml-names/#nsc-NoPrefixUndecl :\n\t// > In a namespace declaration for a prefix [...], the attribute value MUST NOT be empty.\n\t// in a similar manner [Namespaces in XML 1.1](https://www.w3.org/TR/xml-names11/#ns-using)\n\t// and more specifically https://www.w3.org/TR/xml-names11/#nsc-NSDeclared :\n\t// > [...] Furthermore, the attribute value [...] must not be an empty string.\n\t// so serializing empty namespace value like xmlns:ds=\"\" would produce an invalid XML document.\n\tif (!uri) {\n\t\treturn false;\n\t}\n\tif (prefix === \"xml\" && uri === NAMESPACE.XML || uri === NAMESPACE.XMLNS) {\n\t\treturn false;\n\t}\n\n\tvar i = visibleNamespaces.length\n\twhile (i--) {\n\t\tvar ns = visibleNamespaces[i];\n\t\t// get namespace prefix\n\t\tif (ns.prefix === prefix) {\n\t\t\treturn ns.namespace !== uri;\n\t\t}\n\t}\n\treturn true;\n}\n/**\n * Well-formed constraint: No < in Attribute Values\n * > The replacement text of any entity referred to directly or indirectly\n * > in an attribute value must not contain a <.\n * @see https://www.w3.org/TR/xml11/#CleanAttrVals\n * @see https://www.w3.org/TR/xml11/#NT-AttValue\n *\n * Literal whitespace other than space that appear in attribute values\n * are serialized as their entity references, so they will be preserved.\n * (In contrast to whitespace literals in the input which are normalized to spaces)\n * @see https://www.w3.org/TR/xml11/#AVNormalize\n * @see https://w3c.github.io/DOM-Parsing/#serializing-an-element-s-attributes\n */\nfunction addSerializedAttribute(buf, qualifiedName, value) {\n\tbuf.push(' ', qualifiedName, '=\"', value.replace(/[<>&\"\\t\\n\\r]/g, _xmlEncoder), '\"')\n}\n\nfunction serializeToString(node,buf,isHTML,nodeFilter,visibleNamespaces){\n\tif (!visibleNamespaces) {\n\t\tvisibleNamespaces = [];\n\t}\n\n\tif(nodeFilter){\n\t\tnode = nodeFilter(node);\n\t\tif(node){\n\t\t\tif(typeof node == 'string'){\n\t\t\t\tbuf.push(node);\n\t\t\t\treturn;\n\t\t\t}\n\t\t}else{\n\t\t\treturn;\n\t\t}\n\t\t//buf.sort.apply(attrs, attributeSorter);\n\t}\n\n\tswitch(node.nodeType){\n\tcase ELEMENT_NODE:\n\t\tvar attrs = node.attributes;\n\t\tvar len = attrs.length;\n\t\tvar child = node.firstChild;\n\t\tvar nodeName = node.tagName;\n\n\t\tisHTML = NAMESPACE.isHTML(node.namespaceURI) || isHTML\n\n\t\tvar prefixedNodeName = nodeName\n\t\tif (!isHTML && !node.prefix && node.namespaceURI) {\n\t\t\tvar defaultNS\n\t\t\t// lookup current default ns from `xmlns` attribute\n\t\t\tfor (var ai = 0; ai < attrs.length; ai++) {\n\t\t\t\tif (attrs.item(ai).name === 'xmlns') {\n\t\t\t\t\tdefaultNS = attrs.item(ai).value\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (!defaultNS) {\n\t\t\t\t// lookup current default ns in visibleNamespaces\n\t\t\t\tfor (var nsi = visibleNamespaces.length - 1; nsi >= 0; nsi--) {\n\t\t\t\t\tvar namespace = visibleNamespaces[nsi]\n\t\t\t\t\tif (namespace.prefix === '' && namespace.namespace === node.namespaceURI) {\n\t\t\t\t\t\tdefaultNS = namespace.namespace\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (defaultNS !== node.namespaceURI) {\n\t\t\t\tfor (var nsi = visibleNamespaces.length - 1; nsi >= 0; nsi--) {\n\t\t\t\t\tvar namespace = visibleNamespaces[nsi]\n\t\t\t\t\tif (namespace.namespace === node.namespaceURI) {\n\t\t\t\t\t\tif (namespace.prefix) {\n\t\t\t\t\t\t\tprefixedNodeName = namespace.prefix + ':' + nodeName\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tbuf.push('<', prefixedNodeName);\n\n\t\tfor(var i=0;i<len;i++){\n\t\t\t// add namespaces for attributes\n\t\t\tvar attr = attrs.item(i);\n\t\t\tif (attr.prefix == 'xmlns') {\n\t\t\t\tvisibleNamespaces.push({ prefix: attr.localName, namespace: attr.value });\n\t\t\t}else if(attr.nodeName == 'xmlns'){\n\t\t\t\tvisibleNamespaces.push({ prefix: '', namespace: attr.value });\n\t\t\t}\n\t\t}\n\n\t\tfor(var i=0;i<len;i++){\n\t\t\tvar attr = attrs.item(i);\n\t\t\tif (needNamespaceDefine(attr,isHTML, visibleNamespaces)) {\n\t\t\t\tvar prefix = attr.prefix||'';\n\t\t\t\tvar uri = attr.namespaceURI;\n\t\t\t\taddSerializedAttribute(buf, prefix ? 'xmlns:' + prefix : \"xmlns\", uri);\n\t\t\t\tvisibleNamespaces.push({ prefix: prefix, namespace:uri });\n\t\t\t}\n\t\t\tserializeToString(attr,buf,isHTML,nodeFilter,visibleNamespaces);\n\t\t}\n\n\t\t// add namespace for current node\n\t\tif (nodeName === prefixedNodeName && needNamespaceDefine(node, isHTML, visibleNamespaces)) {\n\t\t\tvar prefix = node.prefix||'';\n\t\t\tvar uri = node.namespaceURI;\n\t\t\taddSerializedAttribute(buf, prefix ? 'xmlns:' + prefix : \"xmlns\", uri);\n\t\t\tvisibleNamespaces.push({ prefix: prefix, namespace:uri });\n\t\t}\n\n\t\tif(child || isHTML && !/^(?:meta|link|img|br|hr|input)$/i.test(nodeName)){\n\t\t\tbuf.push('>');\n\t\t\t//if is cdata child node\n\t\t\tif(isHTML && /^script$/i.test(nodeName)){\n\t\t\t\twhile(child){\n\t\t\t\t\tif(child.data){\n\t\t\t\t\t\tbuf.push(child.data);\n\t\t\t\t\t}else{\n\t\t\t\t\t\tserializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());\n\t\t\t\t\t}\n\t\t\t\t\tchild = child.nextSibling;\n\t\t\t\t}\n\t\t\t}else\n\t\t\t{\n\t\t\t\twhile(child){\n\t\t\t\t\tserializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());\n\t\t\t\t\tchild = child.nextSibling;\n\t\t\t\t}\n\t\t\t}\n\t\t\tbuf.push('</',prefixedNodeName,'>');\n\t\t}else{\n\t\t\tbuf.push('/>');\n\t\t}\n\t\t// remove added visible namespaces\n\t\t//visibleNamespaces.length = startVisibleNamespaces;\n\t\treturn;\n\tcase DOCUMENT_NODE:\n\tcase DOCUMENT_FRAGMENT_NODE:\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tserializeToString(child, buf, isHTML, nodeFilter, visibleNamespaces.slice());\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t\treturn;\n\tcase ATTRIBUTE_NODE:\n\t\treturn addSerializedAttribute(buf, node.name, node.value);\n\tcase TEXT_NODE:\n\t\t/**\n\t\t * The ampersand character (&) and the left angle bracket (<) must not appear in their literal form,\n\t\t * except when used as markup delimiters, or within a comment, a processing instruction, or a CDATA section.\n\t\t * If they are needed elsewhere, they must be escaped using either numeric character references or the strings\n\t\t * `&` and `<` respectively.\n\t\t * The right angle bracket (>) may be represented using the string \" > \", and must, for compatibility,\n\t\t * be escaped using either `>` or a character reference when it appears in the string `]]>` in content,\n\t\t * when that string is not marking the end of a CDATA section.\n\t\t *\n\t\t * In the content of elements, character data is any string of characters\n\t\t * which does not contain the start-delimiter of any markup\n\t\t * and does not include the CDATA-section-close delimiter, `]]>`.\n\t\t *\n\t\t * @see https://www.w3.org/TR/xml/#NT-CharData\n\t\t * @see https://w3c.github.io/DOM-Parsing/#xml-serializing-a-text-node\n\t\t */\n\t\treturn buf.push(node.data\n\t\t\t.replace(/[<&>]/g,_xmlEncoder)\n\t\t);\n\tcase CDATA_SECTION_NODE:\n\t\treturn buf.push( '<![CDATA[',node.data,']]>');\n\tcase COMMENT_NODE:\n\t\treturn buf.push( \"<!--\",node.data,\"-->\");\n\tcase DOCUMENT_TYPE_NODE:\n\t\tvar pubid = node.publicId;\n\t\tvar sysid = node.systemId;\n\t\tbuf.push('<!DOCTYPE ',node.name);\n\t\tif(pubid){\n\t\t\tbuf.push(' PUBLIC ', pubid);\n\t\t\tif (sysid && sysid!='.') {\n\t\t\t\tbuf.push(' ', sysid);\n\t\t\t}\n\t\t\tbuf.push('>');\n\t\t}else if(sysid && sysid!='.'){\n\t\t\tbuf.push(' SYSTEM ', sysid, '>');\n\t\t}else{\n\t\t\tvar sub = node.internalSubset;\n\t\t\tif(sub){\n\t\t\t\tbuf.push(\" [\",sub,\"]\");\n\t\t\t}\n\t\t\tbuf.push(\">\");\n\t\t}\n\t\treturn;\n\tcase PROCESSING_INSTRUCTION_NODE:\n\t\treturn buf.push( \"<?\",node.target,\" \",node.data,\"?>\");\n\tcase ENTITY_REFERENCE_NODE:\n\t\treturn buf.push( '&',node.nodeName,';');\n\t//case ENTITY_NODE:\n\t//case NOTATION_NODE:\n\tdefault:\n\t\tbuf.push('??',node.nodeName);\n\t}\n}\nfunction importNode(doc,node,deep){\n\tvar node2;\n\tswitch (node.nodeType) {\n\tcase ELEMENT_NODE:\n\t\tnode2 = node.cloneNode(false);\n\t\tnode2.ownerDocument = doc;\n\t\t//var attrs = node2.attributes;\n\t\t//var len = attrs.length;\n\t\t//for(var i=0;i<len;i++){\n\t\t\t//node2.setAttributeNodeNS(importNode(doc,attrs.item(i),deep));\n\t\t//}\n\tcase DOCUMENT_FRAGMENT_NODE:\n\t\tbreak;\n\tcase ATTRIBUTE_NODE:\n\t\tdeep = true;\n\t\tbreak;\n\t//case ENTITY_REFERENCE_NODE:\n\t//case PROCESSING_INSTRUCTION_NODE:\n\t////case TEXT_NODE:\n\t//case CDATA_SECTION_NODE:\n\t//case COMMENT_NODE:\n\t//\tdeep = false;\n\t//\tbreak;\n\t//case DOCUMENT_NODE:\n\t//case DOCUMENT_TYPE_NODE:\n\t//cannot be imported.\n\t//case ENTITY_NODE:\n\t//case NOTATION_NODE:\n\t//can not hit in level3\n\t//default:throw e;\n\t}\n\tif(!node2){\n\t\tnode2 = node.cloneNode(false);//false\n\t}\n\tnode2.ownerDocument = doc;\n\tnode2.parentNode = null;\n\tif(deep){\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tnode2.appendChild(importNode(doc,child,deep));\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t}\n\treturn node2;\n}\n//\n//var _relationMap = {firstChild:1,lastChild:1,previousSibling:1,nextSibling:1,\n//\t\t\t\t\tattributes:1,childNodes:1,parentNode:1,documentElement:1,doctype,};\nfunction cloneNode(doc,node,deep){\n\tvar node2 = new node.constructor();\n\tfor (var n in node) {\n\t\tif (Object.prototype.hasOwnProperty.call(node, n)) {\n\t\t\tvar v = node[n];\n\t\t\tif (typeof v != \"object\") {\n\t\t\t\tif (v != node2[n]) {\n\t\t\t\t\tnode2[n] = v;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tif(node.childNodes){\n\t\tnode2.childNodes = new NodeList();\n\t}\n\tnode2.ownerDocument = doc;\n\tswitch (node2.nodeType) {\n\tcase ELEMENT_NODE:\n\t\tvar attrs\t= node.attributes;\n\t\tvar attrs2\t= node2.attributes = new NamedNodeMap();\n\t\tvar len = attrs.length\n\t\tattrs2._ownerElement = node2;\n\t\tfor(var i=0;i<len;i++){\n\t\t\tnode2.setAttributeNode(cloneNode(doc,attrs.item(i),true));\n\t\t}\n\t\tbreak;;\n\tcase ATTRIBUTE_NODE:\n\t\tdeep = true;\n\t}\n\tif(deep){\n\t\tvar child = node.firstChild;\n\t\twhile(child){\n\t\t\tnode2.appendChild(cloneNode(doc,child,deep));\n\t\t\tchild = child.nextSibling;\n\t\t}\n\t}\n\treturn node2;\n}\n\nfunction __set__(object,key,value){\n\tobject[key] = value\n}\n//do dynamic\ntry{\n\tif(Object.defineProperty){\n\t\tObject.defineProperty(LiveNodeList.prototype,'length',{\n\t\t\tget:function(){\n\t\t\t\t_updateLiveList(this);\n\t\t\t\treturn this.$$length;\n\t\t\t}\n\t\t});\n\n\t\tObject.defineProperty(Node.prototype,'textContent',{\n\t\t\tget:function(){\n\t\t\t\treturn getTextContent(this);\n\t\t\t},\n\n\t\t\tset:function(data){\n\t\t\t\tswitch(this.nodeType){\n\t\t\t\tcase ELEMENT_NODE:\n\t\t\t\tcase DOCUMENT_FRAGMENT_NODE:\n\t\t\t\t\twhile(this.firstChild){\n\t\t\t\t\t\tthis.removeChild(this.firstChild);\n\t\t\t\t\t}\n\t\t\t\t\tif(data || String(data)){\n\t\t\t\t\t\tthis.appendChild(this.ownerDocument.createTextNode(data));\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\n\t\t\t\tdefault:\n\t\t\t\t\tthis.data = data;\n\t\t\t\t\tthis.value = data;\n\t\t\t\t\tthis.nodeValue = data;\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\n\t\tfunction getTextContent(node){\n\t\t\tswitch(node.nodeType){\n\t\t\tcase ELEMENT_NODE:\n\t\t\tcase DOCUMENT_FRAGMENT_NODE:\n\t\t\t\tvar buf = [];\n\t\t\t\tnode = node.firstChild;\n\t\t\t\twhile(node){\n\t\t\t\t\tif(node.nodeType!==7 && node.nodeType !==8){\n\t\t\t\t\t\tbuf.push(getTextContent(node));\n\t\t\t\t\t}\n\t\t\t\t\tnode = node.nextSibling;\n\t\t\t\t}\n\t\t\t\treturn buf.join('');\n\t\t\tdefault:\n\t\t\t\treturn node.nodeValue;\n\t\t\t}\n\t\t}\n\n\t\t__set__ = function(object,key,value){\n\t\t\t//console.log(value)\n\t\t\tobject['$$'+key] = value\n\t\t}\n\t}\n}catch(e){//ie8\n}\n\n//if(typeof require == 'function'){\n\texports.DocumentType = DocumentType;\n\texports.DOMException = DOMException;\n\texports.DOMImplementation = DOMImplementation;\n\texports.Element = Element;\n\texports.Node = Node;\n\texports.NodeList = NodeList;\n\texports.XMLSerializer = XMLSerializer;\n//}\n","'use strict';\n\nvar freeze = require('./conventions').freeze;\n\n/**\n * The entities that are predefined in every XML document.\n *\n * @see https://www.w3.org/TR/2006/REC-xml11-20060816/#sec-predefined-ent W3C XML 1.1\n * @see https://www.w3.org/TR/2008/REC-xml-20081126/#sec-predefined-ent W3C XML 1.0\n * @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Predefined_entities_in_XML Wikipedia\n */\nexports.XML_ENTITIES = freeze({\n\tamp: '&',\n\tapos: \"'\",\n\tgt: '>',\n\tlt: '<',\n\tquot: '\"',\n});\n\n/**\n * A map of all entities that are detected in an HTML document.\n * They contain all entries from `XML_ENTITIES`.\n *\n * @see XML_ENTITIES\n * @see DOMParser.parseFromString\n * @see DOMImplementation.prototype.createHTMLDocument\n * @see https://html.spec.whatwg.org/#named-character-references WHATWG HTML(5) Spec\n * @see https://html.spec.whatwg.org/entities.json JSON\n * @see https://www.w3.org/TR/xml-entity-names/ W3C XML Entity Names\n * @see https://www.w3.org/TR/html4/sgml/entities.html W3C HTML4/SGML\n * @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Character_entity_references_in_HTML Wikipedia (HTML)\n * @see https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Entities_representing_special_characters_in_XHTML Wikpedia (XHTML)\n */\nexports.HTML_ENTITIES = freeze({\n\tAacute: '\\u00C1',\n\taacute: '\\u00E1',\n\tAbreve: '\\u0102',\n\tabreve: '\\u0103',\n\tac: '\\u223E',\n\tacd: '\\u223F',\n\tacE: '\\u223E\\u0333',\n\tAcirc: '\\u00C2',\n\tacirc: '\\u00E2',\n\tacute: '\\u00B4',\n\tAcy: '\\u0410',\n\tacy: '\\u0430',\n\tAElig: '\\u00C6',\n\taelig: '\\u00E6',\n\taf: '\\u2061',\n\tAfr: '\\uD835\\uDD04',\n\tafr: '\\uD835\\uDD1E',\n\tAgrave: '\\u00C0',\n\tagrave: '\\u00E0',\n\talefsym: '\\u2135',\n\taleph: '\\u2135',\n\tAlpha: '\\u0391',\n\talpha: '\\u03B1',\n\tAmacr: '\\u0100',\n\tamacr: '\\u0101',\n\tamalg: '\\u2A3F',\n\tAMP: '\\u0026',\n\tamp: '\\u0026',\n\tAnd: '\\u2A53',\n\tand: '\\u2227',\n\tandand: '\\u2A55',\n\tandd: '\\u2A5C',\n\tandslope: '\\u2A58',\n\tandv: '\\u2A5A',\n\tang: '\\u2220',\n\tange: '\\u29A4',\n\tangle: '\\u2220',\n\tangmsd: '\\u2221',\n\tangmsdaa: '\\u29A8',\n\tangmsdab: '\\u29A9',\n\tangmsdac: '\\u29AA',\n\tangmsdad: '\\u29AB',\n\tangmsdae: '\\u29AC',\n\tangmsdaf: '\\u29AD',\n\tangmsdag: '\\u29AE',\n\tangmsdah: '\\u29AF',\n\tangrt: '\\u221F',\n\tangrtvb: '\\u22BE',\n\tangrtvbd: '\\u299D',\n\tangsph: '\\u2222',\n\tangst: '\\u00C5',\n\tangzarr: '\\u237C',\n\tAogon: '\\u0104',\n\taogon: '\\u0105',\n\tAopf: '\\uD835\\uDD38',\n\taopf: '\\uD835\\uDD52',\n\tap: '\\u2248',\n\tapacir: '\\u2A6F',\n\tapE: '\\u2A70',\n\tape: '\\u224A',\n\tapid: '\\u224B',\n\tapos: '\\u0027',\n\tApplyFunction: '\\u2061',\n\tapprox: '\\u2248',\n\tapproxeq: '\\u224A',\n\tAring: '\\u00C5',\n\taring: '\\u00E5',\n\tAscr: '\\uD835\\uDC9C',\n\tascr: '\\uD835\\uDCB6',\n\tAssign: '\\u2254',\n\tast: '\\u002A',\n\tasymp: '\\u2248',\n\tasympeq: '\\u224D',\n\tAtilde: '\\u00C3',\n\tatilde: '\\u00E3',\n\tAuml: '\\u00C4',\n\tauml: '\\u00E4',\n\tawconint: '\\u2233',\n\tawint: '\\u2A11',\n\tbackcong: '\\u224C',\n\tbackepsilon: '\\u03F6',\n\tbackprime: '\\u2035',\n\tbacksim: '\\u223D',\n\tbacksimeq: '\\u22CD',\n\tBackslash: '\\u2216',\n\tBarv: '\\u2AE7',\n\tbarvee: '\\u22BD',\n\tBarwed: '\\u2306',\n\tbarwed: '\\u2305',\n\tbarwedge: '\\u2305',\n\tbbrk: '\\u23B5',\n\tbbrktbrk: '\\u23B6',\n\tbcong: '\\u224C',\n\tBcy: '\\u0411',\n\tbcy: '\\u0431',\n\tbdquo: '\\u201E',\n\tbecaus: '\\u2235',\n\tBecause: '\\u2235',\n\tbecause: '\\u2235',\n\tbemptyv: '\\u29B0',\n\tbepsi: '\\u03F6',\n\tbernou: '\\u212C',\n\tBernoullis: '\\u212C',\n\tBeta: '\\u0392',\n\tbeta: '\\u03B2',\n\tbeth: '\\u2136',\n\tbetween: '\\u226C',\n\tBfr: '\\uD835\\uDD05',\n\tbfr: '\\uD835\\uDD1F',\n\tbigcap: '\\u22C2',\n\tbigcirc: '\\u25EF',\n\tbigcup: '\\u22C3',\n\tbigodot: '\\u2A00',\n\tbigoplus: '\\u2A01',\n\tbigotimes: '\\u2A02',\n\tbigsqcup: '\\u2A06',\n\tbigstar: '\\u2605',\n\tbigtriangledown: '\\u25BD',\n\tbigtriangleup: '\\u25B3',\n\tbiguplus: '\\u2A04',\n\tbigvee: '\\u22C1',\n\tbigwedge: '\\u22C0',\n\tbkarow: '\\u290D',\n\tblacklozenge: '\\u29EB',\n\tblacksquare: '\\u25AA',\n\tblacktriangle: '\\u25B4',\n\tblacktriangledown: '\\u25BE',\n\tblacktriangleleft: '\\u25C2',\n\tblacktriangleright: '\\u25B8',\n\tblank: '\\u2423',\n\tblk12: '\\u2592',\n\tblk14: '\\u2591',\n\tblk34: '\\u2593',\n\tblock: '\\u2588',\n\tbne: '\\u003D\\u20E5',\n\tbnequiv: '\\u2261\\u20E5',\n\tbNot: '\\u2AED',\n\tbnot: '\\u2310',\n\tBopf: '\\uD835\\uDD39',\n\tbopf: '\\uD835\\uDD53',\n\tbot: '\\u22A5',\n\tbottom: '\\u22A5',\n\tbowtie: '\\u22C8',\n\tboxbox: '\\u29C9',\n\tboxDL: '\\u2557',\n\tboxDl: '\\u2556',\n\tboxdL: '\\u2555',\n\tboxdl: '\\u2510',\n\tboxDR: '\\u2554',\n\tboxDr: '\\u2553',\n\tboxdR: '\\u2552',\n\tboxdr: '\\u250C',\n\tboxH: '\\u2550',\n\tboxh: '\\u2500',\n\tboxHD: '\\u2566',\n\tboxHd: '\\u2564',\n\tboxhD: '\\u2565',\n\tboxhd: '\\u252C',\n\tboxHU: '\\u2569',\n\tboxHu: '\\u2567',\n\tboxhU: '\\u2568',\n\tboxhu: '\\u2534',\n\tboxminus: '\\u229F',\n\tboxplus: '\\u229E',\n\tboxtimes: '\\u22A0',\n\tboxUL: '\\u255D',\n\tboxUl: '\\u255C',\n\tboxuL: '\\u255B',\n\tboxul: '\\u2518',\n\tboxUR: '\\u255A',\n\tboxUr: '\\u2559',\n\tboxuR: '\\u2558',\n\tboxur: '\\u2514',\n\tboxV: '\\u2551',\n\tboxv: '\\u2502',\n\tboxVH: '\\u256C',\n\tboxVh: '\\u256B',\n\tboxvH: '\\u256A',\n\tboxvh: '\\u253C',\n\tboxVL: '\\u2563',\n\tboxVl: '\\u2562',\n\tboxvL: '\\u2561',\n\tboxvl: '\\u2524',\n\tboxVR: '\\u2560',\n\tboxVr: '\\u255F',\n\tboxvR: '\\u255E',\n\tboxvr: '\\u251C',\n\tbprime: '\\u2035',\n\tBreve: '\\u02D8',\n\tbreve: '\\u02D8',\n\tbrvbar: '\\u00A6',\n\tBscr: '\\u212C',\n\tbscr: '\\uD835\\uDCB7',\n\tbsemi: '\\u204F',\n\tbsim: '\\u223D',\n\tbsime: '\\u22CD',\n\tbsol: '\\u005C',\n\tbsolb: '\\u29C5',\n\tbsolhsub: '\\u27C8',\n\tbull: '\\u2022',\n\tbullet: '\\u2022',\n\tbump: '\\u224E',\n\tbumpE: '\\u2AAE',\n\tbumpe: '\\u224F',\n\tBumpeq: '\\u224E',\n\tbumpeq: '\\u224F',\n\tCacute: '\\u0106',\n\tcacute: '\\u0107',\n\tCap: '\\u22D2',\n\tcap: '\\u2229',\n\tcapand: '\\u2A44',\n\tcapbrcup: '\\u2A49',\n\tcapcap: '\\u2A4B',\n\tcapcup: '\\u2A47',\n\tcapdot: '\\u2A40',\n\tCapitalDifferentialD: '\\u2145',\n\tcaps: '\\u2229\\uFE00',\n\tcaret: '\\u2041',\n\tcaron: '\\u02C7',\n\tCayleys: '\\u212D',\n\tccaps: '\\u2A4D',\n\tCcaron: '\\u010C',\n\tccaron: '\\u010D',\n\tCcedil: '\\u00C7',\n\tccedil: '\\u00E7',\n\tCcirc: '\\u0108',\n\tccirc: '\\u0109',\n\tCconint: '\\u2230',\n\tccups: '\\u2A4C',\n\tccupssm: '\\u2A50',\n\tCdot: '\\u010A',\n\tcdot: '\\u010B',\n\tcedil: '\\u00B8',\n\tCedilla: '\\u00B8',\n\tcemptyv: '\\u29B2',\n\tcent: '\\u00A2',\n\tCenterDot: '\\u00B7',\n\tcenterdot: '\\u00B7',\n\tCfr: '\\u212D',\n\tcfr: '\\uD835\\uDD20',\n\tCHcy: '\\u0427',\n\tchcy: '\\u0447',\n\tcheck: '\\u2713',\n\tcheckmark: '\\u2713',\n\tChi: '\\u03A7',\n\tchi: '\\u03C7',\n\tcir: '\\u25CB',\n\tcirc: '\\u02C6',\n\tcirceq: '\\u2257',\n\tcirclearrowleft: '\\u21BA',\n\tcirclearrowright: '\\u21BB',\n\tcircledast: '\\u229B',\n\tcircledcirc: '\\u229A',\n\tcircleddash: '\\u229D',\n\tCircleDot: '\\u2299',\n\tcircledR: '\\u00AE',\n\tcircledS: '\\u24C8',\n\tCircleMinus: '\\u2296',\n\tCirclePlus: '\\u2295',\n\tCircleTimes: '\\u2297',\n\tcirE: '\\u29C3',\n\tcire: '\\u2257',\n\tcirfnint: '\\u2A10',\n\tcirmid: '\\u2AEF',\n\tcirscir: '\\u29C2',\n\tClockwiseContourIntegral: '\\u2232',\n\tCloseCurlyDoubleQuote: '\\u201D',\n\tCloseCurlyQuote: '\\u2019',\n\tclubs: '\\u2663',\n\tclubsuit: '\\u2663',\n\tColon: '\\u2237',\n\tcolon: '\\u003A',\n\tColone: '\\u2A74',\n\tcolone: '\\u2254',\n\tcoloneq: '\\u2254',\n\tcomma: '\\u002C',\n\tcommat: '\\u0040',\n\tcomp: '\\u2201',\n\tcompfn: '\\u2218',\n\tcomplement: '\\u2201',\n\tcomplexes: '\\u2102',\n\tcong: '\\u2245',\n\tcongdot: '\\u2A6D',\n\tCongruent: '\\u2261',\n\tConint: '\\u222F',\n\tconint: '\\u222E',\n\tContourIntegral: '\\u222E',\n\tCopf: '\\u2102',\n\tcopf: '\\uD835\\uDD54',\n\tcoprod: '\\u2210',\n\tCoproduct: '\\u2210',\n\tCOPY: '\\u00A9',\n\tcopy: '\\u00A9',\n\tcopysr: '\\u2117',\n\tCounterClockwiseContourIntegral: '\\u2233',\n\tcrarr: '\\u21B5',\n\tCross: '\\u2A2F',\n\tcross: '\\u2717',\n\tCscr: '\\uD835\\uDC9E',\n\tcscr: '\\uD835\\uDCB8',\n\tcsub: '\\u2ACF',\n\tcsube: '\\u2AD1',\n\tcsup: '\\u2AD0',\n\tcsupe: '\\u2AD2',\n\tctdot: '\\u22EF',\n\tcudarrl: '\\u2938',\n\tcudarrr: '\\u2935',\n\tcuepr: '\\u22DE',\n\tcuesc: '\\u22DF',\n\tcularr: '\\u21B6',\n\tcularrp: '\\u293D',\n\tCup: '\\u22D3',\n\tcup: '\\u222A',\n\tcupbrcap: '\\u2A48',\n\tCupCap: '\\u224D',\n\tcupcap: '\\u2A46',\n\tcupcup: '\\u2A4A',\n\tcupdot: '\\u228D',\n\tcupor: '\\u2A45',\n\tcups: '\\u222A\\uFE00',\n\tcurarr: '\\u21B7',\n\tcurarrm: '\\u293C',\n\tcurlyeqprec: '\\u22DE',\n\tcurlyeqsucc: '\\u22DF',\n\tcurlyvee: '\\u22CE',\n\tcurlywedge: '\\u22CF',\n\tcurren: '\\u00A4',\n\tcurvearrowleft: '\\u21B6',\n\tcurvearrowright: '\\u21B7',\n\tcuvee: '\\u22CE',\n\tcuwed: '\\u22CF',\n\tcwconint: '\\u2232',\n\tcwint: '\\u2231',\n\tcylcty: '\\u232D',\n\tDagger: '\\u2021',\n\tdagger: '\\u2020',\n\tdaleth: '\\u2138',\n\tDarr: '\\u21A1',\n\tdArr: '\\u21D3',\n\tdarr: '\\u2193',\n\tdash: '\\u2010',\n\tDashv: '\\u2AE4',\n\tdashv: '\\u22A3',\n\tdbkarow: '\\u290F',\n\tdblac: '\\u02DD',\n\tDcaron: '\\u010E',\n\tdcaron: '\\u010F',\n\tDcy: '\\u0414',\n\tdcy: '\\u0434',\n\tDD: '\\u2145',\n\tdd: '\\u2146',\n\tddagger: '\\u2021',\n\tddarr: '\\u21CA',\n\tDDotrahd: '\\u2911',\n\tddotseq: '\\u2A77',\n\tdeg: '\\u00B0',\n\tDel: '\\u2207',\n\tDelta: '\\u0394',\n\tdelta: '\\u03B4',\n\tdemptyv: '\\u29B1',\n\tdfisht: '\\u297F',\n\tDfr: '\\uD835\\uDD07',\n\tdfr: '\\uD835\\uDD21',\n\tdHar: '\\u2965',\n\tdharl: '\\u21C3',\n\tdharr: '\\u21C2',\n\tDiacriticalAcute: '\\u00B4',\n\tDiacriticalDot: '\\u02D9',\n\tDiacriticalDoubleAcute: '\\u02DD',\n\tDiacriticalGrave: '\\u0060',\n\tDiacriticalTilde: '\\u02DC',\n\tdiam: '\\u22C4',\n\tDiamond: '\\u22C4',\n\tdiamond: '\\u22C4',\n\tdiamondsuit: '\\u2666',\n\tdiams: '\\u2666',\n\tdie: '\\u00A8',\n\tDifferentialD: '\\u2146',\n\tdigamma: '\\u03DD',\n\tdisin: '\\u22F2',\n\tdiv: '\\u00F7',\n\tdivide: '\\u00F7',\n\tdivideontimes: '\\u22C7',\n\tdivonx: '\\u22C7',\n\tDJcy: '\\u0402',\n\tdjcy: '\\u0452',\n\tdlcorn: '\\u231E',\n\tdlcrop: '\\u230D',\n\tdollar: '\\u0024',\n\tDopf: '\\uD835\\uDD3B',\n\tdopf: '\\uD835\\uDD55',\n\tDot: '\\u00A8',\n\tdot: '\\u02D9',\n\tDotDot: '\\u20DC',\n\tdoteq: '\\u2250',\n\tdoteqdot: '\\u2251',\n\tDotEqual: '\\u2250',\n\tdotminus: '\\u2238',\n\tdotplus: '\\u2214',\n\tdotsquare: '\\u22A1',\n\tdoublebarwedge: '\\u2306',\n\tDoubleContourIntegral: '\\u222F',\n\tDoubleDot: '\\u00A8',\n\tDoubleDownArrow: '\\u21D3',\n\tDoubleLeftArrow: '\\u21D0',\n\tDoubleLeftRightArrow: '\\u21D4',\n\tDoubleLeftTee: '\\u2AE4',\n\tDoubleLongLeftArrow: '\\u27F8',\n\tDoubleLongLeftRightArrow: '\\u27FA',\n\tDoubleLongRightArrow: '\\u27F9',\n\tDoubleRightArrow: '\\u21D2',\n\tDoubleRightTee: '\\u22A8',\n\tDoubleUpArrow: '\\u21D1',\n\tDoubleUpDownArrow: '\\u21D5',\n\tDoubleVerticalBar: '\\u2225',\n\tDownArrow: '\\u2193',\n\tDownarrow: '\\u21D3',\n\tdownarrow: '\\u2193',\n\tDownArrowBar: '\\u2913',\n\tDownArrowUpArrow: '\\u21F5',\n\tDownBreve: '\\u0311',\n\tdowndownarrows: '\\u21CA',\n\tdownharpoonleft: '\\u21C3',\n\tdownharpoonright: '\\u21C2',\n\tDownLeftRightVector: '\\u2950',\n\tDownLeftTeeVector: '\\u295E',\n\tDownLeftVector: '\\u21BD',\n\tDownLeftVectorBar: '\\u2956',\n\tDownRightTeeVector: '\\u295F',\n\tDownRightVector: '\\u21C1',\n\tDownRightVectorBar: '\\u2957',\n\tDownTee: '\\u22A4',\n\tDownTeeArrow: '\\u21A7',\n\tdrbkarow: '\\u2910',\n\tdrcorn: '\\u231F',\n\tdrcrop: '\\u230C',\n\tDscr: '\\uD835\\uDC9F',\n\tdscr: '\\uD835\\uDCB9',\n\tDScy: '\\u0405',\n\tdscy: '\\u0455',\n\tdsol: '\\u29F6',\n\tDstrok: '\\u0110',\n\tdstrok: '\\u0111',\n\tdtdot: '\\u22F1',\n\tdtri: '\\u25BF',\n\tdtrif: '\\u25BE',\n\tduarr: '\\u21F5',\n\tduhar: '\\u296F',\n\tdwangle: '\\u29A6',\n\tDZcy: '\\u040F',\n\tdzcy: '\\u045F',\n\tdzigrarr: '\\u27FF',\n\tEacute: '\\u00C9',\n\teacute: '\\u00E9',\n\teaster: '\\u2A6E',\n\tEcaron: '\\u011A',\n\tecaron: '\\u011B',\n\tecir: '\\u2256',\n\tEcirc: '\\u00CA',\n\tecirc: '\\u00EA',\n\tecolon: '\\u2255',\n\tEcy: '\\u042D',\n\tecy: '\\u044D',\n\teDDot: '\\u2A77',\n\tEdot: '\\u0116',\n\teDot: '\\u2251',\n\tedot: '\\u0117',\n\tee: '\\u2147',\n\tefDot: '\\u2252',\n\tEfr: '\\uD835\\uDD08',\n\tefr: '\\uD835\\uDD22',\n\teg: '\\u2A9A',\n\tEgrave: '\\u00C8',\n\tegrave: '\\u00E8',\n\tegs: '\\u2A96',\n\tegsdot: '\\u2A98',\n\tel: '\\u2A99',\n\tElement: '\\u2208',\n\telinters: '\\u23E7',\n\tell: '\\u2113',\n\tels: '\\u2A95',\n\telsdot: '\\u2A97',\n\tEmacr: '\\u0112',\n\temacr: '\\u0113',\n\tempty: '\\u2205',\n\temptyset: '\\u2205',\n\tEmptySmallSquare: '\\u25FB',\n\temptyv: '\\u2205',\n\tEmptyVerySmallSquare: '\\u25AB',\n\temsp: '\\u2003',\n\temsp13: '\\u2004',\n\temsp14: '\\u2005',\n\tENG: '\\u014A',\n\teng: '\\u014B',\n\tensp: '\\u2002',\n\tEogon: '\\u0118',\n\teogon: '\\u0119',\n\tEopf: '\\uD835\\uDD3C',\n\teopf: '\\uD835\\uDD56',\n\tepar: '\\u22D5',\n\teparsl: '\\u29E3',\n\teplus: '\\u2A71',\n\tepsi: '\\u03B5',\n\tEpsilon: '\\u0395',\n\tepsilon: '\\u03B5',\n\tepsiv: '\\u03F5',\n\teqcirc: '\\u2256',\n\teqcolon: '\\u2255',\n\teqsim: '\\u2242',\n\teqslantgtr: '\\u2A96',\n\teqslantless: '\\u2A95',\n\tEqual: '\\u2A75',\n\tequals: '\\u003D',\n\tEqualTilde: '\\u2242',\n\tequest: '\\u225F',\n\tEquilibrium: '\\u21CC',\n\tequiv: '\\u2261',\n\tequivDD: '\\u2A78',\n\teqvparsl: '\\u29E5',\n\terarr: '\\u2971',\n\terDot: '\\u2253',\n\tEscr: '\\u2130',\n\tescr: '\\u212F',\n\tesdot: '\\u2250',\n\tEsim: '\\u2A73',\n\tesim: '\\u2242',\n\tEta: '\\u0397',\n\teta: '\\u03B7',\n\tETH: '\\u00D0',\n\teth: '\\u00F0',\n\tEuml: '\\u00CB',\n\teuml: '\\u00EB',\n\teuro: '\\u20AC',\n\texcl: '\\u0021',\n\texist: '\\u2203',\n\tExists: '\\u2203',\n\texpectation: '\\u2130',\n\tExponentialE: '\\u2147',\n\texponentiale: '\\u2147',\n\tfallingdotseq: '\\u2252',\n\tFcy: '\\u0424',\n\tfcy: '\\u0444',\n\tfemale: '\\u2640',\n\tffilig: '\\uFB03',\n\tfflig: '\\uFB00',\n\tffllig: '\\uFB04',\n\tFfr: '\\uD835\\uDD09',\n\tffr: '\\uD835\\uDD23',\n\tfilig: '\\uFB01',\n\tFilledSmallSquare: '\\u25FC',\n\tFilledVerySmallSquare: '\\u25AA',\n\tfjlig: '\\u0066\\u006A',\n\tflat: '\\u266D',\n\tfllig: '\\uFB02',\n\tfltns: '\\u25B1',\n\tfnof: '\\u0192',\n\tFopf: '\\uD835\\uDD3D',\n\tfopf: '\\uD835\\uDD57',\n\tForAll: '\\u2200',\n\tforall: '\\u2200',\n\tfork: '\\u22D4',\n\tforkv: '\\u2AD9',\n\tFouriertrf: '\\u2131',\n\tfpartint: '\\u2A0D',\n\tfrac12: '\\u00BD',\n\tfrac13: '\\u2153',\n\tfrac14: '\\u00BC',\n\tfrac15: '\\u2155',\n\tfrac16: '\\u2159',\n\tfrac18: '\\u215B',\n\tfrac23: '\\u2154',\n\tfrac25: '\\u2156',\n\tfrac34: '\\u00BE',\n\tfrac35: '\\u2157',\n\tfrac38: '\\u215C',\n\tfrac45: '\\u2158',\n\tfrac56: '\\u215A',\n\tfrac58: '\\u215D',\n\tfrac78: '\\u215E',\n\tfrasl: '\\u2044',\n\tfrown: '\\u2322',\n\tFscr: '\\u2131',\n\tfscr: '\\uD835\\uDCBB',\n\tgacute: '\\u01F5',\n\tGamma: '\\u0393',\n\tgamma: '\\u03B3',\n\tGammad: '\\u03DC',\n\tgammad: '\\u03DD',\n\tgap: '\\u2A86',\n\tGbreve: '\\u011E',\n\tgbreve: '\\u011F',\n\tGcedil: '\\u0122',\n\tGcirc: '\\u011C',\n\tgcirc: '\\u011D',\n\tGcy: '\\u0413',\n\tgcy: '\\u0433',\n\tGdot: '\\u0120',\n\tgdot: '\\u0121',\n\tgE: '\\u2267',\n\tge: '\\u2265',\n\tgEl: '\\u2A8C',\n\tgel: '\\u22DB',\n\tgeq: '\\u2265',\n\tgeqq: '\\u2267',\n\tgeqslant: '\\u2A7E',\n\tges: '\\u2A7E',\n\tgescc: '\\u2AA9',\n\tgesdot: '\\u2A80',\n\tgesdoto: '\\u2A82',\n\tgesdotol: '\\u2A84',\n\tgesl: '\\u22DB\\uFE00',\n\tgesles: '\\u2A94',\n\tGfr: '\\uD835\\uDD0A',\n\tgfr: '\\uD835\\uDD24',\n\tGg: '\\u22D9',\n\tgg: '\\u226B',\n\tggg: '\\u22D9',\n\tgimel: '\\u2137',\n\tGJcy: '\\u0403',\n\tgjcy: '\\u0453',\n\tgl: '\\u2277',\n\tgla: '\\u2AA5',\n\tglE: '\\u2A92',\n\tglj: '\\u2AA4',\n\tgnap: '\\u2A8A',\n\tgnapprox: '\\u2A8A',\n\tgnE: '\\u2269',\n\tgne: '\\u2A88',\n\tgneq: '\\u2A88',\n\tgneqq: '\\u2269',\n\tgnsim: '\\u22E7',\n\tGopf: '\\uD835\\uDD3E',\n\tgopf: '\\uD835\\uDD58',\n\tgrave: '\\u0060',\n\tGreaterEqual: '\\u2265',\n\tGreaterEqualLess: '\\u22DB',\n\tGreaterFullEqual: '\\u2267',\n\tGreaterGreater: '\\u2AA2',\n\tGreaterLess: '\\u2277',\n\tGreaterSlantEqual: '\\u2A7E',\n\tGreaterTilde: '\\u2273',\n\tGscr: '\\uD835\\uDCA2',\n\tgscr: '\\u210A',\n\tgsim: '\\u2273',\n\tgsime: '\\u2A8E',\n\tgsiml: '\\u2A90',\n\tGt: '\\u226B',\n\tGT: '\\u003E',\n\tgt: '\\u003E',\n\tgtcc: '\\u2AA7',\n\tgtcir: '\\u2A7A',\n\tgtdot: '\\u22D7',\n\tgtlPar: '\\u2995',\n\tgtquest: '\\u2A7C',\n\tgtrapprox: '\\u2A86',\n\tgtrarr: '\\u2978',\n\tgtrdot: '\\u22D7',\n\tgtreqless: '\\u22DB',\n\tgtreqqless: '\\u2A8C',\n\tgtrless: '\\u2277',\n\tgtrsim: '\\u2273',\n\tgvertneqq: '\\u2269\\uFE00',\n\tgvnE: '\\u2269\\uFE00',\n\tHacek: '\\u02C7',\n\thairsp: '\\u200A',\n\thalf: '\\u00BD',\n\thamilt: '\\u210B',\n\tHARDcy: '\\u042A',\n\thardcy: '\\u044A',\n\thArr: '\\u21D4',\n\tharr: '\\u2194',\n\tharrcir: '\\u2948',\n\tharrw: '\\u21AD',\n\tHat: '\\u005E',\n\thbar: '\\u210F',\n\tHcirc: '\\u0124',\n\thcirc: '\\u0125',\n\thearts: '\\u2665',\n\theartsuit: '\\u2665',\n\thellip: '\\u2026',\n\thercon: '\\u22B9',\n\tHfr: '\\u210C',\n\thfr: '\\uD835\\uDD25',\n\tHilbertSpace: '\\u210B',\n\thksearow: '\\u2925',\n\thkswarow: '\\u2926',\n\thoarr: '\\u21FF',\n\thomtht: '\\u223B',\n\thookleftarrow: '\\u21A9',\n\thookrightarrow: '\\u21AA',\n\tHopf: '\\u210D',\n\thopf: '\\uD835\\uDD59',\n\thorbar: '\\u2015',\n\tHorizontalLine: '\\u2500',\n\tHscr: '\\u210B',\n\thscr: '\\uD835\\uDCBD',\n\thslash: '\\u210F',\n\tHstrok: '\\u0126',\n\thstrok: '\\u0127',\n\tHumpDownHump: '\\u224E',\n\tHumpEqual: '\\u224F',\n\thybull: '\\u2043',\n\thyphen: '\\u2010',\n\tIacute: '\\u00CD',\n\tiacute: '\\u00ED',\n\tic: '\\u2063',\n\tIcirc: '\\u00CE',\n\ticirc: '\\u00EE',\n\tIcy: '\\u0418',\n\ticy: '\\u0438',\n\tIdot: '\\u0130',\n\tIEcy: '\\u0415',\n\tiecy: '\\u0435',\n\tiexcl: '\\u00A1',\n\tiff: '\\u21D4',\n\tIfr: '\\u2111',\n\tifr: '\\uD835\\uDD26',\n\tIgrave: '\\u00CC',\n\tigrave: '\\u00EC',\n\tii: '\\u2148',\n\tiiiint: '\\u2A0C',\n\tiiint: '\\u222D',\n\tiinfin: '\\u29DC',\n\tiiota: '\\u2129',\n\tIJlig: '\\u0132',\n\tijlig: '\\u0133',\n\tIm: '\\u2111',\n\tImacr: '\\u012A',\n\timacr: '\\u012B',\n\timage: '\\u2111',\n\tImaginaryI: '\\u2148',\n\timagline: '\\u2110',\n\timagpart: '\\u2111',\n\timath: '\\u0131',\n\timof: '\\u22B7',\n\timped: '\\u01B5',\n\tImplies: '\\u21D2',\n\tin: '\\u2208',\n\tincare: '\\u2105',\n\tinfin: '\\u221E',\n\tinfintie: '\\u29DD',\n\tinodot: '\\u0131',\n\tInt: '\\u222C',\n\tint: '\\u222B',\n\tintcal: '\\u22BA',\n\tintegers: '\\u2124',\n\tIntegral: '\\u222B',\n\tintercal: '\\u22BA',\n\tIntersection: '\\u22C2',\n\tintlarhk: '\\u2A17',\n\tintprod: '\\u2A3C',\n\tInvisibleComma: '\\u2063',\n\tInvisibleTimes: '\\u2062',\n\tIOcy: '\\u0401',\n\tiocy: '\\u0451',\n\tIogon: '\\u012E',\n\tiogon: '\\u012F',\n\tIopf: '\\uD835\\uDD40',\n\tiopf: '\\uD835\\uDD5A',\n\tIota: '\\u0399',\n\tiota: '\\u03B9',\n\tiprod: '\\u2A3C',\n\tiquest: '\\u00BF',\n\tIscr: '\\u2110',\n\tiscr: '\\uD835\\uDCBE',\n\tisin: '\\u2208',\n\tisindot: '\\u22F5',\n\tisinE: '\\u22F9',\n\tisins: '\\u22F4',\n\tisinsv: '\\u22F3',\n\tisinv: '\\u2208',\n\tit: '\\u2062',\n\tItilde: '\\u0128',\n\titilde: '\\u0129',\n\tIukcy: '\\u0406',\n\tiukcy: '\\u0456',\n\tIuml: '\\u00CF',\n\tiuml: '\\u00EF',\n\tJcirc: '\\u0134',\n\tjcirc: '\\u0135',\n\tJcy: '\\u0419',\n\tjcy: '\\u0439',\n\tJfr: '\\uD835\\uDD0D',\n\tjfr: '\\uD835\\uDD27',\n\tjmath: '\\u0237',\n\tJopf: '\\uD835\\uDD41',\n\tjopf: '\\uD835\\uDD5B',\n\tJscr: '\\uD835\\uDCA5',\n\tjscr: '\\uD835\\uDCBF',\n\tJsercy: '\\u0408',\n\tjsercy: '\\u0458',\n\tJukcy: '\\u0404',\n\tjukcy: '\\u0454',\n\tKappa: '\\u039A',\n\tkappa: '\\u03BA',\n\tkappav: '\\u03F0',\n\tKcedil: '\\u0136',\n\tkcedil: '\\u0137',\n\tKcy: '\\u041A',\n\tkcy: '\\u043A',\n\tKfr: '\\uD835\\uDD0E',\n\tkfr: '\\uD835\\uDD28',\n\tkgreen: '\\u0138',\n\tKHcy: '\\u0425',\n\tkhcy: '\\u0445',\n\tKJcy: '\\u040C',\n\tkjcy: '\\u045C',\n\tKopf: '\\uD835\\uDD42',\n\tkopf: '\\uD835\\uDD5C',\n\tKscr: '\\uD835\\uDCA6',\n\tkscr: '\\uD835\\uDCC0',\n\tlAarr: '\\u21DA',\n\tLacute: '\\u0139',\n\tlacute: '\\u013A',\n\tlaemptyv: '\\u29B4',\n\tlagran: '\\u2112',\n\tLambda: '\\u039B',\n\tlambda: '\\u03BB',\n\tLang: '\\u27EA',\n\tlang: '\\u27E8',\n\tlangd: '\\u2991',\n\tlangle: '\\u27E8',\n\tlap: '\\u2A85',\n\tLaplacetrf: '\\u2112',\n\tlaquo: '\\u00AB',\n\tLarr: '\\u219E',\n\tlArr: '\\u21D0',\n\tlarr: '\\u2190',\n\tlarrb: '\\u21E4',\n\tlarrbfs: '\\u291F',\n\tlarrfs: '\\u291D',\n\tlarrhk: '\\u21A9',\n\tlarrlp: '\\u21AB',\n\tlarrpl: '\\u2939',\n\tlarrsim: '\\u2973',\n\tlarrtl: '\\u21A2',\n\tlat: '\\u2AAB',\n\tlAtail: '\\u291B',\n\tlatail: '\\u2919',\n\tlate: '\\u2AAD',\n\tlates: '\\u2AAD\\uFE00',\n\tlBarr: '\\u290E',\n\tlbarr: '\\u290C',\n\tlbbrk: '\\u2772',\n\tlbrace: '\\u007B',\n\tlbrack: '\\u005B',\n\tlbrke: '\\u298B',\n\tlbrksld: '\\u298F',\n\tlbrkslu: '\\u298D',\n\tLcaron: '\\u013D',\n\tlcaron: '\\u013E',\n\tLcedil: '\\u013B',\n\tlcedil: '\\u013C',\n\tlceil: '\\u2308',\n\tlcub: '\\u007B',\n\tLcy: '\\u041B',\n\tlcy: '\\u043B',\n\tldca: '\\u2936',\n\tldquo: '\\u201C',\n\tldquor: '\\u201E',\n\tldrdhar: '\\u2967',\n\tldrushar: '\\u294B',\n\tldsh: '\\u21B2',\n\tlE: '\\u2266',\n\tle: '\\u2264',\n\tLeftAngleBracket: '\\u27E8',\n\tLeftArrow: '\\u2190',\n\tLeftarrow: '\\u21D0',\n\tleftarrow: '\\u2190',\n\tLeftArrowBar: '\\u21E4',\n\tLeftArrowRightArrow: '\\u21C6',\n\tleftarrowtail: '\\u21A2',\n\tLeftCeiling: '\\u2308',\n\tLeftDoubleBracket: '\\u27E6',\n\tLeftDownTeeVector: '\\u2961',\n\tLeftDownVector: '\\u21C3',\n\tLeftDownVectorBar: '\\u2959',\n\tLeftFloor: '\\u230A',\n\tleftharpoondown: '\\u21BD',\n\tleftharpoonup: '\\u21BC',\n\tleftleftarrows: '\\u21C7',\n\tLeftRightArrow: '\\u2194',\n\tLeftrightarrow: '\\u21D4',\n\tleftrightarrow: '\\u2194',\n\tleftrightarrows: '\\u21C6',\n\tleftrightharpoons: '\\u21CB',\n\tleftrightsquigarrow: '\\u21AD',\n\tLeftRightVector: '\\u294E',\n\tLeftTee: '\\u22A3',\n\tLeftTeeArrow: '\\u21A4',\n\tLeftTeeVector: '\\u295A',\n\tleftthreetimes: '\\u22CB',\n\tLeftTriangle: '\\u22B2',\n\tLeftTriangleBar: '\\u29CF',\n\tLeftTriangleEqual: '\\u22B4',\n\tLeftUpDownVector: '\\u2951',\n\tLeftUpTeeVector: '\\u2960',\n\tLeftUpVector: '\\u21BF',\n\tLeftUpVectorBar: '\\u2958',\n\tLeftVector: '\\u21BC',\n\tLeftVectorBar: '\\u2952',\n\tlEg: '\\u2A8B',\n\tleg: '\\u22DA',\n\tleq: '\\u2264',\n\tleqq: '\\u2266',\n\tleqslant: '\\u2A7D',\n\tles: '\\u2A7D',\n\tlescc: '\\u2AA8',\n\tlesdot: '\\u2A7F',\n\tlesdoto: '\\u2A81',\n\tlesdotor: '\\u2A83',\n\tlesg: '\\u22DA\\uFE00',\n\tlesges: '\\u2A93',\n\tlessapprox: '\\u2A85',\n\tlessdot: '\\u22D6',\n\tlesseqgtr: '\\u22DA',\n\tlesseqqgtr: '\\u2A8B',\n\tLessEqualGreater: '\\u22DA',\n\tLessFullEqual: '\\u2266',\n\tLessGreater: '\\u2276',\n\tlessgtr: '\\u2276',\n\tLessLess: '\\u2AA1',\n\tlesssim: '\\u2272',\n\tLessSlantEqual: '\\u2A7D',\n\tLessTilde: '\\u2272',\n\tlfisht: '\\u297C',\n\tlfloor: '\\u230A',\n\tLfr: '\\uD835\\uDD0F',\n\tlfr: '\\uD835\\uDD29',\n\tlg: '\\u2276',\n\tlgE: '\\u2A91',\n\tlHar: '\\u2962',\n\tlhard: '\\u21BD',\n\tlharu: '\\u21BC',\n\tlharul: '\\u296A',\n\tlhblk: '\\u2584',\n\tLJcy: '\\u0409',\n\tljcy: '\\u0459',\n\tLl: '\\u22D8',\n\tll: '\\u226A',\n\tllarr: '\\u21C7',\n\tllcorner: '\\u231E',\n\tLleftarrow: '\\u21DA',\n\tllhard: '\\u296B',\n\tlltri: '\\u25FA',\n\tLmidot: '\\u013F',\n\tlmidot: '\\u0140',\n\tlmoust: '\\u23B0',\n\tlmoustache: '\\u23B0',\n\tlnap: '\\u2A89',\n\tlnapprox: '\\u2A89',\n\tlnE: '\\u2268',\n\tlne: '\\u2A87',\n\tlneq: '\\u2A87',\n\tlneqq: '\\u2268',\n\tlnsim: '\\u22E6',\n\tloang: '\\u27EC',\n\tloarr: '\\u21FD',\n\tlobrk: '\\u27E6',\n\tLongLeftArrow: '\\u27F5',\n\tLongleftarrow: '\\u27F8',\n\tlongleftarrow: '\\u27F5',\n\tLongLeftRightArrow: '\\u27F7',\n\tLongleftrightarrow: '\\u27FA',\n\tlongleftrightarrow: '\\u27F7',\n\tlongmapsto: '\\u27FC',\n\tLongRightArrow: '\\u27F6',\n\tLongrightarrow: '\\u27F9',\n\tlongrightarrow: '\\u27F6',\n\tlooparrowleft: '\\u21AB',\n\tlooparrowright: '\\u21AC',\n\tlopar: '\\u2985',\n\tLopf: '\\uD835\\uDD43',\n\tlopf: '\\uD835\\uDD5D',\n\tloplus: '\\u2A2D',\n\tlotimes: '\\u2A34',\n\tlowast: '\\u2217',\n\tlowbar: '\\u005F',\n\tLowerLeftArrow: '\\u2199',\n\tLowerRightArrow: '\\u2198',\n\tloz: '\\u25CA',\n\tlozenge: '\\u25CA',\n\tlozf: '\\u29EB',\n\tlpar: '\\u0028',\n\tlparlt: '\\u2993',\n\tlrarr: '\\u21C6',\n\tlrcorner: '\\u231F',\n\tlrhar: '\\u21CB',\n\tlrhard: '\\u296D',\n\tlrm: '\\u200E',\n\tlrtri: '\\u22BF',\n\tlsaquo: '\\u2039',\n\tLscr: '\\u2112',\n\tlscr: '\\uD835\\uDCC1',\n\tLsh: '\\u21B0',\n\tlsh: '\\u21B0',\n\tlsim: '\\u2272',\n\tlsime: '\\u2A8D',\n\tlsimg: '\\u2A8F',\n\tlsqb: '\\u005B',\n\tlsquo: '\\u2018',\n\tlsquor: '\\u201A',\n\tLstrok: '\\u0141',\n\tlstrok: '\\u0142',\n\tLt: '\\u226A',\n\tLT: '\\u003C',\n\tlt: '\\u003C',\n\tltcc: '\\u2AA6',\n\tltcir: '\\u2A79',\n\tltdot: '\\u22D6',\n\tlthree: '\\u22CB',\n\tltimes: '\\u22C9',\n\tltlarr: '\\u2976',\n\tltquest: '\\u2A7B',\n\tltri: '\\u25C3',\n\tltrie: '\\u22B4',\n\tltrif: '\\u25C2',\n\tltrPar: '\\u2996',\n\tlurdshar: '\\u294A',\n\tluruhar: '\\u2966',\n\tlvertneqq: '\\u2268\\uFE00',\n\tlvnE: '\\u2268\\uFE00',\n\tmacr: '\\u00AF',\n\tmale: '\\u2642',\n\tmalt: '\\u2720',\n\tmaltese: '\\u2720',\n\tMap: '\\u2905',\n\tmap: '\\u21A6',\n\tmapsto: '\\u21A6',\n\tmapstodown: '\\u21A7',\n\tmapstoleft: '\\u21A4',\n\tmapstoup: '\\u21A5',\n\tmarker: '\\u25AE',\n\tmcomma: '\\u2A29',\n\tMcy: '\\u041C',\n\tmcy: '\\u043C',\n\tmdash: '\\u2014',\n\tmDDot: '\\u223A',\n\tmeasuredangle: '\\u2221',\n\tMediumSpace: '\\u205F',\n\tMellintrf: '\\u2133',\n\tMfr: '\\uD835\\uDD10',\n\tmfr: '\\uD835\\uDD2A',\n\tmho: '\\u2127',\n\tmicro: '\\u00B5',\n\tmid: '\\u2223',\n\tmidast: '\\u002A',\n\tmidcir: '\\u2AF0',\n\tmiddot: '\\u00B7',\n\tminus: '\\u2212',\n\tminusb: '\\u229F',\n\tminusd: '\\u2238',\n\tminusdu: '\\u2A2A',\n\tMinusPlus: '\\u2213',\n\tmlcp: '\\u2ADB',\n\tmldr: '\\u2026',\n\tmnplus: '\\u2213',\n\tmodels: '\\u22A7',\n\tMopf: '\\uD835\\uDD44',\n\tmopf: '\\uD835\\uDD5E',\n\tmp: '\\u2213',\n\tMscr: '\\u2133',\n\tmscr: '\\uD835\\uDCC2',\n\tmstpos: '\\u223E',\n\tMu: '\\u039C',\n\tmu: '\\u03BC',\n\tmultimap: '\\u22B8',\n\tmumap: '\\u22B8',\n\tnabla: '\\u2207',\n\tNacute: '\\u0143',\n\tnacute: '\\u0144',\n\tnang: '\\u2220\\u20D2',\n\tnap: '\\u2249',\n\tnapE: '\\u2A70\\u0338',\n\tnapid: '\\u224B\\u0338',\n\tnapos: '\\u0149',\n\tnapprox: '\\u2249',\n\tnatur: '\\u266E',\n\tnatural: '\\u266E',\n\tnaturals: '\\u2115',\n\tnbsp: '\\u00A0',\n\tnbump: '\\u224E\\u0338',\n\tnbumpe: '\\u224F\\u0338',\n\tncap: '\\u2A43',\n\tNcaron: '\\u0147',\n\tncaron: '\\u0148',\n\tNcedil: '\\u0145',\n\tncedil: '\\u0146',\n\tncong: '\\u2247',\n\tncongdot: '\\u2A6D\\u0338',\n\tncup: '\\u2A42',\n\tNcy: '\\u041D',\n\tncy: '\\u043D',\n\tndash: '\\u2013',\n\tne: '\\u2260',\n\tnearhk: '\\u2924',\n\tneArr: '\\u21D7',\n\tnearr: '\\u2197',\n\tnearrow: '\\u2197',\n\tnedot: '\\u2250\\u0338',\n\tNegativeMediumSpace: '\\u200B',\n\tNegativeThickSpace: '\\u200B',\n\tNegativeThinSpace: '\\u200B',\n\tNegativeVeryThinSpace: '\\u200B',\n\tnequiv: '\\u2262',\n\tnesear: '\\u2928',\n\tnesim: '\\u2242\\u0338',\n\tNestedGreaterGreater: '\\u226B',\n\tNestedLessLess: '\\u226A',\n\tNewLine: '\\u000A',\n\tnexist: '\\u2204',\n\tnexists: '\\u2204',\n\tNfr: '\\uD835\\uDD11',\n\tnfr: '\\uD835\\uDD2B',\n\tngE: '\\u2267\\u0338',\n\tnge: '\\u2271',\n\tngeq: '\\u2271',\n\tngeqq: '\\u2267\\u0338',\n\tngeqslant: '\\u2A7E\\u0338',\n\tnges: '\\u2A7E\\u0338',\n\tnGg: '\\u22D9\\u0338',\n\tngsim: '\\u2275',\n\tnGt: '\\u226B\\u20D2',\n\tngt: '\\u226F',\n\tngtr: '\\u226F',\n\tnGtv: '\\u226B\\u0338',\n\tnhArr: '\\u21CE',\n\tnharr: '\\u21AE',\n\tnhpar: '\\u2AF2',\n\tni: '\\u220B',\n\tnis: '\\u22FC',\n\tnisd: '\\u22FA',\n\tniv: '\\u220B',\n\tNJcy: '\\u040A',\n\tnjcy: '\\u045A',\n\tnlArr: '\\u21CD',\n\tnlarr: '\\u219A',\n\tnldr: '\\u2025',\n\tnlE: '\\u2266\\u0338',\n\tnle: '\\u2270',\n\tnLeftarrow: '\\u21CD',\n\tnleftarrow: '\\u219A',\n\tnLeftrightarrow: '\\u21CE',\n\tnleftrightarrow: '\\u21AE',\n\tnleq: '\\u2270',\n\tnleqq: '\\u2266\\u0338',\n\tnleqslant: '\\u2A7D\\u0338',\n\tnles: '\\u2A7D\\u0338',\n\tnless: '\\u226E',\n\tnLl: '\\u22D8\\u0338',\n\tnlsim: '\\u2274',\n\tnLt: '\\u226A\\u20D2',\n\tnlt: '\\u226E',\n\tnltri: '\\u22EA',\n\tnltrie: '\\u22EC',\n\tnLtv: '\\u226A\\u0338',\n\tnmid: '\\u2224',\n\tNoBreak: '\\u2060',\n\tNonBreakingSpace: '\\u00A0',\n\tNopf: '\\u2115',\n\tnopf: '\\uD835\\uDD5F',\n\tNot: '\\u2AEC',\n\tnot: '\\u00AC',\n\tNotCongruent: '\\u2262',\n\tNotCupCap: '\\u226D',\n\tNotDoubleVerticalBar: '\\u2226',\n\tNotElement: '\\u2209',\n\tNotEqual: '\\u2260',\n\tNotEqualTilde: '\\u2242\\u0338',\n\tNotExists: '\\u2204',\n\tNotGreater: '\\u226F',\n\tNotGreaterEqual: '\\u2271',\n\tNotGreaterFullEqual: '\\u2267\\u0338',\n\tNotGreaterGreater: '\\u226B\\u0338',\n\tNotGreaterLess: '\\u2279',\n\tNotGreaterSlantEqual: '\\u2A7E\\u0338',\n\tNotGreaterTilde: '\\u2275',\n\tNotHumpDownHump: '\\u224E\\u0338',\n\tNotHumpEqual: '\\u224F\\u0338',\n\tnotin: '\\u2209',\n\tnotindot: '\\u22F5\\u0338',\n\tnotinE: '\\u22F9\\u0338',\n\tnotinva: '\\u2209',\n\tnotinvb: '\\u22F7',\n\tnotinvc: '\\u22F6',\n\tNotLeftTriangle: '\\u22EA',\n\tNotLeftTriangleBar: '\\u29CF\\u0338',\n\tNotLeftTriangleEqual: '\\u22EC',\n\tNotLess: '\\u226E',\n\tNotLessEqual: '\\u2270',\n\tNotLessGreater: '\\u2278',\n\tNotLessLess: '\\u226A\\u0338',\n\tNotLessSlantEqual: '\\u2A7D\\u0338',\n\tNotLessTilde: '\\u2274',\n\tNotNestedGreaterGreater: '\\u2AA2\\u0338',\n\tNotNestedLessLess: '\\u2AA1\\u0338',\n\tnotni: '\\u220C',\n\tnotniva: '\\u220C',\n\tnotnivb: '\\u22FE',\n\tnotnivc: '\\u22FD',\n\tNotPrecedes: '\\u2280',\n\tNotPrecedesEqual: '\\u2AAF\\u0338',\n\tNotPrecedesSlantEqual: '\\u22E0',\n\tNotReverseElement: '\\u220C',\n\tNotRightTriangle: '\\u22EB',\n\tNotRightTriangleBar: '\\u29D0\\u0338',\n\tNotRightTriangleEqual: '\\u22ED',\n\tNotSquareSubset: '\\u228F\\u0338',\n\tNotSquareSubsetEqual: '\\u22E2',\n\tNotSquareSuperset: '\\u2290\\u0338',\n\tNotSquareSupersetEqual: '\\u22E3',\n\tNotSubset: '\\u2282\\u20D2',\n\tNotSubsetEqual: '\\u2288',\n\tNotSucceeds: '\\u2281',\n\tNotSucceedsEqual: '\\u2AB0\\u0338',\n\tNotSucceedsSlantEqual: '\\u22E1',\n\tNotSucceedsTilde: '\\u227F\\u0338',\n\tNotSuperset: '\\u2283\\u20D2',\n\tNotSupersetEqual: '\\u2289',\n\tNotTilde: '\\u2241',\n\tNotTildeEqual: '\\u2244',\n\tNotTildeFullEqual: '\\u2247',\n\tNotTildeTilde: '\\u2249',\n\tNotVerticalBar: '\\u2224',\n\tnpar: '\\u2226',\n\tnparallel: '\\u2226',\n\tnparsl: '\\u2AFD\\u20E5',\n\tnpart: '\\u2202\\u0338',\n\tnpolint: '\\u2A14',\n\tnpr: '\\u2280',\n\tnprcue: '\\u22E0',\n\tnpre: '\\u2AAF\\u0338',\n\tnprec: '\\u2280',\n\tnpreceq: '\\u2AAF\\u0338',\n\tnrArr: '\\u21CF',\n\tnrarr: '\\u219B',\n\tnrarrc: '\\u2933\\u0338',\n\tnrarrw: '\\u219D\\u0338',\n\tnRightarrow: '\\u21CF',\n\tnrightarrow: '\\u219B',\n\tnrtri: '\\u22EB',\n\tnrtrie: '\\u22ED',\n\tnsc: '\\u2281',\n\tnsccue: '\\u22E1',\n\tnsce: '\\u2AB0\\u0338',\n\tNscr: '\\uD835\\uDCA9',\n\tnscr: '\\uD835\\uDCC3',\n\tnshortmid: '\\u2224',\n\tnshortparallel: '\\u2226',\n\tnsim: '\\u2241',\n\tnsime: '\\u2244',\n\tnsimeq: '\\u2244',\n\tnsmid: '\\u2224',\n\tnspar: '\\u2226',\n\tnsqsube: '\\u22E2',\n\tnsqsupe: '\\u22E3',\n\tnsub: '\\u2284',\n\tnsubE: '\\u2AC5\\u0338',\n\tnsube: '\\u2288',\n\tnsubset: '\\u2282\\u20D2',\n\tnsubseteq: '\\u2288',\n\tnsubseteqq: '\\u2AC5\\u0338',\n\tnsucc: '\\u2281',\n\tnsucceq: '\\u2AB0\\u0338',\n\tnsup: '\\u2285',\n\tnsupE: '\\u2AC6\\u0338',\n\tnsupe: '\\u2289',\n\tnsupset: '\\u2283\\u20D2',\n\tnsupseteq: '\\u2289',\n\tnsupseteqq: '\\u2AC6\\u0338',\n\tntgl: '\\u2279',\n\tNtilde: '\\u00D1',\n\tntilde: '\\u00F1',\n\tntlg: '\\u2278',\n\tntriangleleft: '\\u22EA',\n\tntrianglelefteq: '\\u22EC',\n\tntriangleright: '\\u22EB',\n\tntrianglerighteq: '\\u22ED',\n\tNu: '\\u039D',\n\tnu: '\\u03BD',\n\tnum: '\\u0023',\n\tnumero: '\\u2116',\n\tnumsp: '\\u2007',\n\tnvap: '\\u224D\\u20D2',\n\tnVDash: '\\u22AF',\n\tnVdash: '\\u22AE',\n\tnvDash: '\\u22AD',\n\tnvdash: '\\u22AC',\n\tnvge: '\\u2265\\u20D2',\n\tnvgt: '\\u003E\\u20D2',\n\tnvHarr: '\\u2904',\n\tnvinfin: '\\u29DE',\n\tnvlArr: '\\u2902',\n\tnvle: '\\u2264\\u20D2',\n\tnvlt: '\\u003C\\u20D2',\n\tnvltrie: '\\u22B4\\u20D2',\n\tnvrArr: '\\u2903',\n\tnvrtrie: '\\u22B5\\u20D2',\n\tnvsim: '\\u223C\\u20D2',\n\tnwarhk: '\\u2923',\n\tnwArr: '\\u21D6',\n\tnwarr: '\\u2196',\n\tnwarrow: '\\u2196',\n\tnwnear: '\\u2927',\n\tOacute: '\\u00D3',\n\toacute: '\\u00F3',\n\toast: '\\u229B',\n\tocir: '\\u229A',\n\tOcirc: '\\u00D4',\n\tocirc: '\\u00F4',\n\tOcy: '\\u041E',\n\tocy: '\\u043E',\n\todash: '\\u229D',\n\tOdblac: '\\u0150',\n\todblac: '\\u0151',\n\todiv: '\\u2A38',\n\todot: '\\u2299',\n\todsold: '\\u29BC',\n\tOElig: '\\u0152',\n\toelig: '\\u0153',\n\tofcir: '\\u29BF',\n\tOfr: '\\uD835\\uDD12',\n\tofr: '\\uD835\\uDD2C',\n\togon: '\\u02DB',\n\tOgrave: '\\u00D2',\n\tograve: '\\u00F2',\n\togt: '\\u29C1',\n\tohbar: '\\u29B5',\n\tohm: '\\u03A9',\n\toint: '\\u222E',\n\tolarr: '\\u21BA',\n\tolcir: '\\u29BE',\n\tolcross: '\\u29BB',\n\toline: '\\u203E',\n\tolt: '\\u29C0',\n\tOmacr: '\\u014C',\n\tomacr: '\\u014D',\n\tOmega: '\\u03A9',\n\tomega: '\\u03C9',\n\tOmicron: '\\u039F',\n\tomicron: '\\u03BF',\n\tomid: '\\u29B6',\n\tominus: '\\u2296',\n\tOopf: '\\uD835\\uDD46',\n\toopf: '\\uD835\\uDD60',\n\topar: '\\u29B7',\n\tOpenCurlyDoubleQuote: '\\u201C',\n\tOpenCurlyQuote: '\\u2018',\n\toperp: '\\u29B9',\n\toplus: '\\u2295',\n\tOr: '\\u2A54',\n\tor: '\\u2228',\n\torarr: '\\u21BB',\n\tord: '\\u2A5D',\n\torder: '\\u2134',\n\torderof: '\\u2134',\n\tordf: '\\u00AA',\n\tordm: '\\u00BA',\n\torigof: '\\u22B6',\n\toror: '\\u2A56',\n\torslope: '\\u2A57',\n\torv: '\\u2A5B',\n\toS: '\\u24C8',\n\tOscr: '\\uD835\\uDCAA',\n\toscr: '\\u2134',\n\tOslash: '\\u00D8',\n\toslash: '\\u00F8',\n\tosol: '\\u2298',\n\tOtilde: '\\u00D5',\n\totilde: '\\u00F5',\n\tOtimes: '\\u2A37',\n\totimes: '\\u2297',\n\totimesas: '\\u2A36',\n\tOuml: '\\u00D6',\n\touml: '\\u00F6',\n\tovbar: '\\u233D',\n\tOverBar: '\\u203E',\n\tOverBrace: '\\u23DE',\n\tOverBracket: '\\u23B4',\n\tOverParenthesis: '\\u23DC',\n\tpar: '\\u2225',\n\tpara: '\\u00B6',\n\tparallel: '\\u2225',\n\tparsim: '\\u2AF3',\n\tparsl: '\\u2AFD',\n\tpart: '\\u2202',\n\tPartialD: '\\u2202',\n\tPcy: '\\u041F',\n\tpcy: '\\u043F',\n\tpercnt: '\\u0025',\n\tperiod: '\\u002E',\n\tpermil: '\\u2030',\n\tperp: '\\u22A5',\n\tpertenk: '\\u2031',\n\tPfr: '\\uD835\\uDD13',\n\tpfr: '\\uD835\\uDD2D',\n\tPhi: '\\u03A6',\n\tphi: '\\u03C6',\n\tphiv: '\\u03D5',\n\tphmmat: '\\u2133',\n\tphone: '\\u260E',\n\tPi: '\\u03A0',\n\tpi: '\\u03C0',\n\tpitchfork: '\\u22D4',\n\tpiv: '\\u03D6',\n\tplanck: '\\u210F',\n\tplanckh: '\\u210E',\n\tplankv: '\\u210F',\n\tplus: '\\u002B',\n\tplusacir: '\\u2A23',\n\tplusb: '\\u229E',\n\tpluscir: '\\u2A22',\n\tplusdo: '\\u2214',\n\tplusdu: '\\u2A25',\n\tpluse: '\\u2A72',\n\tPlusMinus: '\\u00B1',\n\tplusmn: '\\u00B1',\n\tplussim: '\\u2A26',\n\tplustwo: '\\u2A27',\n\tpm: '\\u00B1',\n\tPoincareplane: '\\u210C',\n\tpointint: '\\u2A15',\n\tPopf: '\\u2119',\n\tpopf: '\\uD835\\uDD61',\n\tpound: '\\u00A3',\n\tPr: '\\u2ABB',\n\tpr: '\\u227A',\n\tprap: '\\u2AB7',\n\tprcue: '\\u227C',\n\tprE: '\\u2AB3',\n\tpre: '\\u2AAF',\n\tprec: '\\u227A',\n\tprecapprox: '\\u2AB7',\n\tpreccurlyeq: '\\u227C',\n\tPrecedes: '\\u227A',\n\tPrecedesEqual: '\\u2AAF',\n\tPrecedesSlantEqual: '\\u227C',\n\tPrecedesTilde: '\\u227E',\n\tpreceq: '\\u2AAF',\n\tprecnapprox: '\\u2AB9',\n\tprecneqq: '\\u2AB5',\n\tprecnsim: '\\u22E8',\n\tprecsim: '\\u227E',\n\tPrime: '\\u2033',\n\tprime: '\\u2032',\n\tprimes: '\\u2119',\n\tprnap: '\\u2AB9',\n\tprnE: '\\u2AB5',\n\tprnsim: '\\u22E8',\n\tprod: '\\u220F',\n\tProduct: '\\u220F',\n\tprofalar: '\\u232E',\n\tprofline: '\\u2312',\n\tprofsurf: '\\u2313',\n\tprop: '\\u221D',\n\tProportion: '\\u2237',\n\tProportional: '\\u221D',\n\tpropto: '\\u221D',\n\tprsim: '\\u227E',\n\tprurel: '\\u22B0',\n\tPscr: '\\uD835\\uDCAB',\n\tpscr: '\\uD835\\uDCC5',\n\tPsi: '\\u03A8',\n\tpsi: '\\u03C8',\n\tpuncsp: '\\u2008',\n\tQfr: '\\uD835\\uDD14',\n\tqfr: '\\uD835\\uDD2E',\n\tqint: '\\u2A0C',\n\tQopf: '\\u211A',\n\tqopf: '\\uD835\\uDD62',\n\tqprime: '\\u2057',\n\tQscr: '\\uD835\\uDCAC',\n\tqscr: '\\uD835\\uDCC6',\n\tquaternions: '\\u210D',\n\tquatint: '\\u2A16',\n\tquest: '\\u003F',\n\tquesteq: '\\u225F',\n\tQUOT: '\\u0022',\n\tquot: '\\u0022',\n\trAarr: '\\u21DB',\n\trace: '\\u223D\\u0331',\n\tRacute: '\\u0154',\n\tracute: '\\u0155',\n\tradic: '\\u221A',\n\traemptyv: '\\u29B3',\n\tRang: '\\u27EB',\n\trang: '\\u27E9',\n\trangd: '\\u2992',\n\trange: '\\u29A5',\n\trangle: '\\u27E9',\n\traquo: '\\u00BB',\n\tRarr: '\\u21A0',\n\trArr: '\\u21D2',\n\trarr: '\\u2192',\n\trarrap: '\\u2975',\n\trarrb: '\\u21E5',\n\trarrbfs: '\\u2920',\n\trarrc: '\\u2933',\n\trarrfs: '\\u291E',\n\trarrhk: '\\u21AA',\n\trarrlp: '\\u21AC',\n\trarrpl: '\\u2945',\n\trarrsim: '\\u2974',\n\tRarrtl: '\\u2916',\n\trarrtl: '\\u21A3',\n\trarrw: '\\u219D',\n\trAtail: '\\u291C',\n\tratail: '\\u291A',\n\tratio: '\\u2236',\n\trationals: '\\u211A',\n\tRBarr: '\\u2910',\n\trBarr: '\\u290F',\n\trbarr: '\\u290D',\n\trbbrk: '\\u2773',\n\trbrace: '\\u007D',\n\trbrack: '\\u005D',\n\trbrke: '\\u298C',\n\trbrksld: '\\u298E',\n\trbrkslu: '\\u2990',\n\tRcaron: '\\u0158',\n\trcaron: '\\u0159',\n\tRcedil: '\\u0156',\n\trcedil: '\\u0157',\n\trceil: '\\u2309',\n\trcub: '\\u007D',\n\tRcy: '\\u0420',\n\trcy: '\\u0440',\n\trdca: '\\u2937',\n\trdldhar: '\\u2969',\n\trdquo: '\\u201D',\n\trdquor: '\\u201D',\n\trdsh: '\\u21B3',\n\tRe: '\\u211C',\n\treal: '\\u211C',\n\trealine: '\\u211B',\n\trealpart: '\\u211C',\n\treals: '\\u211D',\n\trect: '\\u25AD',\n\tREG: '\\u00AE',\n\treg: '\\u00AE',\n\tReverseElement: '\\u220B',\n\tReverseEquilibrium: '\\u21CB',\n\tReverseUpEquilibrium: '\\u296F',\n\trfisht: '\\u297D',\n\trfloor: '\\u230B',\n\tRfr: '\\u211C',\n\trfr: '\\uD835\\uDD2F',\n\trHar: '\\u2964',\n\trhard: '\\u21C1',\n\trharu: '\\u21C0',\n\trharul: '\\u296C',\n\tRho: '\\u03A1',\n\trho: '\\u03C1',\n\trhov: '\\u03F1',\n\tRightAngleBracket: '\\u27E9',\n\tRightArrow: '\\u2192',\n\tRightarrow: '\\u21D2',\n\trightarrow: '\\u2192',\n\tRightArrowBar: '\\u21E5',\n\tRightArrowLeftArrow: '\\u21C4',\n\trightarrowtail: '\\u21A3',\n\tRightCeiling: '\\u2309',\n\tRightDoubleBracket: '\\u27E7',\n\tRightDownTeeVector: '\\u295D',\n\tRightDownVector: '\\u21C2',\n\tRightDownVectorBar: '\\u2955',\n\tRightFloor: '\\u230B',\n\trightharpoondown: '\\u21C1',\n\trightharpoonup: '\\u21C0',\n\trightleftarrows: '\\u21C4',\n\trightleftharpoons: '\\u21CC',\n\trightrightarrows: '\\u21C9',\n\trightsquigarrow: '\\u219D',\n\tRightTee: '\\u22A2',\n\tRightTeeArrow: '\\u21A6',\n\tRightTeeVector: '\\u295B',\n\trightthreetimes: '\\u22CC',\n\tRightTriangle: '\\u22B3',\n\tRightTriangleBar: '\\u29D0',\n\tRightTriangleEqual: '\\u22B5',\n\tRightUpDownVector: '\\u294F',\n\tRightUpTeeVector: '\\u295C',\n\tRightUpVector: '\\u21BE',\n\tRightUpVectorBar: '\\u2954',\n\tRightVector: '\\u21C0',\n\tRightVectorBar: '\\u2953',\n\tring: '\\u02DA',\n\trisingdotseq: '\\u2253',\n\trlarr: '\\u21C4',\n\trlhar: '\\u21CC',\n\trlm: '\\u200F',\n\trmoust: '\\u23B1',\n\trmoustache: '\\u23B1',\n\trnmid: '\\u2AEE',\n\troang: '\\u27ED',\n\troarr: '\\u21FE',\n\trobrk: '\\u27E7',\n\tropar: '\\u2986',\n\tRopf: '\\u211D',\n\tropf: '\\uD835\\uDD63',\n\troplus: '\\u2A2E',\n\trotimes: '\\u2A35',\n\tRoundImplies: '\\u2970',\n\trpar: '\\u0029',\n\trpargt: '\\u2994',\n\trppolint: '\\u2A12',\n\trrarr: '\\u21C9',\n\tRrightarrow: '\\u21DB',\n\trsaquo: '\\u203A',\n\tRscr: '\\u211B',\n\trscr: '\\uD835\\uDCC7',\n\tRsh: '\\u21B1',\n\trsh: '\\u21B1',\n\trsqb: '\\u005D',\n\trsquo: '\\u2019',\n\trsquor: '\\u2019',\n\trthree: '\\u22CC',\n\trtimes: '\\u22CA',\n\trtri: '\\u25B9',\n\trtrie: '\\u22B5',\n\trtrif: '\\u25B8',\n\trtriltri: '\\u29CE',\n\tRuleDelayed: '\\u29F4',\n\truluhar: '\\u2968',\n\trx: '\\u211E',\n\tSacute: '\\u015A',\n\tsacute: '\\u015B',\n\tsbquo: '\\u201A',\n\tSc: '\\u2ABC',\n\tsc: '\\u227B',\n\tscap: '\\u2AB8',\n\tScaron: '\\u0160',\n\tscaron: '\\u0161',\n\tsccue: '\\u227D',\n\tscE: '\\u2AB4',\n\tsce: '\\u2AB0',\n\tScedil: '\\u015E',\n\tscedil: '\\u015F',\n\tScirc: '\\u015C',\n\tscirc: '\\u015D',\n\tscnap: '\\u2ABA',\n\tscnE: '\\u2AB6',\n\tscnsim: '\\u22E9',\n\tscpolint: '\\u2A13',\n\tscsim: '\\u227F',\n\tScy: '\\u0421',\n\tscy: '\\u0441',\n\tsdot: '\\u22C5',\n\tsdotb: '\\u22A1',\n\tsdote: '\\u2A66',\n\tsearhk: '\\u2925',\n\tseArr: '\\u21D8',\n\tsearr: '\\u2198',\n\tsearrow: '\\u2198',\n\tsect: '\\u00A7',\n\tsemi: '\\u003B',\n\tseswar: '\\u2929',\n\tsetminus: '\\u2216',\n\tsetmn: '\\u2216',\n\tsext: '\\u2736',\n\tSfr: '\\uD835\\uDD16',\n\tsfr: '\\uD835\\uDD30',\n\tsfrown: '\\u2322',\n\tsharp: '\\u266F',\n\tSHCHcy: '\\u0429',\n\tshchcy: '\\u0449',\n\tSHcy: '\\u0428',\n\tshcy: '\\u0448',\n\tShortDownArrow: '\\u2193',\n\tShortLeftArrow: '\\u2190',\n\tshortmid: '\\u2223',\n\tshortparallel: '\\u2225',\n\tShortRightArrow: '\\u2192',\n\tShortUpArrow: '\\u2191',\n\tshy: '\\u00AD',\n\tSigma: '\\u03A3',\n\tsigma: '\\u03C3',\n\tsigmaf: '\\u03C2',\n\tsigmav: '\\u03C2',\n\tsim: '\\u223C',\n\tsimdot: '\\u2A6A',\n\tsime: '\\u2243',\n\tsimeq: '\\u2243',\n\tsimg: '\\u2A9E',\n\tsimgE: '\\u2AA0',\n\tsiml: '\\u2A9D',\n\tsimlE: '\\u2A9F',\n\tsimne: '\\u2246',\n\tsimplus: '\\u2A24',\n\tsimrarr: '\\u2972',\n\tslarr: '\\u2190',\n\tSmallCircle: '\\u2218',\n\tsmallsetminus: '\\u2216',\n\tsmashp: '\\u2A33',\n\tsmeparsl: '\\u29E4',\n\tsmid: '\\u2223',\n\tsmile: '\\u2323',\n\tsmt: '\\u2AAA',\n\tsmte: '\\u2AAC',\n\tsmtes: '\\u2AAC\\uFE00',\n\tSOFTcy: '\\u042C',\n\tsoftcy: '\\u044C',\n\tsol: '\\u002F',\n\tsolb: '\\u29C4',\n\tsolbar: '\\u233F',\n\tSopf: '\\uD835\\uDD4A',\n\tsopf: '\\uD835\\uDD64',\n\tspades: '\\u2660',\n\tspadesuit: '\\u2660',\n\tspar: '\\u2225',\n\tsqcap: '\\u2293',\n\tsqcaps: '\\u2293\\uFE00',\n\tsqcup: '\\u2294',\n\tsqcups: '\\u2294\\uFE00',\n\tSqrt: '\\u221A',\n\tsqsub: '\\u228F',\n\tsqsube: '\\u2291',\n\tsqsubset: '\\u228F',\n\tsqsubseteq: '\\u2291',\n\tsqsup: '\\u2290',\n\tsqsupe: '\\u2292',\n\tsqsupset: '\\u2290',\n\tsqsupseteq: '\\u2292',\n\tsqu: '\\u25A1',\n\tSquare: '\\u25A1',\n\tsquare: '\\u25A1',\n\tSquareIntersection: '\\u2293',\n\tSquareSubset: '\\u228F',\n\tSquareSubsetEqual: '\\u2291',\n\tSquareSuperset: '\\u2290',\n\tSquareSupersetEqual: '\\u2292',\n\tSquareUnion: '\\u2294',\n\tsquarf: '\\u25AA',\n\tsquf: '\\u25AA',\n\tsrarr: '\\u2192',\n\tSscr: '\\uD835\\uDCAE',\n\tsscr: '\\uD835\\uDCC8',\n\tssetmn: '\\u2216',\n\tssmile: '\\u2323',\n\tsstarf: '\\u22C6',\n\tStar: '\\u22C6',\n\tstar: '\\u2606',\n\tstarf: '\\u2605',\n\tstraightepsilon: '\\u03F5',\n\tstraightphi: '\\u03D5',\n\tstrns: '\\u00AF',\n\tSub: '\\u22D0',\n\tsub: '\\u2282',\n\tsubdot: '\\u2ABD',\n\tsubE: '\\u2AC5',\n\tsube: '\\u2286',\n\tsubedot: '\\u2AC3',\n\tsubmult: '\\u2AC1',\n\tsubnE: '\\u2ACB',\n\tsubne: '\\u228A',\n\tsubplus: '\\u2ABF',\n\tsubrarr: '\\u2979',\n\tSubset: '\\u22D0',\n\tsubset: '\\u2282',\n\tsubseteq: '\\u2286',\n\tsubseteqq: '\\u2AC5',\n\tSubsetEqual: '\\u2286',\n\tsubsetneq: '\\u228A',\n\tsubsetneqq: '\\u2ACB',\n\tsubsim: '\\u2AC7',\n\tsubsub: '\\u2AD5',\n\tsubsup: '\\u2AD3',\n\tsucc: '\\u227B',\n\tsuccapprox: '\\u2AB8',\n\tsucccurlyeq: '\\u227D',\n\tSucceeds: '\\u227B',\n\tSucceedsEqual: '\\u2AB0',\n\tSucceedsSlantEqual: '\\u227D',\n\tSucceedsTilde: '\\u227F',\n\tsucceq: '\\u2AB0',\n\tsuccnapprox: '\\u2ABA',\n\tsuccneqq: '\\u2AB6',\n\tsuccnsim: '\\u22E9',\n\tsuccsim: '\\u227F',\n\tSuchThat: '\\u220B',\n\tSum: '\\u2211',\n\tsum: '\\u2211',\n\tsung: '\\u266A',\n\tSup: '\\u22D1',\n\tsup: '\\u2283',\n\tsup1: '\\u00B9',\n\tsup2: '\\u00B2',\n\tsup3: '\\u00B3',\n\tsupdot: '\\u2ABE',\n\tsupdsub: '\\u2AD8',\n\tsupE: '\\u2AC6',\n\tsupe: '\\u2287',\n\tsupedot: '\\u2AC4',\n\tSuperset: '\\u2283',\n\tSupersetEqual: '\\u2287',\n\tsuphsol: '\\u27C9',\n\tsuphsub: '\\u2AD7',\n\tsuplarr: '\\u297B',\n\tsupmult: '\\u2AC2',\n\tsupnE: '\\u2ACC',\n\tsupne: '\\u228B',\n\tsupplus: '\\u2AC0',\n\tSupset: '\\u22D1',\n\tsupset: '\\u2283',\n\tsupseteq: '\\u2287',\n\tsupseteqq: '\\u2AC6',\n\tsupsetneq: '\\u228B',\n\tsupsetneqq: '\\u2ACC',\n\tsupsim: '\\u2AC8',\n\tsupsub: '\\u2AD4',\n\tsupsup: '\\u2AD6',\n\tswarhk: '\\u2926',\n\tswArr: '\\u21D9',\n\tswarr: '\\u2199',\n\tswarrow: '\\u2199',\n\tswnwar: '\\u292A',\n\tszlig: '\\u00DF',\n\tTab: '\\u0009',\n\ttarget: '\\u2316',\n\tTau: '\\u03A4',\n\ttau: '\\u03C4',\n\ttbrk: '\\u23B4',\n\tTcaron: '\\u0164',\n\ttcaron: '\\u0165',\n\tTcedil: '\\u0162',\n\ttcedil: '\\u0163',\n\tTcy: '\\u0422',\n\ttcy: '\\u0442',\n\ttdot: '\\u20DB',\n\ttelrec: '\\u2315',\n\tTfr: '\\uD835\\uDD17',\n\ttfr: '\\uD835\\uDD31',\n\tthere4: '\\u2234',\n\tTherefore: '\\u2234',\n\ttherefore: '\\u2234',\n\tTheta: '\\u0398',\n\ttheta: '\\u03B8',\n\tthetasym: '\\u03D1',\n\tthetav: '\\u03D1',\n\tthickapprox: '\\u2248',\n\tthicksim: '\\u223C',\n\tThickSpace: '\\u205F\\u200A',\n\tthinsp: '\\u2009',\n\tThinSpace: '\\u2009',\n\tthkap: '\\u2248',\n\tthksim: '\\u223C',\n\tTHORN: '\\u00DE',\n\tthorn: '\\u00FE',\n\tTilde: '\\u223C',\n\ttilde: '\\u02DC',\n\tTildeEqual: '\\u2243',\n\tTildeFullEqual: '\\u2245',\n\tTildeTilde: '\\u2248',\n\ttimes: '\\u00D7',\n\ttimesb: '\\u22A0',\n\ttimesbar: '\\u2A31',\n\ttimesd: '\\u2A30',\n\ttint: '\\u222D',\n\ttoea: '\\u2928',\n\ttop: '\\u22A4',\n\ttopbot: '\\u2336',\n\ttopcir: '\\u2AF1',\n\tTopf: '\\uD835\\uDD4B',\n\ttopf: '\\uD835\\uDD65',\n\ttopfork: '\\u2ADA',\n\ttosa: '\\u2929',\n\ttprime: '\\u2034',\n\tTRADE: '\\u2122',\n\ttrade: '\\u2122',\n\ttriangle: '\\u25B5',\n\ttriangledown: '\\u25BF',\n\ttriangleleft: '\\u25C3',\n\ttrianglelefteq: '\\u22B4',\n\ttriangleq: '\\u225C',\n\ttriangleright: '\\u25B9',\n\ttrianglerighteq: '\\u22B5',\n\ttridot: '\\u25EC',\n\ttrie: '\\u225C',\n\ttriminus: '\\u2A3A',\n\tTripleDot: '\\u20DB',\n\ttriplus: '\\u2A39',\n\ttrisb: '\\u29CD',\n\ttritime: '\\u2A3B',\n\ttrpezium: '\\u23E2',\n\tTscr: '\\uD835\\uDCAF',\n\ttscr: '\\uD835\\uDCC9',\n\tTScy: '\\u0426',\n\ttscy: '\\u0446',\n\tTSHcy: '\\u040B',\n\ttshcy: '\\u045B',\n\tTstrok: '\\u0166',\n\ttstrok: '\\u0167',\n\ttwixt: '\\u226C',\n\ttwoheadleftarrow: '\\u219E',\n\ttwoheadrightarrow: '\\u21A0',\n\tUacute: '\\u00DA',\n\tuacute: '\\u00FA',\n\tUarr: '\\u219F',\n\tuArr: '\\u21D1',\n\tuarr: '\\u2191',\n\tUarrocir: '\\u2949',\n\tUbrcy: '\\u040E',\n\tubrcy: '\\u045E',\n\tUbreve: '\\u016C',\n\tubreve: '\\u016D',\n\tUcirc: '\\u00DB',\n\tucirc: '\\u00FB',\n\tUcy: '\\u0423',\n\tucy: '\\u0443',\n\tudarr: '\\u21C5',\n\tUdblac: '\\u0170',\n\tudblac: '\\u0171',\n\tudhar: '\\u296E',\n\tufisht: '\\u297E',\n\tUfr: '\\uD835\\uDD18',\n\tufr: '\\uD835\\uDD32',\n\tUgrave: '\\u00D9',\n\tugrave: '\\u00F9',\n\tuHar: '\\u2963',\n\tuharl: '\\u21BF',\n\tuharr: '\\u21BE',\n\tuhblk: '\\u2580',\n\tulcorn: '\\u231C',\n\tulcorner: '\\u231C',\n\tulcrop: '\\u230F',\n\tultri: '\\u25F8',\n\tUmacr: '\\u016A',\n\tumacr: '\\u016B',\n\tuml: '\\u00A8',\n\tUnderBar: '\\u005F',\n\tUnderBrace: '\\u23DF',\n\tUnderBracket: '\\u23B5',\n\tUnderParenthesis: '\\u23DD',\n\tUnion: '\\u22C3',\n\tUnionPlus: '\\u228E',\n\tUogon: '\\u0172',\n\tuogon: '\\u0173',\n\tUopf: '\\uD835\\uDD4C',\n\tuopf: '\\uD835\\uDD66',\n\tUpArrow: '\\u2191',\n\tUparrow: '\\u21D1',\n\tuparrow: '\\u2191',\n\tUpArrowBar: '\\u2912',\n\tUpArrowDownArrow: '\\u21C5',\n\tUpDownArrow: '\\u2195',\n\tUpdownarrow: '\\u21D5',\n\tupdownarrow: '\\u2195',\n\tUpEquilibrium: '\\u296E',\n\tupharpoonleft: '\\u21BF',\n\tupharpoonright: '\\u21BE',\n\tuplus: '\\u228E',\n\tUpperLeftArrow: '\\u2196',\n\tUpperRightArrow: '\\u2197',\n\tUpsi: '\\u03D2',\n\tupsi: '\\u03C5',\n\tupsih: '\\u03D2',\n\tUpsilon: '\\u03A5',\n\tupsilon: '\\u03C5',\n\tUpTee: '\\u22A5',\n\tUpTeeArrow: '\\u21A5',\n\tupuparrows: '\\u21C8',\n\turcorn: '\\u231D',\n\turcorner: '\\u231D',\n\turcrop: '\\u230E',\n\tUring: '\\u016E',\n\turing: '\\u016F',\n\turtri: '\\u25F9',\n\tUscr: '\\uD835\\uDCB0',\n\tuscr: '\\uD835\\uDCCA',\n\tutdot: '\\u22F0',\n\tUtilde: '\\u0168',\n\tutilde: '\\u0169',\n\tutri: '\\u25B5',\n\tutrif: '\\u25B4',\n\tuuarr: '\\u21C8',\n\tUuml: '\\u00DC',\n\tuuml: '\\u00FC',\n\tuwangle: '\\u29A7',\n\tvangrt: '\\u299C',\n\tvarepsilon: '\\u03F5',\n\tvarkappa: '\\u03F0',\n\tvarnothing: '\\u2205',\n\tvarphi: '\\u03D5',\n\tvarpi: '\\u03D6',\n\tvarpropto: '\\u221D',\n\tvArr: '\\u21D5',\n\tvarr: '\\u2195',\n\tvarrho: '\\u03F1',\n\tvarsigma: '\\u03C2',\n\tvarsubsetneq: '\\u228A\\uFE00',\n\tvarsubsetneqq: '\\u2ACB\\uFE00',\n\tvarsupsetneq: '\\u228B\\uFE00',\n\tvarsupsetneqq: '\\u2ACC\\uFE00',\n\tvartheta: '\\u03D1',\n\tvartriangleleft: '\\u22B2',\n\tvartriangleright: '\\u22B3',\n\tVbar: '\\u2AEB',\n\tvBar: '\\u2AE8',\n\tvBarv: '\\u2AE9',\n\tVcy: '\\u0412',\n\tvcy: '\\u0432',\n\tVDash: '\\u22AB',\n\tVdash: '\\u22A9',\n\tvDash: '\\u22A8',\n\tvdash: '\\u22A2',\n\tVdashl: '\\u2AE6',\n\tVee: '\\u22C1',\n\tvee: '\\u2228',\n\tveebar: '\\u22BB',\n\tveeeq: '\\u225A',\n\tvellip: '\\u22EE',\n\tVerbar: '\\u2016',\n\tverbar: '\\u007C',\n\tVert: '\\u2016',\n\tvert: '\\u007C',\n\tVerticalBar: '\\u2223',\n\tVerticalLine: '\\u007C',\n\tVerticalSeparator: '\\u2758',\n\tVerticalTilde: '\\u2240',\n\tVeryThinSpace: '\\u200A',\n\tVfr: '\\uD835\\uDD19',\n\tvfr: '\\uD835\\uDD33',\n\tvltri: '\\u22B2',\n\tvnsub: '\\u2282\\u20D2',\n\tvnsup: '\\u2283\\u20D2',\n\tVopf: '\\uD835\\uDD4D',\n\tvopf: '\\uD835\\uDD67',\n\tvprop: '\\u221D',\n\tvrtri: '\\u22B3',\n\tVscr: '\\uD835\\uDCB1',\n\tvscr: '\\uD835\\uDCCB',\n\tvsubnE: '\\u2ACB\\uFE00',\n\tvsubne: '\\u228A\\uFE00',\n\tvsupnE: '\\u2ACC\\uFE00',\n\tvsupne: '\\u228B\\uFE00',\n\tVvdash: '\\u22AA',\n\tvzigzag: '\\u299A',\n\tWcirc: '\\u0174',\n\twcirc: '\\u0175',\n\twedbar: '\\u2A5F',\n\tWedge: '\\u22C0',\n\twedge: '\\u2227',\n\twedgeq: '\\u2259',\n\tweierp: '\\u2118',\n\tWfr: '\\uD835\\uDD1A',\n\twfr: '\\uD835\\uDD34',\n\tWopf: '\\uD835\\uDD4E',\n\twopf: '\\uD835\\uDD68',\n\twp: '\\u2118',\n\twr: '\\u2240',\n\twreath: '\\u2240',\n\tWscr: '\\uD835\\uDCB2',\n\twscr: '\\uD835\\uDCCC',\n\txcap: '\\u22C2',\n\txcirc: '\\u25EF',\n\txcup: '\\u22C3',\n\txdtri: '\\u25BD',\n\tXfr: '\\uD835\\uDD1B',\n\txfr: '\\uD835\\uDD35',\n\txhArr: '\\u27FA',\n\txharr: '\\u27F7',\n\tXi: '\\u039E',\n\txi: '\\u03BE',\n\txlArr: '\\u27F8',\n\txlarr: '\\u27F5',\n\txmap: '\\u27FC',\n\txnis: '\\u22FB',\n\txodot: '\\u2A00',\n\tXopf: '\\uD835\\uDD4F',\n\txopf: '\\uD835\\uDD69',\n\txoplus: '\\u2A01',\n\txotime: '\\u2A02',\n\txrArr: '\\u27F9',\n\txrarr: '\\u27F6',\n\tXscr: '\\uD835\\uDCB3',\n\txscr: '\\uD835\\uDCCD',\n\txsqcup: '\\u2A06',\n\txuplus: '\\u2A04',\n\txutri: '\\u25B3',\n\txvee: '\\u22C1',\n\txwedge: '\\u22C0',\n\tYacute: '\\u00DD',\n\tyacute: '\\u00FD',\n\tYAcy: '\\u042F',\n\tyacy: '\\u044F',\n\tYcirc: '\\u0176',\n\tycirc: '\\u0177',\n\tYcy: '\\u042B',\n\tycy: '\\u044B',\n\tyen: '\\u00A5',\n\tYfr: '\\uD835\\uDD1C',\n\tyfr: '\\uD835\\uDD36',\n\tYIcy: '\\u0407',\n\tyicy: '\\u0457',\n\tYopf: '\\uD835\\uDD50',\n\tyopf: '\\uD835\\uDD6A',\n\tYscr: '\\uD835\\uDCB4',\n\tyscr: '\\uD835\\uDCCE',\n\tYUcy: '\\u042E',\n\tyucy: '\\u044E',\n\tYuml: '\\u0178',\n\tyuml: '\\u00FF',\n\tZacute: '\\u0179',\n\tzacute: '\\u017A',\n\tZcaron: '\\u017D',\n\tzcaron: '\\u017E',\n\tZcy: '\\u0417',\n\tzcy: '\\u0437',\n\tZdot: '\\u017B',\n\tzdot: '\\u017C',\n\tzeetrf: '\\u2128',\n\tZeroWidthSpace: '\\u200B',\n\tZeta: '\\u0396',\n\tzeta: '\\u03B6',\n\tZfr: '\\u2128',\n\tzfr: '\\uD835\\uDD37',\n\tZHcy: '\\u0416',\n\tzhcy: '\\u0436',\n\tzigrarr: '\\u21DD',\n\tZopf: '\\u2124',\n\tzopf: '\\uD835\\uDD6B',\n\tZscr: '\\uD835\\uDCB5',\n\tzscr: '\\uD835\\uDCCF',\n\tzwj: '\\u200D',\n\tzwnj: '\\u200C',\n});\n\n/**\n * @deprecated use `HTML_ENTITIES` instead\n * @see HTML_ENTITIES\n */\nexports.entityMap = exports.HTML_ENTITIES;\n","var NAMESPACE = require(\"./conventions\").NAMESPACE;\n\n//[4] \tNameStartChar\t ::= \t\":\" | [A-Z] | \"_\" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n//[4a] \tNameChar\t ::= \tNameStartChar | \"-\" | \".\" | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]\n//[5] \tName\t ::= \tNameStartChar (NameChar)*\nvar nameStartChar = /[A-Z_a-z\\xC0-\\xD6\\xD8-\\xF6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]///\\u10000-\\uEFFFF\nvar nameChar = new RegExp(\"[\\\\-\\\\.0-9\"+nameStartChar.source.slice(1,-1)+\"\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]\");\nvar tagNamePattern = new RegExp('^'+nameStartChar.source+nameChar.source+'*(?:\\:'+nameStartChar.source+nameChar.source+'*)?$');\n//var tagNamePattern = /^[a-zA-Z_][\\w\\-\\.]*(?:\\:[a-zA-Z_][\\w\\-\\.]*)?$/\n//var handlers = 'resolveEntity,getExternalSubset,characters,endDocument,endElement,endPrefixMapping,ignorableWhitespace,processingInstruction,setDocumentLocator,skippedEntity,startDocument,startElement,startPrefixMapping,notationDecl,unparsedEntityDecl,error,fatalError,warning,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,comment,endCDATA,endDTD,endEntity,startCDATA,startDTD,startEntity'.split(',')\n\n//S_TAG,\tS_ATTR,\tS_EQ,\tS_ATTR_NOQUOT_VALUE\n//S_ATTR_SPACE,\tS_ATTR_END,\tS_TAG_SPACE, S_TAG_CLOSE\nvar S_TAG = 0;//tag name offerring\nvar S_ATTR = 1;//attr name offerring\nvar S_ATTR_SPACE=2;//attr name end and space offer\nvar S_EQ = 3;//=space?\nvar S_ATTR_NOQUOT_VALUE = 4;//attr value(no quot value only)\nvar S_ATTR_END = 5;//attr value end and no space(quot end)\nvar S_TAG_SPACE = 6;//(attr value end || tag end ) && (space offer)\nvar S_TAG_CLOSE = 7;//closed el<el />\n\n/**\n * Creates an error that will not be caught by XMLReader aka the SAX parser.\n *\n * @param {string} message\n * @param {any?} locator Optional, can provide details about the location in the source\n * @constructor\n */\nfunction ParseError(message, locator) {\n\tthis.message = message\n\tthis.locator = locator\n\tif(Error.captureStackTrace) Error.captureStackTrace(this, ParseError);\n}\nParseError.prototype = new Error();\nParseError.prototype.name = ParseError.name\n\nfunction XMLReader(){\n\n}\n\nXMLReader.prototype = {\n\tparse:function(source,defaultNSMap,entityMap){\n\t\tvar domBuilder = this.domBuilder;\n\t\tdomBuilder.startDocument();\n\t\t_copy(defaultNSMap ,defaultNSMap = {})\n\t\tparse(source,defaultNSMap,entityMap,\n\t\t\t\tdomBuilder,this.errorHandler);\n\t\tdomBuilder.endDocument();\n\t}\n}\nfunction parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){\n\tfunction fixedFromCharCode(code) {\n\t\t// String.prototype.fromCharCode does not supports\n\t\t// > 2 bytes unicode chars directly\n\t\tif (code > 0xffff) {\n\t\t\tcode -= 0x10000;\n\t\t\tvar surrogate1 = 0xd800 + (code >> 10)\n\t\t\t\t, surrogate2 = 0xdc00 + (code & 0x3ff);\n\n\t\t\treturn String.fromCharCode(surrogate1, surrogate2);\n\t\t} else {\n\t\t\treturn String.fromCharCode(code);\n\t\t}\n\t}\n\tfunction entityReplacer(a){\n\t\tvar k = a.slice(1,-1);\n\t\tif (Object.hasOwnProperty.call(entityMap, k)) {\n\t\t\treturn entityMap[k];\n\t\t}else if(k.charAt(0) === '#'){\n\t\t\treturn fixedFromCharCode(parseInt(k.substr(1).replace('x','0x')))\n\t\t}else{\n\t\t\terrorHandler.error('entity not found:'+a);\n\t\t\treturn a;\n\t\t}\n\t}\n\tfunction appendText(end){//has some bugs\n\t\tif(end>start){\n\t\t\tvar xt = source.substring(start,end).replace(/&#?\\w+;/g,entityReplacer);\n\t\t\tlocator&&position(start);\n\t\t\tdomBuilder.characters(xt,0,end-start);\n\t\t\tstart = end\n\t\t}\n\t}\n\tfunction position(p,m){\n\t\twhile(p>=lineEnd && (m = linePattern.exec(source))){\n\t\t\tlineStart = m.index;\n\t\t\tlineEnd = lineStart + m[0].length;\n\t\t\tlocator.lineNumber++;\n\t\t\t//console.log('line++:',locator,startPos,endPos)\n\t\t}\n\t\tlocator.columnNumber = p-lineStart+1;\n\t}\n\tvar lineStart = 0;\n\tvar lineEnd = 0;\n\tvar linePattern = /.*(?:\\r\\n?|\\n)|.*$/g\n\tvar locator = domBuilder.locator;\n\n\tvar parseStack = [{currentNSMap:defaultNSMapCopy}]\n\tvar closeMap = {};\n\tvar start = 0;\n\twhile(true){\n\t\ttry{\n\t\t\tvar tagStart = source.indexOf('<',start);\n\t\t\tif(tagStart<0){\n\t\t\t\tif(!source.substr(start).match(/^\\s*$/)){\n\t\t\t\t\tvar doc = domBuilder.doc;\n\t \t\t\tvar text = doc.createTextNode(source.substr(start));\n\t \t\t\tdoc.appendChild(text);\n\t \t\t\tdomBuilder.currentElement = text;\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif(tagStart>start){\n\t\t\t\tappendText(tagStart);\n\t\t\t}\n\t\t\tswitch(source.charAt(tagStart+1)){\n\t\t\tcase '/':\n\t\t\t\tvar end = source.indexOf('>',tagStart+3);\n\t\t\t\tvar tagName = source.substring(tagStart + 2, end).replace(/[ \\t\\n\\r]+$/g, '');\n\t\t\t\tvar config = parseStack.pop();\n\t\t\t\tif(end<0){\n\n\t \t\ttagName = source.substring(tagStart+2).replace(/[\\s<].*/,'');\n\t \t\terrorHandler.error(\"end tag name: \"+tagName+' is not complete:'+config.tagName);\n\t \t\tend = tagStart+1+tagName.length;\n\t \t}else if(tagName.match(/\\s</)){\n\t \t\ttagName = tagName.replace(/[\\s<].*/,'');\n\t \t\terrorHandler.error(\"end tag name: \"+tagName+' maybe not complete');\n\t \t\tend = tagStart+1+tagName.length;\n\t\t\t\t}\n\t\t\t\tvar localNSMap = config.localNSMap;\n\t\t\t\tvar endMatch = config.tagName == tagName;\n\t\t\t\tvar endIgnoreCaseMach = endMatch || config.tagName&&config.tagName.toLowerCase() == tagName.toLowerCase()\n\t\t if(endIgnoreCaseMach){\n\t\t \tdomBuilder.endElement(config.uri,config.localName,tagName);\n\t\t\t\t\tif(localNSMap){\n\t\t\t\t\t\tfor (var prefix in localNSMap) {\n\t\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(localNSMap, prefix)) {\n\t\t\t\t\t\t\t\tdomBuilder.endPrefixMapping(prefix);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif(!endMatch){\n\t\t \terrorHandler.fatalError(\"end tag name: \"+tagName+' is not match the current start tagName:'+config.tagName ); // No known test case\n\t\t\t\t\t}\n\t\t }else{\n\t\t \tparseStack.push(config)\n\t\t }\n\n\t\t\t\tend++;\n\t\t\t\tbreak;\n\t\t\t\t// end elment\n\t\t\tcase '?':// <?...?>\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tend = parseInstruction(source,tagStart,domBuilder);\n\t\t\t\tbreak;\n\t\t\tcase '!':// <!doctype,<![CDATA,<!--\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tend = parseDCC(source,tagStart,domBuilder,errorHandler);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tlocator&&position(tagStart);\n\t\t\t\tvar el = new ElementAttributes();\n\t\t\t\tvar currentNSMap = parseStack[parseStack.length-1].currentNSMap;\n\t\t\t\t//elStartEnd\n\t\t\t\tvar end = parseElementStartPart(source,tagStart,el,currentNSMap,entityReplacer,errorHandler);\n\t\t\t\tvar len = el.length;\n\n\n\t\t\t\tif(!el.closed && fixSelfClosed(source,end,el.tagName,closeMap)){\n\t\t\t\t\tel.closed = true;\n\t\t\t\t\tif(!entityMap.nbsp){\n\t\t\t\t\t\terrorHandler.warning('unclosed xml attribute');\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(locator && len){\n\t\t\t\t\tvar locator2 = copyLocator(locator,{});\n\t\t\t\t\t//try{//attribute position fixed\n\t\t\t\t\tfor(var i = 0;i<len;i++){\n\t\t\t\t\t\tvar a = el[i];\n\t\t\t\t\t\tposition(a.offset);\n\t\t\t\t\t\ta.locator = copyLocator(locator,{});\n\t\t\t\t\t}\n\t\t\t\t\tdomBuilder.locator = locator2\n\t\t\t\t\tif(appendElement(el,domBuilder,currentNSMap)){\n\t\t\t\t\t\tparseStack.push(el)\n\t\t\t\t\t}\n\t\t\t\t\tdomBuilder.locator = locator;\n\t\t\t\t}else{\n\t\t\t\t\tif(appendElement(el,domBuilder,currentNSMap)){\n\t\t\t\t\t\tparseStack.push(el)\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (NAMESPACE.isHTML(el.uri) && !el.closed) {\n\t\t\t\t\tend = parseHtmlSpecialContent(source,end,el.tagName,entityReplacer,domBuilder)\n\t\t\t\t} else {\n\t\t\t\t\tend++;\n\t\t\t\t}\n\t\t\t}\n\t\t}catch(e){\n\t\t\tif (e instanceof ParseError) {\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t\terrorHandler.error('element parse error: '+e)\n\t\t\tend = -1;\n\t\t}\n\t\tif(end>start){\n\t\t\tstart = end;\n\t\t}else{\n\t\t\t//TODO: 这里有可能sax回退,有位置错误风险\n\t\t\tappendText(Math.max(tagStart,start)+1);\n\t\t}\n\t}\n}\nfunction copyLocator(f,t){\n\tt.lineNumber = f.lineNumber;\n\tt.columnNumber = f.columnNumber;\n\treturn t;\n}\n\n/**\n * @see #appendElement(source,elStartEnd,el,selfClosed,entityReplacer,domBuilder,parseStack);\n * @return end of the elementStartPart(end of elementEndPart for selfClosed el)\n */\nfunction parseElementStartPart(source,start,el,currentNSMap,entityReplacer,errorHandler){\n\n\t/**\n\t * @param {string} qname\n\t * @param {string} value\n\t * @param {number} startIndex\n\t */\n\tfunction addAttribute(qname, value, startIndex) {\n\t\tif (el.attributeNames.hasOwnProperty(qname)) {\n\t\t\terrorHandler.fatalError('Attribute ' + qname + ' redefined')\n\t\t}\n\t\tel.addValue(\n\t\t\tqname,\n\t\t\t// @see https://www.w3.org/TR/xml/#AVNormalize\n\t\t\t// since the xmldom sax parser does not \"interpret\" DTD the following is not implemented:\n\t\t\t// - recursive replacement of (DTD) entity references\n\t\t\t// - trimming and collapsing multiple spaces into a single one for attributes that are not of type CDATA\n\t\t\tvalue.replace(/[\\t\\n\\r]/g, ' ').replace(/&#?\\w+;/g, entityReplacer),\n\t\t\tstartIndex\n\t\t)\n\t}\n\tvar attrName;\n\tvar value;\n\tvar p = ++start;\n\tvar s = S_TAG;//status\n\twhile(true){\n\t\tvar c = source.charAt(p);\n\t\tswitch(c){\n\t\tcase '=':\n\t\t\tif(s === S_ATTR){//attrName\n\t\t\t\tattrName = source.slice(start,p);\n\t\t\t\ts = S_EQ;\n\t\t\t}else if(s === S_ATTR_SPACE){\n\t\t\t\ts = S_EQ;\n\t\t\t}else{\n\t\t\t\t//fatalError: equal must after attrName or space after attrName\n\t\t\t\tthrow new Error('attribute equal must after attrName'); // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase '\\'':\n\t\tcase '\"':\n\t\t\tif(s === S_EQ || s === S_ATTR //|| s == S_ATTR_SPACE\n\t\t\t\t){//equal\n\t\t\t\tif(s === S_ATTR){\n\t\t\t\t\terrorHandler.warning('attribute value must after \"=\"')\n\t\t\t\t\tattrName = source.slice(start,p)\n\t\t\t\t}\n\t\t\t\tstart = p+1;\n\t\t\t\tp = source.indexOf(c,start)\n\t\t\t\tif(p>0){\n\t\t\t\t\tvalue = source.slice(start, p);\n\t\t\t\t\taddAttribute(attrName, value, start-1);\n\t\t\t\t\ts = S_ATTR_END;\n\t\t\t\t}else{\n\t\t\t\t\t//fatalError: no end quot match\n\t\t\t\t\tthrow new Error('attribute value no end \\''+c+'\\' match');\n\t\t\t\t}\n\t\t\t}else if(s == S_ATTR_NOQUOT_VALUE){\n\t\t\t\tvalue = source.slice(start, p);\n\t\t\t\taddAttribute(attrName, value, start);\n\t\t\t\terrorHandler.warning('attribute \"'+attrName+'\" missed start quot('+c+')!!');\n\t\t\t\tstart = p+1;\n\t\t\t\ts = S_ATTR_END\n\t\t\t}else{\n\t\t\t\t//fatalError: no equal before\n\t\t\t\tthrow new Error('attribute value must after \"=\"'); // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase '/':\n\t\t\tswitch(s){\n\t\t\tcase S_TAG:\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\tcase S_ATTR_END:\n\t\t\tcase S_TAG_SPACE:\n\t\t\tcase S_TAG_CLOSE:\n\t\t\t\ts =S_TAG_CLOSE;\n\t\t\t\tel.closed = true;\n\t\t\tcase S_ATTR_NOQUOT_VALUE:\n\t\t\tcase S_ATTR:\n\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_SPACE:\n\t\t\t\t\tel.closed = true;\n\t\t\t\tbreak;\n\t\t\t//case S_EQ:\n\t\t\tdefault:\n\t\t\t\tthrow new Error(\"attribute invalid close char('/')\") // No known test case\n\t\t\t}\n\t\t\tbreak;\n\t\tcase ''://end document\n\t\t\terrorHandler.error('unexpected end of input');\n\t\t\tif(s == S_TAG){\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\t}\n\t\t\treturn p;\n\t\tcase '>':\n\t\t\tswitch(s){\n\t\t\tcase S_TAG:\n\t\t\t\tel.setTagName(source.slice(start,p));\n\t\t\tcase S_ATTR_END:\n\t\t\tcase S_TAG_SPACE:\n\t\t\tcase S_TAG_CLOSE:\n\t\t\t\tbreak;//normal\n\t\t\tcase S_ATTR_NOQUOT_VALUE://Compatible state\n\t\t\tcase S_ATTR:\n\t\t\t\tvalue = source.slice(start,p);\n\t\t\t\tif(value.slice(-1) === '/'){\n\t\t\t\t\tel.closed = true;\n\t\t\t\t\tvalue = value.slice(0,-1)\n\t\t\t\t}\n\t\t\tcase S_ATTR_SPACE:\n\t\t\t\tif(s === S_ATTR_SPACE){\n\t\t\t\t\tvalue = attrName;\n\t\t\t\t}\n\t\t\t\tif(s == S_ATTR_NOQUOT_VALUE){\n\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed quot(\")!');\n\t\t\t\t\taddAttribute(attrName, value, start)\n\t\t\t\t}else{\n\t\t\t\t\tif(!NAMESPACE.isHTML(currentNSMap['']) || !value.match(/^(?:disabled|checked|selected)$/i)){\n\t\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed value!! \"'+value+'\" instead!!')\n\t\t\t\t\t}\n\t\t\t\t\taddAttribute(value, value, start)\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase S_EQ:\n\t\t\t\tthrow new Error('attribute value missed!!');\n\t\t\t}\n//\t\t\tconsole.log(tagName,tagNamePattern,tagNamePattern.test(tagName))\n\t\t\treturn p;\n\t\t/*xml space '\\x20' | #x9 | #xD | #xA; */\n\t\tcase '\\u0080':\n\t\t\tc = ' ';\n\t\tdefault:\n\t\t\tif(c<= ' '){//space\n\t\t\t\tswitch(s){\n\t\t\t\tcase S_TAG:\n\t\t\t\t\tel.setTagName(source.slice(start,p));//tagName\n\t\t\t\t\ts = S_TAG_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR:\n\t\t\t\t\tattrName = source.slice(start,p)\n\t\t\t\t\ts = S_ATTR_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_NOQUOT_VALUE:\n\t\t\t\t\tvar value = source.slice(start, p);\n\t\t\t\t\terrorHandler.warning('attribute \"'+value+'\" missed quot(\")!!');\n\t\t\t\t\taddAttribute(attrName, value, start)\n\t\t\t\tcase S_ATTR_END:\n\t\t\t\t\ts = S_TAG_SPACE;\n\t\t\t\t\tbreak;\n\t\t\t\t//case S_TAG_SPACE:\n\t\t\t\t//case S_EQ:\n\t\t\t\t//case S_ATTR_SPACE:\n\t\t\t\t//\tvoid();break;\n\t\t\t\t//case S_TAG_CLOSE:\n\t\t\t\t\t//ignore warning\n\t\t\t\t}\n\t\t\t}else{//not space\n//S_TAG,\tS_ATTR,\tS_EQ,\tS_ATTR_NOQUOT_VALUE\n//S_ATTR_SPACE,\tS_ATTR_END,\tS_TAG_SPACE, S_TAG_CLOSE\n\t\t\t\tswitch(s){\n\t\t\t\t//case S_TAG:void();break;\n\t\t\t\t//case S_ATTR:void();break;\n\t\t\t\t//case S_ATTR_NOQUOT_VALUE:void();break;\n\t\t\t\tcase S_ATTR_SPACE:\n\t\t\t\t\tvar tagName = el.tagName;\n\t\t\t\t\tif (!NAMESPACE.isHTML(currentNSMap['']) || !attrName.match(/^(?:disabled|checked|selected)$/i)) {\n\t\t\t\t\t\terrorHandler.warning('attribute \"'+attrName+'\" missed value!! \"'+attrName+'\" instead2!!')\n\t\t\t\t\t}\n\t\t\t\t\taddAttribute(attrName, attrName, start);\n\t\t\t\t\tstart = p;\n\t\t\t\t\ts = S_ATTR;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_ATTR_END:\n\t\t\t\t\terrorHandler.warning('attribute space is required\"'+attrName+'\"!!')\n\t\t\t\tcase S_TAG_SPACE:\n\t\t\t\t\ts = S_ATTR;\n\t\t\t\t\tstart = p;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_EQ:\n\t\t\t\t\ts = S_ATTR_NOQUOT_VALUE;\n\t\t\t\t\tstart = p;\n\t\t\t\t\tbreak;\n\t\t\t\tcase S_TAG_CLOSE:\n\t\t\t\t\tthrow new Error(\"elements closed character '/' and '>' must be connected to\");\n\t\t\t\t}\n\t\t\t}\n\t\t}//end outer switch\n\t\t//console.log('p++',p)\n\t\tp++;\n\t}\n}\n/**\n * @return true if has new namespace define\n */\nfunction appendElement(el,domBuilder,currentNSMap){\n\tvar tagName = el.tagName;\n\tvar localNSMap = null;\n\t//var currentNSMap = parseStack[parseStack.length-1].currentNSMap;\n\tvar i = el.length;\n\twhile(i--){\n\t\tvar a = el[i];\n\t\tvar qName = a.qName;\n\t\tvar value = a.value;\n\t\tvar nsp = qName.indexOf(':');\n\t\tif(nsp>0){\n\t\t\tvar prefix = a.prefix = qName.slice(0,nsp);\n\t\t\tvar localName = qName.slice(nsp+1);\n\t\t\tvar nsPrefix = prefix === 'xmlns' && localName\n\t\t}else{\n\t\t\tlocalName = qName;\n\t\t\tprefix = null\n\t\t\tnsPrefix = qName === 'xmlns' && ''\n\t\t}\n\t\t//can not set prefix,because prefix !== ''\n\t\ta.localName = localName ;\n\t\t//prefix == null for no ns prefix attribute\n\t\tif(nsPrefix !== false){//hack!!\n\t\t\tif(localNSMap == null){\n\t\t\t\tlocalNSMap = {}\n\t\t\t\t//console.log(currentNSMap,0)\n\t\t\t\t_copy(currentNSMap,currentNSMap={})\n\t\t\t\t//console.log(currentNSMap,1)\n\t\t\t}\n\t\t\tcurrentNSMap[nsPrefix] = localNSMap[nsPrefix] = value;\n\t\t\ta.uri = NAMESPACE.XMLNS\n\t\t\tdomBuilder.startPrefixMapping(nsPrefix, value)\n\t\t}\n\t}\n\tvar i = el.length;\n\twhile(i--){\n\t\ta = el[i];\n\t\tvar prefix = a.prefix;\n\t\tif(prefix){//no prefix attribute has no namespace\n\t\t\tif(prefix === 'xml'){\n\t\t\t\ta.uri = NAMESPACE.XML;\n\t\t\t}if(prefix !== 'xmlns'){\n\t\t\t\ta.uri = currentNSMap[prefix || '']\n\n\t\t\t\t//{console.log('###'+a.qName,domBuilder.locator.systemId+'',currentNSMap,a.uri)}\n\t\t\t}\n\t\t}\n\t}\n\tvar nsp = tagName.indexOf(':');\n\tif(nsp>0){\n\t\tprefix = el.prefix = tagName.slice(0,nsp);\n\t\tlocalName = el.localName = tagName.slice(nsp+1);\n\t}else{\n\t\tprefix = null;//important!!\n\t\tlocalName = el.localName = tagName;\n\t}\n\t//no prefix element has default namespace\n\tvar ns = el.uri = currentNSMap[prefix || ''];\n\tdomBuilder.startElement(ns,localName,tagName,el);\n\t//endPrefixMapping and startPrefixMapping have not any help for dom builder\n\t//localNSMap = null\n\tif(el.closed){\n\t\tdomBuilder.endElement(ns,localName,tagName);\n\t\tif(localNSMap){\n\t\t\tfor (prefix in localNSMap) {\n\t\t\t\tif (Object.prototype.hasOwnProperty.call(localNSMap, prefix)) {\n\t\t\t\t\tdomBuilder.endPrefixMapping(prefix);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}else{\n\t\tel.currentNSMap = currentNSMap;\n\t\tel.localNSMap = localNSMap;\n\t\t//parseStack.push(el);\n\t\treturn true;\n\t}\n}\nfunction parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){\n\tif(/^(?:script|textarea)$/i.test(tagName)){\n\t\tvar elEndStart = source.indexOf('</'+tagName+'>',elStartEnd);\n\t\tvar text = source.substring(elStartEnd+1,elEndStart);\n\t\tif(/[&<]/.test(text)){\n\t\t\tif(/^script$/i.test(tagName)){\n\t\t\t\t//if(!/\\]\\]>/.test(text)){\n\t\t\t\t\t//lexHandler.startCDATA();\n\t\t\t\t\tdomBuilder.characters(text,0,text.length);\n\t\t\t\t\t//lexHandler.endCDATA();\n\t\t\t\t\treturn elEndStart;\n\t\t\t\t//}\n\t\t\t}//}else{//text area\n\t\t\t\ttext = text.replace(/&#?\\w+;/g,entityReplacer);\n\t\t\t\tdomBuilder.characters(text,0,text.length);\n\t\t\t\treturn elEndStart;\n\t\t\t//}\n\n\t\t}\n\t}\n\treturn elStartEnd+1;\n}\nfunction fixSelfClosed(source,elStartEnd,tagName,closeMap){\n\t//if(tagName in closeMap){\n\tvar pos = closeMap[tagName];\n\tif(pos == null){\n\t\t//console.log(tagName)\n\t\tpos = source.lastIndexOf('</'+tagName+'>')\n\t\tif(pos<elStartEnd){//忘记闭合\n\t\t\tpos = source.lastIndexOf('</'+tagName)\n\t\t}\n\t\tcloseMap[tagName] =pos\n\t}\n\treturn pos<elStartEnd;\n\t//}\n}\n\nfunction _copy (source, target) {\n\tfor (var n in source) {\n\t\tif (Object.prototype.hasOwnProperty.call(source, n)) {\n\t\t\ttarget[n] = source[n];\n\t\t}\n\t}\n}\n\nfunction parseDCC(source,start,domBuilder,errorHandler){//sure start with '<!'\n\tvar next= source.charAt(start+2)\n\tswitch(next){\n\tcase '-':\n\t\tif(source.charAt(start + 3) === '-'){\n\t\t\tvar end = source.indexOf('-->',start+4);\n\t\t\t//append comment source.substring(4,end)//<!--\n\t\t\tif(end>start){\n\t\t\t\tdomBuilder.comment(source,start+4,end-start-4);\n\t\t\t\treturn end+3;\n\t\t\t}else{\n\t\t\t\terrorHandler.error(\"Unclosed comment\");\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}else{\n\t\t\t//error\n\t\t\treturn -1;\n\t\t}\n\tdefault:\n\t\tif(source.substr(start+3,6) == 'CDATA['){\n\t\t\tvar end = source.indexOf(']]>',start+9);\n\t\t\tdomBuilder.startCDATA();\n\t\t\tdomBuilder.characters(source,start+9,end-start-9);\n\t\t\tdomBuilder.endCDATA()\n\t\t\treturn end+3;\n\t\t}\n\t\t//<!DOCTYPE\n\t\t//startDTD(java.lang.String name, java.lang.String publicId, java.lang.String systemId)\n\t\tvar matchs = split(source,start);\n\t\tvar len = matchs.length;\n\t\tif(len>1 && /!doctype/i.test(matchs[0][0])){\n\t\t\tvar name = matchs[1][0];\n\t\t\tvar pubid = false;\n\t\t\tvar sysid = false;\n\t\t\tif(len>3){\n\t\t\t\tif(/^public$/i.test(matchs[2][0])){\n\t\t\t\t\tpubid = matchs[3][0];\n\t\t\t\t\tsysid = len>4 && matchs[4][0];\n\t\t\t\t}else if(/^system$/i.test(matchs[2][0])){\n\t\t\t\t\tsysid = matchs[3][0];\n\t\t\t\t}\n\t\t\t}\n\t\t\tvar lastMatch = matchs[len-1]\n\t\t\tdomBuilder.startDTD(name, pubid, sysid);\n\t\t\tdomBuilder.endDTD();\n\n\t\t\treturn lastMatch.index+lastMatch[0].length\n\t\t}\n\t}\n\treturn -1;\n}\n\n\n\nfunction parseInstruction(source,start,domBuilder){\n\tvar end = source.indexOf('?>',start);\n\tif(end){\n\t\tvar match = source.substring(start,end).match(/^<\\?(\\S*)\\s*([\\s\\S]*?)\\s*$/);\n\t\tif(match){\n\t\t\tvar len = match[0].length;\n\t\t\tdomBuilder.processingInstruction(match[1], match[2]) ;\n\t\t\treturn end+2;\n\t\t}else{//error\n\t\t\treturn -1;\n\t\t}\n\t}\n\treturn -1;\n}\n\nfunction ElementAttributes(){\n\tthis.attributeNames = {}\n}\nElementAttributes.prototype = {\n\tsetTagName:function(tagName){\n\t\tif(!tagNamePattern.test(tagName)){\n\t\t\tthrow new Error('invalid tagName:'+tagName)\n\t\t}\n\t\tthis.tagName = tagName\n\t},\n\taddValue:function(qName, value, offset) {\n\t\tif(!tagNamePattern.test(qName)){\n\t\t\tthrow new Error('invalid attribute:'+qName)\n\t\t}\n\t\tthis.attributeNames[qName] = this.length;\n\t\tthis[this.length++] = {qName:qName,value:value,offset:offset}\n\t},\n\tlength:0,\n\tgetLocalName:function(i){return this[i].localName},\n\tgetLocator:function(i){return this[i].locator},\n\tgetQName:function(i){return this[i].qName},\n\tgetURI:function(i){return this[i].uri},\n\tgetValue:function(i){return this[i].value}\n//\t,getIndex:function(uri, localName)){\n//\t\tif(localName){\n//\n//\t\t}else{\n//\t\t\tvar qName = uri\n//\t\t}\n//\t},\n//\tgetValue:function(){return this.getValue(this.getIndex.apply(this,arguments))},\n//\tgetType:function(uri,localName){}\n//\tgetType:function(i){},\n}\n\n\n\nfunction split(source,start){\n\tvar match;\n\tvar buf = [];\n\tvar reg = /'[^']+'|\"[^\"]+\"|[^\\s<>\\/=]+=?|(\\/?\\s*>|<)/g;\n\treg.lastIndex = start;\n\treg.exec(source);//skip <\n\twhile(match = reg.exec(source)){\n\t\tbuf.push(match);\n\t\tif(match[1])return buf;\n\t}\n}\n\nexports.XMLReader = XMLReader;\nexports.ParseError = ParseError;\n","var conventions = require(\"./conventions\");\nvar dom = require('./dom')\nvar entities = require('./entities');\nvar sax = require('./sax');\n\nvar DOMImplementation = dom.DOMImplementation;\n\nvar NAMESPACE = conventions.NAMESPACE;\n\nvar ParseError = sax.ParseError;\nvar XMLReader = sax.XMLReader;\n\n/**\n * Normalizes line ending according to https://www.w3.org/TR/xml11/#sec-line-ends:\n *\n * > XML parsed entities are often stored in computer files which,\n * > for editing convenience, are organized into lines.\n * > These lines are typically separated by some combination\n * > of the characters CARRIAGE RETURN (#xD) and LINE FEED (#xA).\n * >\n * > To simplify the tasks of applications, the XML processor must behave\n * > as if it normalized all line breaks in external parsed entities (including the document entity)\n * > on input, before parsing, by translating all of the following to a single #xA character:\n * >\n * > 1. the two-character sequence #xD #xA\n * > 2. the two-character sequence #xD #x85\n * > 3. the single character #x85\n * > 4. the single character #x2028\n * > 5. any #xD character that is not immediately followed by #xA or #x85.\n *\n * @param {string} input\n * @returns {string}\n */\nfunction normalizeLineEndings(input) {\n\treturn input\n\t\t.replace(/\\r[\\n\\u0085]/g, '\\n')\n\t\t.replace(/[\\r\\u0085\\u2028]/g, '\\n')\n}\n\n/**\n * @typedef Locator\n * @property {number} [columnNumber]\n * @property {number} [lineNumber]\n */\n\n/**\n * @typedef DOMParserOptions\n * @property {DOMHandler} [domBuilder]\n * @property {Function} [errorHandler]\n * @property {(string) => string} [normalizeLineEndings] used to replace line endings before parsing\n * \t\t\t\t\t\tdefaults to `normalizeLineEndings`\n * @property {Locator} [locator]\n * @property {Record<string, string>} [xmlns]\n *\n * @see normalizeLineEndings\n */\n\n/**\n * The DOMParser interface provides the ability to parse XML or HTML source code\n * from a string into a DOM `Document`.\n *\n * _xmldom is different from the spec in that it allows an `options` parameter,\n * to override the default behavior._\n *\n * @param {DOMParserOptions} [options]\n * @constructor\n *\n * @see https://developer.mozilla.org/en-US/docs/Web/API/DOMParser\n * @see https://html.spec.whatwg.org/multipage/dynamic-markup-insertion.html#dom-parsing-and-serialization\n */\nfunction DOMParser(options){\n\tthis.options = options ||{locator:{}};\n}\n\nDOMParser.prototype.parseFromString = function(source,mimeType){\n\tvar options = this.options;\n\tvar sax = new XMLReader();\n\tvar domBuilder = options.domBuilder || new DOMHandler();//contentHandler and LexicalHandler\n\tvar errorHandler = options.errorHandler;\n\tvar locator = options.locator;\n\tvar defaultNSMap = options.xmlns||{};\n\tvar isHTML = /\\/x?html?$/.test(mimeType);//mimeType.toLowerCase().indexOf('html') > -1;\n \tvar entityMap = isHTML ? entities.HTML_ENTITIES : entities.XML_ENTITIES;\n\tif(locator){\n\t\tdomBuilder.setDocumentLocator(locator)\n\t}\n\n\tsax.errorHandler = buildErrorHandler(errorHandler,domBuilder,locator);\n\tsax.domBuilder = options.domBuilder || domBuilder;\n\tif(isHTML){\n\t\tdefaultNSMap[''] = NAMESPACE.HTML;\n\t}\n\tdefaultNSMap.xml = defaultNSMap.xml || NAMESPACE.XML;\n\tvar normalize = options.normalizeLineEndings || normalizeLineEndings;\n\tif (source && typeof source === 'string') {\n\t\tsax.parse(\n\t\t\tnormalize(source),\n\t\t\tdefaultNSMap,\n\t\t\tentityMap\n\t\t)\n\t} else {\n\t\tsax.errorHandler.error('invalid doc source')\n\t}\n\treturn domBuilder.doc;\n}\nfunction buildErrorHandler(errorImpl,domBuilder,locator){\n\tif(!errorImpl){\n\t\tif(domBuilder instanceof DOMHandler){\n\t\t\treturn domBuilder;\n\t\t}\n\t\terrorImpl = domBuilder ;\n\t}\n\tvar errorHandler = {}\n\tvar isCallback = errorImpl instanceof Function;\n\tlocator = locator||{}\n\tfunction build(key){\n\t\tvar fn = errorImpl[key];\n\t\tif(!fn && isCallback){\n\t\t\tfn = errorImpl.length == 2?function(msg){errorImpl(key,msg)}:errorImpl;\n\t\t}\n\t\terrorHandler[key] = fn && function(msg){\n\t\t\tfn('[xmldom '+key+']\\t'+msg+_locator(locator));\n\t\t}||function(){};\n\t}\n\tbuild('warning');\n\tbuild('error');\n\tbuild('fatalError');\n\treturn errorHandler;\n}\n\n//console.log('#\\n\\n\\n\\n\\n\\n\\n####')\n/**\n * +ContentHandler+ErrorHandler\n * +LexicalHandler+EntityResolver2\n * -DeclHandler-DTDHandler\n *\n * DefaultHandler:EntityResolver, DTDHandler, ContentHandler, ErrorHandler\n * DefaultHandler2:DefaultHandler,LexicalHandler, DeclHandler, EntityResolver2\n * @link http://www.saxproject.org/apidoc/org/xml/sax/helpers/DefaultHandler.html\n */\nfunction DOMHandler() {\n this.cdata = false;\n}\nfunction position(locator,node){\n\tnode.lineNumber = locator.lineNumber;\n\tnode.columnNumber = locator.columnNumber;\n}\n/**\n * @see org.xml.sax.ContentHandler#startDocument\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ContentHandler.html\n */\nDOMHandler.prototype = {\n\tstartDocument : function() {\n \tthis.doc = new DOMImplementation().createDocument(null, null, null);\n \tif (this.locator) {\n \tthis.doc.documentURI = this.locator.systemId;\n \t}\n\t},\n\tstartElement:function(namespaceURI, localName, qName, attrs) {\n\t\tvar doc = this.doc;\n\t var el = doc.createElementNS(namespaceURI, qName||localName);\n\t var len = attrs.length;\n\t appendElement(this, el);\n\t this.currentElement = el;\n\n\t\tthis.locator && position(this.locator,el)\n\t for (var i = 0 ; i < len; i++) {\n\t var namespaceURI = attrs.getURI(i);\n\t var value = attrs.getValue(i);\n\t var qName = attrs.getQName(i);\n\t\t\tvar attr = doc.createAttributeNS(namespaceURI, qName);\n\t\t\tthis.locator &&position(attrs.getLocator(i),attr);\n\t\t\tattr.value = attr.nodeValue = value;\n\t\t\tel.setAttributeNode(attr)\n\t }\n\t},\n\tendElement:function(namespaceURI, localName, qName) {\n\t\tvar current = this.currentElement\n\t\tvar tagName = current.tagName;\n\t\tthis.currentElement = current.parentNode;\n\t},\n\tstartPrefixMapping:function(prefix, uri) {\n\t},\n\tendPrefixMapping:function(prefix) {\n\t},\n\tprocessingInstruction:function(target, data) {\n\t var ins = this.doc.createProcessingInstruction(target, data);\n\t this.locator && position(this.locator,ins)\n\t appendElement(this, ins);\n\t},\n\tignorableWhitespace:function(ch, start, length) {\n\t},\n\tcharacters:function(chars, start, length) {\n\t\tchars = _toString.apply(this,arguments)\n\t\t//console.log(chars)\n\t\tif(chars){\n\t\t\tif (this.cdata) {\n\t\t\t\tvar charNode = this.doc.createCDATASection(chars);\n\t\t\t} else {\n\t\t\t\tvar charNode = this.doc.createTextNode(chars);\n\t\t\t}\n\t\t\tif(this.currentElement){\n\t\t\t\tthis.currentElement.appendChild(charNode);\n\t\t\t}else if(/^\\s*$/.test(chars)){\n\t\t\t\tthis.doc.appendChild(charNode);\n\t\t\t\t//process xml\n\t\t\t}\n\t\t\tthis.locator && position(this.locator,charNode)\n\t\t}\n\t},\n\tskippedEntity:function(name) {\n\t},\n\tendDocument:function() {\n\t\tthis.doc.normalize();\n\t},\n\tsetDocumentLocator:function (locator) {\n\t if(this.locator = locator){// && !('lineNumber' in locator)){\n\t \tlocator.lineNumber = 0;\n\t }\n\t},\n\t//LexicalHandler\n\tcomment:function(chars, start, length) {\n\t\tchars = _toString.apply(this,arguments)\n\t var comm = this.doc.createComment(chars);\n\t this.locator && position(this.locator,comm)\n\t appendElement(this, comm);\n\t},\n\n\tstartCDATA:function() {\n\t //used in characters() methods\n\t this.cdata = true;\n\t},\n\tendCDATA:function() {\n\t this.cdata = false;\n\t},\n\n\tstartDTD:function(name, publicId, systemId) {\n\t\tvar impl = this.doc.implementation;\n\t if (impl && impl.createDocumentType) {\n\t var dt = impl.createDocumentType(name, publicId, systemId);\n\t this.locator && position(this.locator,dt)\n\t appendElement(this, dt);\n\t\t\t\t\tthis.doc.doctype = dt;\n\t }\n\t},\n\t/**\n\t * @see org.xml.sax.ErrorHandler\n\t * @link http://www.saxproject.org/apidoc/org/xml/sax/ErrorHandler.html\n\t */\n\twarning:function(error) {\n\t\tconsole.warn('[xmldom warning]\\t'+error,_locator(this.locator));\n\t},\n\terror:function(error) {\n\t\tconsole.error('[xmldom error]\\t'+error,_locator(this.locator));\n\t},\n\tfatalError:function(error) {\n\t\tthrow new ParseError(error, this.locator);\n\t}\n}\nfunction _locator(l){\n\tif(l){\n\t\treturn '\\n@'+(l.systemId ||'')+'#[line:'+l.lineNumber+',col:'+l.columnNumber+']'\n\t}\n}\nfunction _toString(chars,start,length){\n\tif(typeof chars == 'string'){\n\t\treturn chars.substr(start,length)\n\t}else{//java sax connect width xmldom on rhino(what about: \"? && !(chars instanceof String)\")\n\t\tif(chars.length >= start+length || start){\n\t\t\treturn new java.lang.String(chars,start,length)+'';\n\t\t}\n\t\treturn chars;\n\t}\n}\n\n/*\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/LexicalHandler.html\n * used method of org.xml.sax.ext.LexicalHandler:\n * #comment(chars, start, length)\n * #startCDATA()\n * #endCDATA()\n * #startDTD(name, publicId, systemId)\n *\n *\n * IGNORED method of org.xml.sax.ext.LexicalHandler:\n * #endDTD()\n * #startEntity(name)\n * #endEntity(name)\n *\n *\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/DeclHandler.html\n * IGNORED method of org.xml.sax.ext.DeclHandler\n * \t#attributeDecl(eName, aName, type, mode, value)\n * #elementDecl(name, model)\n * #externalEntityDecl(name, publicId, systemId)\n * #internalEntityDecl(name, value)\n * @link http://www.saxproject.org/apidoc/org/xml/sax/ext/EntityResolver2.html\n * IGNORED method of org.xml.sax.EntityResolver2\n * #resolveEntity(String name,String publicId,String baseURI,String systemId)\n * #resolveEntity(publicId, systemId)\n * #getExternalSubset(name, baseURI)\n * @link http://www.saxproject.org/apidoc/org/xml/sax/DTDHandler.html\n * IGNORED method of org.xml.sax.DTDHandler\n * #notationDecl(name, publicId, systemId) {};\n * #unparsedEntityDecl(name, publicId, systemId, notationName) {};\n */\n\"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl\".replace(/\\w+/g,function(key){\n\tDOMHandler.prototype[key] = function(){return null}\n})\n\n/* Private static helpers treated below as private instance methods, so don't need to add these to the public API; we might use a Relator to also get rid of non-standard public properties */\nfunction appendElement (hander,node) {\n if (!hander.currentElement) {\n hander.doc.appendChild(node);\n } else {\n hander.currentElement.appendChild(node);\n }\n}//appendChild and setAttributeNS are preformance key\n\nexports.__DOMHandler = DOMHandler;\nexports.normalizeLineEndings = normalizeLineEndings;\nexports.DOMParser = DOMParser;\n","var dom = require('./dom')\nexports.DOMImplementation = dom.DOMImplementation\nexports.XMLSerializer = dom.XMLSerializer\nexports.DOMParser = require('./dom-parser').DOMParser\n"],"names":["e","arguments","length","id","adId","sequence","apiFramework","universalAdIds","creativeExtensions","t","r","a","n","s","ERRORCODE","isCustomCode","test","CACHEBUSTING","d","Math","round","random","TIMESTAMP","Date","toISOString","RANDOM","c","push","i","match","filter","indexOf","reduce","replace","RegExp","concat","Array","isArray","map","hasOwnProperty","url","o","l","Object","getOwnPropertyNames","encodeURIComponent","charCodeAt","toString","padStart","u","track","forEach","window","Image","src","resolveURLTemplates","extractURLsFromTemplates","filterUrlTemplates","validUrls","invalidUrls","containsTemplateObject","isTemplateObjectEqual","encodeURIComponentRFC3986","replaceUrlMacros","isNumeric","isNaN","parseFloat","isFinite","flatten","joinArrayOfUniqueTemplateObjs","isValidTimeValue","Number","addLeadingZeros","isValidUrl","isBrowserEnvironment","formatMacrosValues","JSON","stringify","h","includes","m","childByName","from","childNodes","find","nodeName","childrenByName","resolveVastAdTagURI","startsWith","protocol","location","slice","lastIndexOf","parseBoolean","parseNodeText","textContent","text","trim","copyNodeAttribute","getAttribute","setAttribute","parseAttributes","attributes","nodeValue","parseDuration","parseInt","split","getStandAloneAds","getSortedAdPods","sort","assignAttributes","mergeWrapperAdData","errorURLTemplates","impressionURLTemplates","extensions","viewableImpression","followAdditionalWrappers","allowMultipleAds","fallbackOnNoAd","creatives","type","variations","companionClickTrackingURLTemplates","videoClickTrackingURLTemplates","videoCustomClickURLTemplates","trackingEvents","videoClickThroughURLTemplate","adVerifications","blockedAdCategories","icons","mediaFiles","g","required","adType","width","height","assetWidth","assetHeight","expandedWidth","expandedHeight","adSlotId","pxratio","renderingMode","staticResources","htmlResources","iframeResources","adParameters","altText","companionClickThroughURLTemplate","creativeType","value","xmlEncoded","v","duration","skipDelay","mezzanine","interactiveCreativeFile","closedCaptionFiles","charAt","fileURL","fileSize","deliveryType","mimeType","mediaType","codec","bitrate","minBitrate","maxBitrate","scalable","maintainAspectRatio","variableDuration","language","delivery","program","xPosition","yPosition","offset","staticResource","htmlResource","iframeResource","iconClickThroughURLTemplate","iconClickTrackingURLTemplates","iconViewTrackingURLTemplate","iconClickFallbackImages","hoverText","f","minSuggestedDuration","nonlinearClickThroughURLTemplate","nonlinearClickTrackingURLTemplates","T","A","name","children","keys","R","k","Wrapper","subElements","BlockedAdCategories","InLine","Category","Pricing","Verification","oneOfinLineResources","UniversalAdId","JavaScriptResource","ExecutableResource","Tracking","Creatives","Creative","Linear","MediaFiles","MediaFile","Mezzanine","NonLinear","Companion","StaticResource","Icons","Icon","y","N","parentName","parentNode","E","some","oneOfResources","b","join","message","parentElement","specVersion","w","L","toLowerCase","ad","I","C","wrongNode","U","adServingId","categories","expires","system","title","description","advertiser","pricing","survey","idRegistry","x","version","authority","viewable","notViewable","viewUndetermined","model","currency","nextWrapperURL","resource","vendor","browserOptional","parameters","S","constructor","this","_handlers","on","TypeError","event","handler","once","fired","wrapFn","off","bind","emit","removeAllListeners","listenerCount","listeners","eventNames","V","D","O","F","P","B","fetcher","super","maxWrapperDepth","rootErrorURLTemplates","remainingAds","parsingOptions","keepFailedAdPod","trackVastError","assign","getErrorURLTemplates","getEstimatedBitrate","initParsingStatus","wrapperLimit","rootURL","resetParsingStatus","byteLength","requestDuration","vastVersion","getRemainingAds","Promise","reject","Error","shift","resolveAds","wrapperDepth","then","buildVASTResponse","parseVAST","isRootVAST","parse","ads","completeWrapperResolving","parseVastXml","documentElement","adIndex","resolveAll","wrapperSequence","previousUrl","resolveWrappers","all","VASTAdTagURI","errorCode","fetchVAST","emitter","catch","errorMessage","ERRORMESSAGE","hasFailed","splice","M","W","data","getItem","setItem","removeItem","clear","j","storage","initStorage","localStorage","sessionStorage","isStorageDisabled","q","K","get","async","AbortController","setTimeout","abort","timeout","fetch","signal","credentials","withCredentials","finally","clearTimeout","status","ok","statusText","error","statusCode","DOMParser","resolve","index$1","xml","parseFromString","details","rawXml","H","URLTemplateFilters","setOptions","urlHandler","urlhandler","fetchingOptions","fetchOptions","Boolean","addURLTemplateFilter","removeLastURLTemplateFilter","pop","countURLTemplateFilters","clearURLTemplateFilters","wrapperAd","now","_","cappingFreeLunch","cappingMinimumTimeInterval","vastParser","lastSuccessfulAd","totalCalls","totalCallsTimeout","getParser","hasRemainingAds","getNextAds","z","creative","variation","muted","impressed","skippable","trackedProgressEvents","lastPercentage","_alreadyTriggeredQuartiles","emitAlwaysEvents","viewableImpressionTrackers","entries","_initLinearTracking","_initVariationTracking","linear","setDuration","clickThroughURLTemplate","clickTrackingURLTemplates","assetDuration","quartiles","firstQuartile","midpoint","thirdQuartile","setProgress","isQuartileReached","macros","progress","setMuted","setPaused","paused","setFullscreen","fullscreen","setExpand","expanded","setSkipDelay","trackImpression","trackURLs","trackViewableImpression","trackNotViewableImpression","trackUndeterminedImpression","errorWithCode","console","log","complete","notUsed","otherAdInteraction","acceptInvitation","adExpand","adCollapse","minimize","verificationNotExecuted","trackingURLTemplates","overlayViewDuration","ADPLAYHEAD","close","skip","load","click","progressFormatted","trackProgressEvents","time","urls","endsWith","ASSETURI","UNIVERSALADID","PODSEQUENCE","ADTYPE","ADSERVINGID","ADCATEGORIES","BLOCKEDADCATEGORIES","convertToTimecode","floor","enumerable","configurable","writable","defineProperty","key","prototype","followRedirects","vastAdData","adTagURI","customData","localName","templateType","uri","firstChild","nodeType","nextSibling","substring","global","timeOffset","breakType","breakId","repeatAfter","adSource","tracker","adBreaks","PluginBus","bus","cb","AdsPlugin","config","Set","sources","cfg","list","normalizeSources","breaks","hasExplicitPreroll","at","source","hasSourceVastOrVmap","allowNativeControls","resumeContent","preferredMediaTypes","debug","breakTolerance","interceptPlayForPreroll","autoPlayOnReady","mountEl","mountSelector","nonLinearContainer","nonLinearSelector","companionContainer","companionSelector","adSourcesMode","setup","ctx","events","vastClient","VASTClient","overlay","document","createElement","className","style","display","globalUnsubs","playedBreaks","startingBreak","clearSession","active","contentMedia","undefined","contentHadControls","leases","release","getOverlayManager","core","deactivate","overlayId","userPlayIntent","pendingPercentBreaks","vmapLoadPromise","vmapPending","pendingVmapSrc","rebuildSchedule","bindBreakScheduler","bindPrerollInterceptors","forcedMuteUntilInteraction","adVideo","volume","playAds","vastUrl","sourceType","inferSourceTypeForUrl","playBreakFromVast","kind","playAdsFromXml","vastXml","getDueMidrollBreaks","currentTime","media","toAdd","pb","atSec","percent","resolvedBreaks","due","getVastInputFromBreak","input","getBreakId","has","getDueMidrollBreak","destroy","finish","resume","remove","exact","every","resolveContainer","el","selector","found","querySelector","HTMLElement","getNonLinearContainer","resolvedNonLinearContainer","getCompanionContainer","resolvedCompanionContainer","getSource","getPrimaryVastLikeSource","isXmlString","getVastXmlText","XMLSerializer","serializeToString","String","res","buildParsedForNonLinearFromXml","xmlText","toXmlDocument","setSafeHTML","html","tpl","innerHTML","blockedTags","walker","createTreeWalker","content","NodeFilter","SHOW_ELEMENT","toRemove","nextNode","node","currentNode","tagName","attr","removeAttribute","isJs","isVbscript","isData","isHttp","isSafeDataImage","replaceChildren","cloneNode","args","warn","combined","vastLikeSources","vmap","preload","loadVmapAndMerge","normalizeVmapAdSource","extractVastTagUri","URI","existing","vmapSrc","xmlDoc","VMAP","vmapBreaks","prevPendingCount","rawAdBreakCount","ns","getElementsByTagNameNS","getElementsByTagName","rawOffset","pendingPercent","parseVmapTimeOffset","vastInline","vastTag","vast","libBreakCount","byTag","root","adBreakEls","adSrc","uriEls","dataEls","err","reason","resolveMount","closest","body","p","exec","hh","mm","ss","firstSource","getPostrollBreak","getPrerollBreak","hasExplicitPrerolls","primary","shouldInterceptPreroll","pre","state","current","maybeStartDeferredVmap","vmapWasPending","shouldInterceptNow","pause","userInteracted","guard","startBreak","onNativePlayCapture","addEventListener","capture","removeEventListener","onTime","earliestBreak","earliestAt","vmapOffset","tol","group","abs","max","startBreakGroup","onEnded","post","break","opts","waterfallSources","add","isLastWaterfall","suppressResumeOnError","suppressResumeOnSuccess","suppressResume","startedMain","playable","isBumper","isLast","extractAdsFromParsed","parsed","direct","vastResponse","adPods","adpods","flattened","pod","Ads","singlePod","adPod","adpod","singleAds","collectPodAds","out","seqRaw","seq","cidx","mediafiles","mf","pickBestMediaFile","skipOffset","extractSkipOffsetFromCreative","companions","companionAds","nonLinears","nonLinearAds","mediaFile","creativeIndex","as","MAX_SAFE_INTEGER","bs","collectPodAdsFromXml","doc","adEl","seqAttr","cEl","linearEl","mediaFilesEl","bitRate","rawEl","clearAdTracks","adTrackEls","buildCaptionsFromVastMediaFileRaw","mediaFileRaw","extractClosedCaptions","lang","srclang","label","toUpperCase","ensureRawCaptions","captions","ccFiles","ClosedCaptionFiles","attachAdCaptionTracks","vtt","created","default","appendChild","mode","captionsSignature","listCaptionTracks","textTracks","item","captureActiveCaptionTrack","prevActiveCaptionSig","restoreActiveTextTrack","sig","tracks","cc","closedCaptionFile","ClosedCaptionFile","mime_type","removeAdCaptions","normalized","raw","candidates","skipdelay","skipoffset","normalize","obj","parseTimecodeToSeconds","computeSkipAtSeconds","tc","ensureSkipDom","skipWrap","skipBtn","wrap","btn","onClick","onSkip","preventDefault","stopPropagation","EVENT_OPTIONS","sessionUnsubs","hideSkipUi","skipOffsetRaw","skipAtSeconds","setupSkipUIForPodItem","update","dur","skipAt","cur","remaining","ceil","pointerEvents","requestSkip","trackSkip","brk","currentBreakMeta","dispatchEvent","Event","clearAdOverlays","companionWrap","nonLinearWrap","mountCompanions","container","zIndex","flexDirection","gap","maxWidth","renderCompanion","childElementCount","companion","companionClickThrough","clickThrough","position","cursor","staticRes","StaticResources","iframeRes","iFrameResource","IFrameResource","iFrameResources","IFrameResources","htmlRes","HTMLResource","HTMLResources","img","ifr","border","div","safeWindowOpen","trackClick","trackClickThrough","collectNonLinearCreatives","nonLinear","NonLinearAds","NonLinears","nl","collectNonLinearFromXml","byLocalName","els","arr","firstChildText","compEls","nlEls","nonLinearClickThrough","playNonLinearOnlyBreakFromXml","items","meta","ensureOverlayMounted","maxDuration","it","ensureNonLinearDom","renderNonLinear","nonLinearSuggestedDurationSeconds","index","start","tick","elapsed","dismiss","left","right","bottom","justifyContent","nonLinearClickThroughURLTemplate","pickFirst","target","mountNonLinear","minSuggestedDurationSeconds","playNonLinearOnlyBreak","VASTTracker","_lastCreative","companionCreative","trackCreativeView","mountAdVideo","playsInline","contentPreload","forceMutedForPolicy","autoplay","controls","desiredMuted","desiredVolume","defaultMuted","min","adEndPromise","done","cleanupTakeover","onError","onVisibility","visibilityState","ended","play","overlayMgr","activate","priority","canSeek","fullscreenEl","fullscreenVideoEl","updateOverlay","bindAdSurfaceCommands","wantsAutoplayPath","vol","syncingVolume","bindTrackerAndTelemetry","started","lastMuted","lastPaused","emitDuration","q25","q50","q75","q100","emitQuartile","quartile","onPlaying","trackResume","trackStart","onPause","trackPause","remainingTime","pct","trackFirstQuartile","trackMidpoint","trackThirdQuartile","trackComplete","onVolume","trackMute","trackUnmute","ev","defaultPrevented","getClickThroughUrl","videoClicks","rawUrl","URL","href","open","mount","cs","getComputedStyle","inset","tryMountSimidLayer","simid","SIMID","simidLayer","urlsRaw","resources","simidUrls","iframe","requestPayload","resumeAfter","pauseAndAcquireLease","acquire","owner","rawDoc","loadRawDocBestEffort","XMLDocument","emitLoaded","count","nonLinearItems","xmlItems","endPromise","waitForAdEnd","startAdPlayback","tryPlay","p2","querySelectorAll","removeChild","shouldResume","OpenPlayerPlugins","factory","install","PlayerCtor","getOwnPropertyDescriptor","getPlugin","plugin","installAds","extend","player","extendAds","OpenPlayerJS","getCore","freeze","object","oc","MIME_TYPE","HTML","isHTML","XML_APPLICATION","XML_TEXT","XML_XHTML_APPLICATION","XML_SVG_IMAGE","NAMESPACE","SVG","XML","XMLNS","conventions","call","predicate","ac","require$$0","notEmptyString","orderedSetReducer","element","toOrderedSet","splitOnASCIIWhitespace","copy","dest","_extends","Class","Super","pt","NodeType","ELEMENT_NODE","ATTRIBUTE_NODE","TEXT_NODE","CDATA_SECTION_NODE","ENTITY_REFERENCE_NODE","ENTITY_NODE","PROCESSING_INSTRUCTION_NODE","COMMENT_NODE","DOCUMENT_NODE","DOCUMENT_TYPE_NODE","DOCUMENT_FRAGMENT_NODE","NOTATION_NODE","ExceptionCode","ExceptionMessage","INDEX_SIZE_ERR","DOMSTRING_SIZE_ERR","HIERARCHY_REQUEST_ERR","WRONG_DOCUMENT_ERR","INVALID_CHARACTER_ERR","NO_DATA_ALLOWED_ERR","NO_MODIFICATION_ALLOWED_ERR","NOT_FOUND_ERR","NOT_SUPPORTED_ERR","INUSE_ATTRIBUTE_ERR","DOMException","code","captureStackTrace","NodeList","LiveNodeList","refresh","_node","_refresh","_updateLiveList","inc","_inc","ownerDocument","ls","__set__","$$length","NamedNodeMap","_findNodeIndex","_addNamedNode","newAttr","oldAttr","ownerElement","_onRemoveAttribute","namespaceURI","_nsMap","prefix","_onAddAttribute","_removeNamedNode","lastIndex","DOMImplementation","Node","_xmlEncoder","_visitNode","callback","Document","_onUpdateChild","newChild","child","_removeChild","previous","previousSibling","next","lastChild","isDocTypeNode","isElementNode","isTextNode","isElementInsertionPossible","parentChildNodes","docTypeNode","isElementReplacementPossible","assertPreInsertionValidity1to5","parent","hasValidParentNodeType","hasInsertableNodeType","assertPreInsertionValidityInDocument","nodeChildNodes","nodeChildElements","parentElementChild","assertPreReplacementValidityInDocument","hasDoctypeChildThatIsNotChild","_insertBefore","_inDocumentAssertion","cp","newFirst","newLast","_updateOwnerDocument","newOwnerDocument","Element","Attr","CharacterData","Text","Comment","CDATASection","DocumentType","Notation","Entity","EntityReference","DocumentFragment","ProcessingInstruction","nodeSerializeToString","isHtml","nodeFilter","buf","refNode","lookupPrefix","visibleNamespaces","namespace","needNamespaceDefine","addSerializedAttribute","qualifiedName","attrs","len","prefixedNodeName","defaultNS","ai","nsi","pubid","publicId","sysid","systemId","sub","internalSubset","importNode","deep","node2","attrs2","_ownerElement","setAttributeNode","INVALID_STATE_ERR","SYNTAX_ERR","INVALID_MODIFICATION_ERR","NAMESPACE_ERR","INVALID_ACCESS_ERR","getNamedItem","setNamedItem","setNamedItemNS","getNamedItemNS","removeNamedItem","removeNamedItemNS","hasFeature","feature","createDocument","doctype","implementation","createElementNS","createDocumentType","insertBefore","refChild","replaceChild","oldChild","hasChildNodes","appendData","isSupported","hasAttributes","lookupNamespaceURI","isDefaultNamespace","importedNode","getElementById","rtv","getElementsByClassName","classNames","classNamesSet","base","nodeClassNames","matches","nodeClassNamesSet","createDocumentFragment","createTextNode","createComment","createCDATASection","createProcessingInstruction","createAttribute","specified","createEntityReference","pl","createAttributeNS","hasAttribute","getAttributeNode","removeAttributeNode","_appendSingleChild","setAttributeNodeNS","removeAttributeNS","old","getAttributeNodeNS","hasAttributeNS","getAttributeNS","setAttributeNS","substringData","insertData","replaceData","deleteData","splitText","newText","newNode","getTextContent","set","dom","exports","XML_ENTITIES","amp","apos","gt","lt","quot","HTML_ENTITIES","Aacute","aacute","Abreve","abreve","acd","acE","Acirc","acirc","acute","Acy","acy","AElig","aelig","af","Afr","afr","Agrave","agrave","alefsym","aleph","Alpha","alpha","Amacr","amacr","amalg","AMP","And","and","andand","andd","andslope","andv","ang","ange","angle","angmsd","angmsdaa","angmsdab","angmsdac","angmsdad","angmsdae","angmsdaf","angmsdag","angmsdah","angrt","angrtvb","angrtvbd","angsph","angst","angzarr","Aogon","aogon","Aopf","aopf","ap","apacir","apE","ape","apid","ApplyFunction","approx","approxeq","Aring","aring","Ascr","ascr","Assign","ast","asymp","asympeq","Atilde","atilde","Auml","auml","awconint","awint","backcong","backepsilon","backprime","backsim","backsimeq","Backslash","Barv","barvee","Barwed","barwed","barwedge","bbrk","bbrktbrk","bcong","Bcy","bcy","bdquo","becaus","Because","because","bemptyv","bepsi","bernou","Bernoullis","Beta","beta","beth","between","Bfr","bfr","bigcap","bigcirc","bigcup","bigodot","bigoplus","bigotimes","bigsqcup","bigstar","bigtriangledown","bigtriangleup","biguplus","bigvee","bigwedge","bkarow","blacklozenge","blacksquare","blacktriangle","blacktriangledown","blacktriangleleft","blacktriangleright","blank","blk12","blk14","blk34","block","bne","bnequiv","bNot","bnot","Bopf","bopf","bot","bowtie","boxbox","boxDL","boxDl","boxdL","boxdl","boxDR","boxDr","boxdR","boxdr","boxH","boxh","boxHD","boxHd","boxhD","boxhd","boxHU","boxHu","boxhU","boxhu","boxminus","boxplus","boxtimes","boxUL","boxUl","boxuL","boxul","boxUR","boxUr","boxuR","boxur","boxV","boxv","boxVH","boxVh","boxvH","boxvh","boxVL","boxVl","boxvL","boxvl","boxVR","boxVr","boxvR","boxvr","bprime","Breve","breve","brvbar","Bscr","bscr","bsemi","bsim","bsime","bsol","bsolb","bsolhsub","bull","bullet","bump","bumpE","bumpe","Bumpeq","bumpeq","Cacute","cacute","Cap","cap","capand","capbrcup","capcap","capcup","capdot","CapitalDifferentialD","caps","caret","caron","Cayleys","ccaps","Ccaron","ccaron","Ccedil","ccedil","Ccirc","ccirc","Cconint","ccups","ccupssm","Cdot","cdot","cedil","Cedilla","cemptyv","cent","CenterDot","centerdot","Cfr","cfr","CHcy","chcy","check","checkmark","Chi","chi","cir","circ","circeq","circlearrowleft","circlearrowright","circledast","circledcirc","circleddash","CircleDot","circledR","circledS","CircleMinus","CirclePlus","CircleTimes","cirE","cire","cirfnint","cirmid","cirscir","ClockwiseContourIntegral","CloseCurlyDoubleQuote","CloseCurlyQuote","clubs","clubsuit","Colon","colon","Colone","colone","coloneq","comma","commat","comp","compfn","complement","complexes","cong","congdot","Congruent","Conint","conint","ContourIntegral","Copf","copf","coprod","Coproduct","COPY","copysr","CounterClockwiseContourIntegral","crarr","Cross","cross","Cscr","cscr","csub","csube","csup","csupe","ctdot","cudarrl","cudarrr","cuepr","cuesc","cularr","cularrp","Cup","cup","cupbrcap","CupCap","cupcap","cupcup","cupdot","cupor","cups","curarr","curarrm","curlyeqprec","curlyeqsucc","curlyvee","curlywedge","curren","curvearrowleft","curvearrowright","cuvee","cuwed","cwconint","cwint","cylcty","Dagger","dagger","daleth","Darr","dArr","darr","dash","Dashv","dashv","dbkarow","dblac","Dcaron","dcaron","Dcy","dcy","DD","dd","ddagger","ddarr","DDotrahd","ddotseq","deg","Del","Delta","delta","demptyv","dfisht","Dfr","dfr","dHar","dharl","dharr","DiacriticalAcute","DiacriticalDot","DiacriticalDoubleAcute","DiacriticalGrave","DiacriticalTilde","diam","Diamond","diamond","diamondsuit","diams","die","DifferentialD","digamma","disin","divide","divideontimes","divonx","DJcy","djcy","dlcorn","dlcrop","dollar","Dopf","dopf","Dot","dot","DotDot","doteq","doteqdot","DotEqual","dotminus","dotplus","dotsquare","doublebarwedge","DoubleContourIntegral","DoubleDot","DoubleDownArrow","DoubleLeftArrow","DoubleLeftRightArrow","DoubleLeftTee","DoubleLongLeftArrow","DoubleLongLeftRightArrow","DoubleLongRightArrow","DoubleRightArrow","DoubleRightTee","DoubleUpArrow","DoubleUpDownArrow","DoubleVerticalBar","DownArrow","Downarrow","downarrow","DownArrowBar","DownArrowUpArrow","DownBreve","downdownarrows","downharpoonleft","downharpoonright","DownLeftRightVector","DownLeftTeeVector","DownLeftVector","DownLeftVectorBar","DownRightTeeVector","DownRightVector","DownRightVectorBar","DownTee","DownTeeArrow","drbkarow","drcorn","drcrop","Dscr","dscr","DScy","dscy","dsol","Dstrok","dstrok","dtdot","dtri","dtrif","duarr","duhar","dwangle","DZcy","dzcy","dzigrarr","Eacute","eacute","easter","Ecaron","ecaron","ecir","Ecirc","ecirc","ecolon","Ecy","ecy","eDDot","Edot","eDot","edot","ee","efDot","Efr","efr","eg","Egrave","egrave","egs","egsdot","elinters","ell","elsdot","Emacr","emacr","empty","emptyset","EmptySmallSquare","emptyv","EmptyVerySmallSquare","emsp","emsp13","emsp14","ENG","eng","ensp","Eogon","eogon","Eopf","eopf","epar","eparsl","eplus","epsi","Epsilon","epsilon","epsiv","eqcirc","eqcolon","eqsim","eqslantgtr","eqslantless","Equal","equals","EqualTilde","equest","Equilibrium","equiv","equivDD","eqvparsl","erarr","erDot","Escr","escr","esdot","Esim","esim","Eta","eta","ETH","eth","Euml","euml","euro","excl","exist","Exists","expectation","ExponentialE","exponentiale","fallingdotseq","Fcy","fcy","female","ffilig","fflig","ffllig","Ffr","ffr","filig","FilledSmallSquare","FilledVerySmallSquare","fjlig","flat","fllig","fltns","fnof","Fopf","fopf","ForAll","forall","fork","forkv","Fouriertrf","fpartint","frac12","frac13","frac14","frac15","frac16","frac18","frac23","frac25","frac34","frac35","frac38","frac45","frac56","frac58","frac78","frasl","frown","Fscr","fscr","gacute","Gamma","gamma","Gammad","gammad","Gbreve","gbreve","Gcedil","Gcirc","gcirc","Gcy","gcy","Gdot","gdot","gE","ge","gEl","gel","geq","geqq","geqslant","ges","gescc","gesdot","gesdoto","gesdotol","gesl","gesles","Gfr","gfr","Gg","gg","ggg","gimel","GJcy","gjcy","gl","gla","glE","glj","gnap","gnapprox","gnE","gne","gneq","gneqq","gnsim","Gopf","gopf","grave","GreaterEqual","GreaterEqualLess","GreaterFullEqual","GreaterGreater","GreaterLess","GreaterSlantEqual","GreaterTilde","Gscr","gscr","gsim","gsime","gsiml","Gt","GT","gtcc","gtcir","gtdot","gtlPar","gtquest","gtrapprox","gtrarr","gtrdot","gtreqless","gtreqqless","gtrless","gtrsim","gvertneqq","gvnE","Hacek","hairsp","half","hamilt","HARDcy","hardcy","hArr","harr","harrcir","harrw","Hat","hbar","Hcirc","hcirc","hearts","heartsuit","hellip","hercon","Hfr","hfr","HilbertSpace","hksearow","hkswarow","hoarr","homtht","hookleftarrow","hookrightarrow","Hopf","hopf","horbar","HorizontalLine","Hscr","hscr","hslash","Hstrok","hstrok","HumpDownHump","HumpEqual","hybull","hyphen","Iacute","iacute","ic","Icirc","icirc","Icy","icy","Idot","IEcy","iecy","iexcl","iff","Ifr","Igrave","igrave","ii","iiiint","iiint","iinfin","iiota","IJlig","ijlig","Im","Imacr","imacr","image","ImaginaryI","imagline","imagpart","imath","imof","imped","Implies","in","incare","infin","infintie","inodot","Int","int","intcal","integers","Integral","intercal","Intersection","intlarhk","intprod","InvisibleComma","InvisibleTimes","IOcy","iocy","Iogon","iogon","Iopf","iopf","Iota","iota","iprod","iquest","Iscr","iscr","isin","isindot","isinE","isins","isinsv","isinv","Itilde","itilde","Iukcy","iukcy","Iuml","iuml","Jcirc","jcirc","Jcy","jcy","Jfr","jfr","jmath","Jopf","jopf","Jscr","jscr","Jsercy","jsercy","Jukcy","jukcy","Kappa","kappa","kappav","Kcedil","kcedil","Kcy","kcy","Kfr","kfr","kgreen","KHcy","khcy","KJcy","kjcy","Kopf","kopf","Kscr","kscr","lAarr","Lacute","lacute","laemptyv","lagran","Lambda","lambda","Lang","langd","langle","lap","Laplacetrf","laquo","Larr","lArr","larr","larrb","larrbfs","larrfs","larrhk","larrlp","larrpl","larrsim","larrtl","lat","lAtail","latail","late","lates","lBarr","lbarr","lbbrk","lbrace","lbrack","lbrke","lbrksld","lbrkslu","Lcaron","lcaron","Lcedil","lcedil","lceil","lcub","Lcy","lcy","ldca","ldquo","ldquor","ldrdhar","ldrushar","ldsh","lE","le","LeftAngleBracket","LeftArrow","Leftarrow","leftarrow","LeftArrowBar","LeftArrowRightArrow","leftarrowtail","LeftCeiling","LeftDoubleBracket","LeftDownTeeVector","LeftDownVector","LeftDownVectorBar","LeftFloor","leftharpoondown","leftharpoonup","leftleftarrows","LeftRightArrow","Leftrightarrow","leftrightarrow","leftrightarrows","leftrightharpoons","leftrightsquigarrow","LeftRightVector","LeftTee","LeftTeeArrow","LeftTeeVector","leftthreetimes","LeftTriangle","LeftTriangleBar","LeftTriangleEqual","LeftUpDownVector","LeftUpTeeVector","LeftUpVector","LeftUpVectorBar","LeftVector","LeftVectorBar","lEg","leg","leq","leqq","leqslant","les","lescc","lesdot","lesdoto","lesdotor","lesg","lesges","lessapprox","lessdot","lesseqgtr","lesseqqgtr","LessEqualGreater","LessFullEqual","LessGreater","lessgtr","LessLess","lesssim","LessSlantEqual","LessTilde","lfisht","lfloor","Lfr","lfr","lg","lgE","lHar","lhard","lharu","lharul","lhblk","LJcy","ljcy","Ll","ll","llarr","llcorner","Lleftarrow","llhard","lltri","Lmidot","lmidot","lmoust","lmoustache","lnap","lnapprox","lnE","lne","lneq","lneqq","lnsim","loang","loarr","lobrk","LongLeftArrow","Longleftarrow","longleftarrow","LongLeftRightArrow","Longleftrightarrow","longleftrightarrow","longmapsto","LongRightArrow","Longrightarrow","longrightarrow","looparrowleft","looparrowright","lopar","Lopf","lopf","loplus","lotimes","lowast","lowbar","LowerLeftArrow","LowerRightArrow","loz","lozenge","lozf","lpar","lparlt","lrarr","lrcorner","lrhar","lrhard","lrm","lrtri","lsaquo","Lscr","lscr","Lsh","lsh","lsim","lsime","lsimg","lsqb","lsquo","lsquor","Lstrok","lstrok","Lt","LT","ltcc","ltcir","ltdot","lthree","ltimes","ltlarr","ltquest","ltri","ltrie","ltrif","ltrPar","lurdshar","luruhar","lvertneqq","lvnE","macr","male","malt","maltese","Map","mapsto","mapstodown","mapstoleft","mapstoup","marker","mcomma","Mcy","mcy","mdash","mDDot","measuredangle","MediumSpace","Mellintrf","Mfr","mfr","mho","micro","mid","midast","midcir","middot","minus","minusb","minusd","minusdu","MinusPlus","mlcp","mldr","mnplus","models","Mopf","mopf","mp","Mscr","mscr","mstpos","Mu","mu","multimap","mumap","nabla","Nacute","nacute","nang","nap","napE","napid","napos","napprox","natur","natural","naturals","nbsp","nbump","nbumpe","ncap","Ncaron","ncaron","Ncedil","ncedil","ncong","ncongdot","ncup","Ncy","ncy","ndash","ne","nearhk","neArr","nearr","nearrow","nedot","NegativeMediumSpace","NegativeThickSpace","NegativeThinSpace","NegativeVeryThinSpace","nequiv","nesear","nesim","NestedGreaterGreater","NestedLessLess","NewLine","nexist","nexists","Nfr","nfr","ngE","nge","ngeq","ngeqq","ngeqslant","nges","nGg","ngsim","nGt","ngt","ngtr","nGtv","nhArr","nharr","nhpar","ni","nis","nisd","niv","NJcy","njcy","nlArr","nlarr","nldr","nlE","nle","nLeftarrow","nleftarrow","nLeftrightarrow","nleftrightarrow","nleq","nleqq","nleqslant","nles","nless","nLl","nlsim","nLt","nlt","nltri","nltrie","nLtv","nmid","NoBreak","NonBreakingSpace","Nopf","nopf","Not","not","NotCongruent","NotCupCap","NotDoubleVerticalBar","NotElement","NotEqual","NotEqualTilde","NotExists","NotGreater","NotGreaterEqual","NotGreaterFullEqual","NotGreaterGreater","NotGreaterLess","NotGreaterSlantEqual","NotGreaterTilde","NotHumpDownHump","NotHumpEqual","notin","notindot","notinE","notinva","notinvb","notinvc","NotLeftTriangle","NotLeftTriangleBar","NotLeftTriangleEqual","NotLess","NotLessEqual","NotLessGreater","NotLessLess","NotLessSlantEqual","NotLessTilde","NotNestedGreaterGreater","NotNestedLessLess","notni","notniva","notnivb","notnivc","NotPrecedes","NotPrecedesEqual","NotPrecedesSlantEqual","NotReverseElement","NotRightTriangle","NotRightTriangleBar","NotRightTriangleEqual","NotSquareSubset","NotSquareSubsetEqual","NotSquareSuperset","NotSquareSupersetEqual","NotSubset","NotSubsetEqual","NotSucceeds","NotSucceedsEqual","NotSucceedsSlantEqual","NotSucceedsTilde","NotSuperset","NotSupersetEqual","NotTilde","NotTildeEqual","NotTildeFullEqual","NotTildeTilde","NotVerticalBar","npar","nparallel","nparsl","npart","npolint","npr","nprcue","npre","nprec","npreceq","nrArr","nrarr","nrarrc","nrarrw","nRightarrow","nrightarrow","nrtri","nrtrie","nsc","nsccue","nsce","Nscr","nscr","nshortmid","nshortparallel","nsim","nsime","nsimeq","nsmid","nspar","nsqsube","nsqsupe","nsub","nsubE","nsube","nsubset","nsubseteq","nsubseteqq","nsucc","nsucceq","nsup","nsupE","nsupe","nsupset","nsupseteq","nsupseteqq","ntgl","Ntilde","ntilde","ntlg","ntriangleleft","ntrianglelefteq","ntriangleright","ntrianglerighteq","Nu","nu","num","numero","numsp","nvap","nVDash","nVdash","nvDash","nvdash","nvge","nvgt","nvHarr","nvinfin","nvlArr","nvle","nvlt","nvltrie","nvrArr","nvrtrie","nvsim","nwarhk","nwArr","nwarr","nwarrow","nwnear","Oacute","oacute","oast","ocir","Ocirc","ocirc","Ocy","ocy","odash","Odblac","odblac","odiv","odot","odsold","OElig","oelig","ofcir","Ofr","ofr","ogon","Ograve","ograve","ogt","ohbar","ohm","oint","olarr","olcir","olcross","oline","olt","Omacr","omacr","Omega","omega","Omicron","omicron","omid","ominus","Oopf","oopf","opar","OpenCurlyDoubleQuote","OpenCurlyQuote","operp","oplus","Or","or","orarr","ord","order","orderof","ordf","ordm","origof","oror","orslope","orv","oS","Oscr","oscr","Oslash","oslash","osol","Otilde","otilde","Otimes","otimes","otimesas","Ouml","ouml","ovbar","OverBar","OverBrace","OverBracket","OverParenthesis","par","para","parallel","parsim","parsl","part","PartialD","Pcy","pcy","percnt","period","permil","perp","pertenk","Pfr","pfr","Phi","phi","phiv","phmmat","phone","Pi","pi","pitchfork","piv","planck","planckh","plankv","plus","plusacir","plusb","pluscir","plusdo","plusdu","pluse","PlusMinus","plusmn","plussim","plustwo","pm","Poincareplane","pointint","Popf","popf","pound","Pr","pr","prap","prcue","prE","prec","precapprox","preccurlyeq","Precedes","PrecedesEqual","PrecedesSlantEqual","PrecedesTilde","preceq","precnapprox","precneqq","precnsim","precsim","Prime","prime","primes","prnap","prnE","prnsim","prod","Product","profalar","profline","profsurf","prop","Proportion","Proportional","propto","prsim","prurel","Pscr","pscr","Psi","psi","puncsp","Qfr","qfr","qint","Qopf","qopf","qprime","Qscr","qscr","quaternions","quatint","quest","questeq","QUOT","rAarr","race","Racute","racute","radic","raemptyv","Rang","rang","rangd","range","rangle","raquo","Rarr","rArr","rarr","rarrap","rarrb","rarrbfs","rarrc","rarrfs","rarrhk","rarrlp","rarrpl","rarrsim","Rarrtl","rarrtl","rarrw","rAtail","ratail","ratio","rationals","RBarr","rBarr","rbarr","rbbrk","rbrace","rbrack","rbrke","rbrksld","rbrkslu","Rcaron","rcaron","Rcedil","rcedil","rceil","rcub","Rcy","rcy","rdca","rdldhar","rdquo","rdquor","rdsh","Re","real","realine","realpart","reals","rect","REG","reg","ReverseElement","ReverseEquilibrium","ReverseUpEquilibrium","rfisht","rfloor","Rfr","rfr","rHar","rhard","rharu","rharul","Rho","rho","rhov","RightAngleBracket","RightArrow","Rightarrow","rightarrow","RightArrowBar","RightArrowLeftArrow","rightarrowtail","RightCeiling","RightDoubleBracket","RightDownTeeVector","RightDownVector","RightDownVectorBar","RightFloor","rightharpoondown","rightharpoonup","rightleftarrows","rightleftharpoons","rightrightarrows","rightsquigarrow","RightTee","RightTeeArrow","RightTeeVector","rightthreetimes","RightTriangle","RightTriangleBar","RightTriangleEqual","RightUpDownVector","RightUpTeeVector","RightUpVector","RightUpVectorBar","RightVector","RightVectorBar","ring","risingdotseq","rlarr","rlhar","rlm","rmoust","rmoustache","rnmid","roang","roarr","robrk","ropar","Ropf","ropf","roplus","rotimes","RoundImplies","rpar","rpargt","rppolint","rrarr","Rrightarrow","rsaquo","Rscr","rscr","Rsh","rsh","rsqb","rsquo","rsquor","rthree","rtimes","rtri","rtrie","rtrif","rtriltri","RuleDelayed","ruluhar","rx","Sacute","sacute","sbquo","Sc","sc","scap","Scaron","scaron","sccue","scE","sce","Scedil","scedil","Scirc","scirc","scnap","scnE","scnsim","scpolint","scsim","Scy","scy","sdot","sdotb","sdote","searhk","seArr","searr","searrow","sect","semi","seswar","setminus","setmn","sext","Sfr","sfr","sfrown","sharp","SHCHcy","shchcy","SHcy","shcy","ShortDownArrow","ShortLeftArrow","shortmid","shortparallel","ShortRightArrow","ShortUpArrow","shy","Sigma","sigma","sigmaf","sigmav","sim","simdot","sime","simeq","simg","simgE","siml","simlE","simne","simplus","simrarr","slarr","SmallCircle","smallsetminus","smashp","smeparsl","smid","smile","smt","smte","smtes","SOFTcy","softcy","sol","solb","solbar","Sopf","sopf","spades","spadesuit","spar","sqcap","sqcaps","sqcup","sqcups","Sqrt","sqsub","sqsube","sqsubset","sqsubseteq","sqsup","sqsupe","sqsupset","sqsupseteq","squ","Square","square","SquareIntersection","SquareSubset","SquareSubsetEqual","SquareSuperset","SquareSupersetEqual","SquareUnion","squarf","squf","srarr","Sscr","sscr","ssetmn","ssmile","sstarf","Star","star","starf","straightepsilon","straightphi","strns","Sub","subdot","subE","sube","subedot","submult","subnE","subne","subplus","subrarr","Subset","subset","subseteq","subseteqq","SubsetEqual","subsetneq","subsetneqq","subsim","subsub","subsup","succ","succapprox","succcurlyeq","Succeeds","SucceedsEqual","SucceedsSlantEqual","SucceedsTilde","succeq","succnapprox","succneqq","succnsim","succsim","SuchThat","Sum","sum","sung","Sup","sup","sup1","sup2","sup3","supdot","supdsub","supE","supe","supedot","Superset","SupersetEqual","suphsol","suphsub","suplarr","supmult","supnE","supne","supplus","Supset","supset","supseteq","supseteqq","supsetneq","supsetneqq","supsim","supsub","supsup","swarhk","swArr","swarr","swarrow","swnwar","szlig","Tab","Tau","tau","tbrk","Tcaron","tcaron","Tcedil","tcedil","Tcy","tcy","tdot","telrec","Tfr","tfr","there4","Therefore","therefore","Theta","theta","thetasym","thetav","thickapprox","thicksim","ThickSpace","thinsp","ThinSpace","thkap","thksim","THORN","thorn","Tilde","tilde","TildeEqual","TildeFullEqual","TildeTilde","times","timesb","timesbar","timesd","tint","toea","top","topbot","topcir","Topf","topf","topfork","tosa","tprime","TRADE","trade","triangle","triangledown","triangleleft","trianglelefteq","triangleq","triangleright","trianglerighteq","tridot","trie","triminus","TripleDot","triplus","trisb","tritime","trpezium","Tscr","tscr","TScy","tscy","TSHcy","tshcy","Tstrok","tstrok","twixt","twoheadleftarrow","twoheadrightarrow","Uacute","uacute","Uarr","uArr","uarr","Uarrocir","Ubrcy","ubrcy","Ubreve","ubreve","Ucirc","ucirc","Ucy","ucy","udarr","Udblac","udblac","udhar","ufisht","Ufr","ufr","Ugrave","ugrave","uHar","uharl","uharr","uhblk","ulcorn","ulcorner","ulcrop","ultri","Umacr","umacr","uml","UnderBar","UnderBrace","UnderBracket","UnderParenthesis","Union","UnionPlus","Uogon","uogon","Uopf","uopf","UpArrow","Uparrow","uparrow","UpArrowBar","UpArrowDownArrow","UpDownArrow","Updownarrow","updownarrow","UpEquilibrium","upharpoonleft","upharpoonright","uplus","UpperLeftArrow","UpperRightArrow","Upsi","upsi","upsih","Upsilon","upsilon","UpTee","UpTeeArrow","upuparrows","urcorn","urcorner","urcrop","Uring","uring","urtri","Uscr","uscr","utdot","Utilde","utilde","utri","utrif","uuarr","Uuml","uuml","uwangle","vangrt","varepsilon","varkappa","varnothing","varphi","varpi","varpropto","vArr","varr","varrho","varsigma","varsubsetneq","varsubsetneqq","varsupsetneq","varsupsetneqq","vartheta","vartriangleleft","vartriangleright","Vbar","vBar","vBarv","Vcy","vcy","VDash","Vdash","vDash","vdash","Vdashl","Vee","vee","veebar","veeeq","vellip","Verbar","verbar","Vert","vert","VerticalBar","VerticalLine","VerticalSeparator","VerticalTilde","VeryThinSpace","Vfr","vfr","vltri","vnsub","vnsup","Vopf","vopf","vprop","vrtri","Vscr","vscr","vsubnE","vsubne","vsupnE","vsupne","Vvdash","vzigzag","Wcirc","wcirc","wedbar","Wedge","wedge","wedgeq","weierp","Wfr","wfr","Wopf","wopf","wp","wr","wreath","Wscr","wscr","xcap","xcirc","xcup","xdtri","Xfr","xfr","xhArr","xharr","Xi","xi","xlArr","xlarr","xmap","xnis","xodot","Xopf","xopf","xoplus","xotime","xrArr","xrarr","Xscr","xscr","xsqcup","xuplus","xutri","xvee","xwedge","Yacute","yacute","YAcy","yacy","Ycirc","ycirc","Ycy","ycy","yen","Yfr","yfr","YIcy","yicy","Yopf","yopf","Yscr","yscr","YUcy","yucy","Yuml","yuml","Zacute","zacute","Zcaron","zcaron","Zcy","zcy","Zdot","zdot","zeetrf","ZeroWidthSpace","Zeta","zeta","Zfr","zfr","ZHcy","zhcy","zigrarr","Zopf","zopf","Zscr","zscr","zwj","zwnj","entityMap","nameStartChar","nameChar","tagNamePattern","ParseError","locator","XMLReader","copyLocator","lineNumber","columnNumber","parseElementStartPart","currentNSMap","entityReplacer","errorHandler","addAttribute","qname","startIndex","attributeNames","fatalError","addValue","attrName","warning","setTagName","closed","appendElement","domBuilder","localNSMap","qName","nsp","nsPrefix","_copy","startPrefixMapping","startElement","endElement","endPrefixMapping","parseHtmlSpecialContent","elStartEnd","elEndStart","characters","fixSelfClosed","closeMap","pos","parseDCC","end","comment","substr","startCDATA","endCDATA","matchs","lastMatch","startDTD","endDTD","parseInstruction","processingInstruction","ElementAttributes","defaultNSMap","startDocument","defaultNSMapCopy","fixedFromCharCode","surrogate1","surrogate2","fromCharCode","appendText","xt","lineEnd","linePattern","lineStart","parseStack","tagStart","currentElement","endMatch","locator2","endDocument","getLocalName","getLocator","getQName","getURI","getValue","sax","require$$1","entities","require$$2","require$$3","normalizeLineEndings","options","DOMHandler","cdata","_locator","_toString","chars","java","hander","xmlns","setDocumentLocator","errorImpl","isCallback","Function","build","fn","msg","buildErrorHandler","documentURI","ins","ignorableWhitespace","ch","apply","charNode","skippedEntity","comm","impl","dt","domParser","__DOMHandler","lib"],"mappings":"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","x_google_ignoreList":[0,1,4,5,6,7,8,9]}
|