{"version":3,"file":"js/2225.9c813f18.js","mappings":"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","sources":["webpack://soda-c-i18n/./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js","webpack://soda-c-i18n/./node_modules/@didi/omega-tracker-lite/lib/index.js","webpack://soda-c-i18n/./node_modules/@didi/soda-common/lib/index.js","webpack://soda-c-i18n/./node_modules/cssfilter/lib/css.js","webpack://soda-c-i18n/./node_modules/cssfilter/lib/default.js","webpack://soda-c-i18n/./node_modules/cssfilter/lib/index.js","webpack://soda-c-i18n/./node_modules/cssfilter/lib/parser.js","webpack://soda-c-i18n/./node_modules/cssfilter/lib/util.js","webpack://soda-c-i18n/./node_modules/querystring/decode.js","webpack://soda-c-i18n/./node_modules/querystring/encode.js","webpack://soda-c-i18n/./node_modules/querystring/index.js","webpack://soda-c-i18n/./node_modules/url/node_modules/punycode/punycode.js","webpack://soda-c-i18n/./node_modules/url/url.js","webpack://soda-c-i18n/./node_modules/url/util.js","webpack://soda-c-i18n/./node_modules/xss/lib/default.js","webpack://soda-c-i18n/./node_modules/xss/lib/index.js","webpack://soda-c-i18n/./node_modules/xss/lib/parser.js","webpack://soda-c-i18n/./node_modules/xss/lib/util.js","webpack://soda-c-i18n/./node_modules/xss/lib/xss.js","webpack://soda-c-i18n/./node_modules/@didi/soda-cli-plugin-babel/node_modules/@babel/runtime/helpers/typeof.js","webpack://soda-c-i18n/./node_modules/@didi/soda-cli-plugin-babel/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://soda-c-i18n/./node_modules/@didi/soda-cli-plugin-babel/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://soda-c-i18n/./node_modules/@didi/soda-cli-plugin-babel/node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://soda-c-i18n/./node_modules/@didi/soda-cli-plugin-babel/node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://soda-c-i18n/./node_modules/@didi/soda-cli-plugin-babel/node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://soda-c-i18n/./node_modules/@didi/soda-cli-plugin-babel/node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","webpack://soda-c-i18n/./node_modules/@didi/soda-cli-plugin-babel/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://soda-c-i18n/./node_modules/@didi/soda-cli-plugin-babel/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js"],"sourcesContent":["/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).OmegaTracker=e()}(this,function(){\"use strict\";var _=function(t,e){return(_=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])})(t,e)};function t(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Class extends value \"+String(e)+\" is not a constructor or null\");function r(){this.constructor=t}_(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}var h=function(){return(h=Object.assign||function(t){for(var e,r=1,n=arguments.length;r>>0,o=arguments[1],i=0;i>>((3&r)<<3)&255;return t[6]=15&t[6]|64,t[8]=63&t[8]|128,n.bytesToUuid(t)},enumerable:!1,configurable:!0});var L=n;function n(){}var o=\"_OMGID\",K=(e.prototype.getOmgIdFromCookie=function(){for(var t=document.cookie.split(\";\"),e=0,r=t.length;e>2);return 2147483647&e},X.encodeHashUrl=function(t){return\"\".concat(t,\"&tk=\").concat(this.encodeHash(t))};var Q=X;function X(){}var $,Z=function(t){var e=this;this.pageHidding=!1,this.onVisibleChange=function(){document.hidden?e.pageHidding=!0:e.pageHidding=!1,e.props.onChange({pageHide:e.pageHidding})},!document.hidden&&\"hidden\"!==document.visibilityState||(this.pageHidding=!0),this.props=t,document.addEventListener(\"visibilitychange\",this.onVisibleChange,!1)},w=(t(O,$=U),O.prototype.init=function(){this.context.isDebugger?this.reportPath=u.DEBUG:this.reportPath=u.NORMAL},O.prototype.getOmgCi=function(t){if(t=void 0===t?this.context.cityId:t){var e,r,t=Number(this.context.cityId);if(!isNaN(t))return e=String(t).length,r=(r=\"\".concat((new Date).getTime())).slice(0,-(e+1)),\"\".concat(r).concat(t).concat(e)}return\"\"},O.prototype.report=function(t){if(this.blackEventList&&0===this.blackEventList[t.eventId])return Promise.resolve();t=new Y(t,this.context);return this.ajaxReport(t)},O.prototype.ajaxReport=function(a,s){var c=this;return new Promise(function(e,t){if(c.context.forbidReport)return c.setRetryData(a,s),e();var r=a.getPostFormStr(),n=a.getData(),o=new XMLHttpRequest,i=\"https://\".concat(c.context.uploadHost).concat(c.reportPath,\"?e=\").concat(n.eventId);o.open(\"POST\",i),c.context.isDebugger||(o.setRequestHeader(\"oid\",n.omgId||\"\"),o.setRequestHeader(\"seq\",n.appKey||\"\"),(i=c.getOmgCi(n.cityId))&&o.setRequestHeader(\"omgci\",i),o.setRequestHeader(\"msgid\",\"\".concat(n.viewportId||\"\",\"-\").concat(n.sequence||\"\",\"-\").concat(n.timestamp||\"\"))),o.setRequestHeader(\"Content-Type\",\"application/x-www-form-urlencoded\"),o.onreadystatechange=function(){if(4===o.readyState&&200===o.status){try{var t=JSON.parse(o.responseText);t&&t.eventid&&c.setBlackEvent(t.eventid)}catch(t){p(\"上报成功后解析失败:\".concat(o.responseText))}e()}},o.onerror=function(){navigator&&!1===navigator.onLine&&c.setRetryData(a,s),p(\"POST上报失败onerror\"+o.status),t()},o.send(Q.encodeHashUrl(r))})},O.prototype.setBlackEvent=function(t){for(var e in t)0===t[e]&&\"\"!==e&&(this.blackEventList[e]=0)},O.prototype.setRetryData=function(t,e){100===this.retryEventList.length&&this.retryEventList.pop(),e?this.retryEventList.push(t):this.retryEventList.unshift(t),this.startDoRetry()},O.prototype.startDoRetry=function(){var t=this;this.isRetryReport||this.retryEventList.length&&(this.isRetryReport=setTimeout(function(){return t.doRetryReport()},2e3))},O.prototype.doRetryReport=function(){var t,e=this;if(this.isRetryReport=void 0,!this.pageStatus.pageHidding)return this.context.forbidReport?this.startDoRetry():void(this.retryEventList.length&&(t=this.retryEventList.shift())&&this.ajaxReport(t,!0).then(function(){e.retryEventList.length&&e.doRetryReport()}))},O);function O(){var e=null!==$&&$.apply(this,arguments)||this;return e.blackEventList={},e.retryEventList=[],e.onPageStatusChange=function(t){t.pageHide||e.startDoRetry()},e.pageStatus=new Z({onChange:e.onPageStatusChange}),e}I.prototype.postMessage=function(t,e){this.getMethods(t).postMessage(e)},I.prototype.setTelephone=function(t,e){this.postMessage(\"setTelephone\",JSON.stringify({tel:t}))},I.prototype.setUserId=function(t){this.postMessage(\"setUserId\",JSON.stringify({userId:t}))},I.prototype.setCityId=function(t){this.postMessage(\"setCityId\",JSON.stringify({cityId:t}))},I.prototype.trackEventEx=function(t,e,r,n,o){this.postMessage(\"trackEventEx\",JSON.stringify({eventId:t,eventLabel:e,attrJson:r,sysJson:n,exJson:o}))},I.prototype.getInfo=function(r){this.postMessage(\"getInfo\",JSON.stringify({getInfo:function(t){window.postMessage(t.info,location.href)}.toString()}));var n=function(t){var e=t.data;e&&e.oid&&(window.removeEventListener(\"message\",n),r&&r(t.data))};return window.addEventListener(\"message\",n),\"\"};var tt=I;function I(){var r=this;this.getMethods=function(t){return window.webkit.messageHandlers[t]},this.onCheckAppSdk=function(){var e=!0;try{var t=r.getMethods(\"trackEventEx\");t&&t.postMessage||(p(\"桥接对象获取异常\"),e=!1)}catch(t){p(\"桥接对象获取异常\",t),e=!1}return e}}b.prototype.setTelephone=function(t,e){return this.sdk.setTelephone(t,e)},b.prototype.setUserId=function(t){return this.sdk.setUserId(t)},b.prototype.setCityId=function(t){return this.sdk.setCityId(t)},b.prototype.trackEventEx=function(t,e,r,n,o){return this.sdk.trackEventEx(t,e,r,n,o)},b.prototype.getInfo=function(t){return this.sdk.getInfo(t)};var et=b;function b(){var t=this;this.sdk=window.OmegaSDK,this.onCheckAppSdk=function(){var e=!0;try{\"function\"!=typeof t.sdk.trackEventEx&&(e=!1,p(\"桥接对象获取异常\"))}catch(t){p(\"桥接对象获取异常\",t),e=!1}return e}}R.inAppEnv=function(){return R.inAndriod()||R.inIos()},R.inIos=function(){return window.webkit&&window.webkit.messageHandlers&&window.webkit.messageHandlers.getInfo},R.inAndriod=function(){var t=window.OmegaSDK;return!(!t||!t.getInfo)},R.getAppOid=function(){return new Promise(function(e){if(R.inAndriod()){var t=window.OmegaSDK.getInfo()||\"\";try{var r=JSON.parse(t);r&&r.oid&&e(r.oid)}catch(t){e(\"\")}}else(new tt).getInfo(function(t){t&&t.oid&&e(t.oid)}),setTimeout(function(){e(\"\")},2e3)})},R.getAppSdk=function(){return this.inAndriod()?new et:this.inIos()?new tt:void 0};var T=R;function R(){}t(S,rt=U),S.prototype.init=function(){},S.prototype.onCheck=function(){var t=T.getAppSdk();return!!t&&t.onCheckAppSdk()},S.prototype.report=function(t){var e=new Y(t,this.context),r=e.getData(),n=T.getAppSdk();return n?n.trackEventEx(r.eventId,t.eventLabel||\"\",e.getAttrJsonStr(),e.getSystemJsonStr(),\"{nt:1}\"):p(\"获取桥接对象异常\"),Promise.resolve()};var rt,nt=S;function S(){return null!==rt&&rt.apply(this,arguments)||this}t(x,ot=l),x.prototype.report=function(){return this.tracker&&!this.context.disabledInit?this.tracker.trackEvent(\"OMGH5PageInit\"):Promise.resolve()},x.prototype.init=function(){this.context.isDebugger?this.tracker.setReportHandle(new w(this.context)):T.inAppEnv()?(this.tracker.setConfig({isInNative:!0,syncNativeInfoDone:!1}),this.tracker.setReportHandle({report:this.generalAppReport}),this.report(),this.syncAppOid()):(this.tracker.setReportHandle(new w(this.context)),this.report())},x.prototype.syncAppOid=function(){var e=this;T.getAppOid().then(function(t){if(t)if(e.tracker.setConfig({syncNativeInfoDone:!0}),e.context.omgId=t,e.context.disableBridge)e.tracker.setReportHandle(new w(e.context));else{if(T.inIos())return void setTimeout(function(){e.tracker.setReportHandle(new nt(e.context),new w(e.context)),e.reportCacheData()},500);e.tracker.setReportHandle(new nt(e.context),new w(e.context))}else e.tracker.setConfig({syncNativeInfoDone:!0,isInNative:!1}),e.tracker.setReportHandle(new w(e.context));e.reportCacheData()})},x.pluginName=\"OMG_INIT\";var ot,it=x;function x(){var e=null!==ot&&ot.apply(this,arguments)||this;return e.name=\"OMG_INIT\",e.eventList=[],e.generalAppReport=function(t){return e.eventList.push(t),Promise.resolve()},e.reportCacheData=function(){e.eventList.forEach(function(t){e.tracker.trackEvent(t.eventId,t.eventLabel,t.attrs)})},e}t(H,at=l),H.prototype.init=function(){!1!==this.context.autoPerformance&&(document.addEventListener(\"visibilitychange\",this.onVisibilityChange,!0),this.reportPermanceInfo())},H.prototype.globalPerformance=function(){var t=window;return t.performance||t.webkitPerformance||t.msPerformance||t.mozPerformance},H.prototype.getEntries=function(){var e,t=this.globalPerformance();return t&&t.getEntries?(t=window.performance.getEntries()||[],e=window.PerformanceEventTiming||function(){},100<(t=t.filter(function(t){return!(t instanceof e)})).length&&(t.length=100),t):[]},H.prototype.reportPermanceInfo=function(){var e=this,r=this.context,n=this.globalPerformance();try{var o=new PerformanceObserver(function(t){try{if(r&&r.lcpFilter){var e=t.getEntries();if(e[0]&&e[0].element)if(!0===r.lcpFilter(e[0].element))return}n&&n.mark(\"largest-contentful-paint\")}catch(t){n&&n.mark(\"largest-contentful-paint\")}});o.observe({entryTypes:[\"largest-contentful-paint\"]}),[\"keydown\",\"click\"].forEach(function(t){addEventListener(t,function(){e.reportData(),o&&o.disconnect&&o.disconnect()},{once:!0,capture:!0})})}catch(t){this.reportData()}},H.prototype.reportData=function(){var t,e,r;this.isReport||(this.isReport=!0,document.removeEventListener(\"visibilitychange\",this.onVisibilityChange,!0),t=this.getEntries(),e=0,(r=this.globalPerformance())&&r.timing&&(e=r.timing.loadEventStart-r.timing.navigationStart),r=i.getOffMode(),this.report({entries:t,entryLength:t.length,t_pgrd:e,off_mode:r}))},H.pluginName=\"OMG_PERFORMANCE\";var at,C,st,ct=H;function H(){var e=null!==at&&at.apply(this,arguments)||this;return e.name=H.pluginName,e.eventId=\"OMGH5Performance\",e.isReport=!1,e.onVisibilityChange=function(){var t=e.globalPerformance();\"hidden\"===document.visibilityState&&t&&t.mark(\"hidden\"),\"visible\"===document.visibilityState&&(t&&t.mark(\"visible\"),document.removeEventListener(\"visibilitychange\",e.onVisibilityChange,!0))},e.report=function(t){return e.tracker?e.tracker.trackEvent(e.eventId,t):Promise.resolve()},e}(st=C=C||{}).ONLOAD=\"onload\",st.RESOURCE=\"resource_error\",st.JS_ERROR=\"js_error\";t(P,pt=l),P.prototype.report=function(t){return this.doReportHook(t),this.tracker.trackEvent(this.eventId,null==t?void 0:t.message,h({name:\"ResourceError\"},t||{}))},P.prototype.init=function(){var t;\"object\"==typeof this.context.autoResourceError&&null!=(t=null==(t=this.context)?void 0:t.autoResourceError)&&t.staticResourceType&&(this.staticResourceType=null==(t=null==(t=this.context)?void 0:t.autoResourceError)?void 0:t.staticResourceType),this.context.autoResourceError&&window.addEventListener(\"error\",this.handleResourceError,!0)},P.pluginName=\"OMG_STATIC_RESOURCE\";var pt,ut=P;function P(){var e=null!==pt&&pt.apply(this,arguments)||this;return e.staticResourceType=[\"LINK\",\"SCRIPT\",\"IMG\"],e.name=\"OMG_STATIC_RESOURCE\",e.eventId=\"OMGH5Error\",e.handleResourceError=function(t){var t=t.target||t.srcElement;t instanceof HTMLElement&&-1!==e.staticResourceType.indexOf(t.nodeName)&&(t=t.src||t.href||\"\",0!==window.location.href.indexOf(t)&&(t=\"资源地址:\".concat(t,\", 页面url:\").concat(window.location.href,\", 用户名userName:\").concat(e.context.userName),e.report({label:\"静态资源加载错误\",message:t,url:window.location.href,type:window.monitorType||\"ResourceError\"}).catch(function(t){p(\"hadleError异常\")})))},e}var ht,dt=!1,lt=(t(M,ht=l),M.prototype.init=function(t){(t||this.context).autoWhiteScreenMonitor&&(this.initPluginHook(),this.initOther(t))},M.prototype.onConfigUpDate=function(t){this.disconnectObserver(),this.initOther(t)},M.prototype.initOther=function(t){var r=this,t=(t||this.context).autoWhiteScreenMonitor;t&&(this.config=h({},t),this.childrenDepth=this.config.childrenDepth||this.childrenDepth,this.durationSeconds=this.config.durationSeconds||this.durationSeconds,this.config.renderCallback?new Promise(function(t,e){r.config.renderCallback&&r.config.renderCallback(t)}).then(function(){r.initThen()}):this.initThen())},M.prototype.initThen=function(){var t=this;\"complete\"===document.readyState?this.initPlugin():window.addEventListener(\"load\",function(){return t.initPlugin()})},M.prototype.initPluginHook=function(){var e=this;this.tracker.addPluginReportHook(z.pluginName,function(t){e.checkIsWhiteScreen({reason:t.message,reasonType:C.JS_ERROR})}),this.tracker.addPluginReportHook(ut.pluginName,function(t){e.checkIsWhiteScreen({reason:t.message,reasonType:C.RESOURCE})})},M.prototype.initPlugin=function(){this.updateContainer(),M.supportObserver?this.initObserver():this.initInterval(),this.startCheck({reasonType:C.ONLOAD})},M.prototype.report=function(t){return this.tracker.trackEvent(this.eventId,null==t?void 0:t.message,h({name:\"WhiteScreenError\"},t||{}))},M.prototype.sendError=function(t){dt=!0,this.report(h({label:\"页面白屏\",message:\"\".concat(window.location.href,\" 页面白屏, 用户: \").concat(this.context.userName)},t)),this.disconnectObserver()},M.prototype.updateContainer=function(){var t;this.container=document.querySelector((null==(t=null==this?void 0:this.config)?void 0:t.container)||\"body\")},M.prototype.isHidden=function(t){return t instanceof Element&&\"none\"===(null==(t=window.getComputedStyle(t))?void 0:t.display)},M.prototype.checkDomDepth=function(t,e){var r=this;if(!t)return!1;if(t&&!document.body.contains(t))return!1;if(this.config.checkDisplayNone&&this.isHidden(t))return!1;if(\"#text\"===t.nodeName)return!1;var n=!1;return e>=this.childrenDepth||(Array.prototype.some.call(t.childNodes,function(t){return n=n||r.checkDomDepth(t,e+1)}),n)},M.prototype.checkAndSendError=function(t){dt||this.checkRenderChildren()||(this.sendError(t),this.sdkSTimer&&window.clearInterval(this.sdkSTimer))},M.prototype.stopCheck=function(){this.timeHandle&&window.clearTimeout(this.timeHandle),this.timeHandle=null},M.prototype.startCheck=function(t){var e=this;this.timeHandle=setTimeout(function(){e.updateContainer(),e.checkAndSendError(t)},this.durationSeconds)},M.prototype.restartCheck=function(t){this.stopCheck(),this.startCheck(t)},M.prototype.checkIsWhiteScreen=function(t){this.updateContainer(),this.restartCheck(t)},M.prototype.checkRenderChildren=function(){return this.checkDomDepth(this.container,1)},M.prototype.initInterval=function(){var t=this,e=5e3+Math.floor(5e3*Math.random());this.sdkSTimer=window.setInterval(function(){t.restartCheck()},e)},M.prototype.initMutationObserver=function(){var i=this;this.mutationObserver=new MutationObserver(function(t,e){var r;if(void 0!==i.config.observerRange){i.containerChildren=[];for(var n=0;nthis.jankFPSCount?(e=Math.floor(t),1e3<(e=Math.floor(performance.now())-e)?this.jankFrames+=1:this.jankFrames=0,3===this.jankFrames&&(this.errorHandle(),this.jankFrames=0),this.loopTimer=setTimeout(function(){n.loop()},Math.floor(1e3-e))):this.framesMonitor(function(){n.loop(t,r)}))},N.prototype.report=function(t){return this.tracker.trackEvent(this.eventId,null==t?void 0:t.message,h({name:this.name},t||{}))};var ft,gt=N;function N(){var e=null!==ft&&ft.apply(this,arguments)||this;return e.MONITOR_TYPE_LOAD=\"onload\",e.MONITOR_TYPE_EVENT=\"onevent\",e.jankFPSCount=24,e.monitorInterval=1e4,e.errorOverTime=5e3,e.jankFrames=0,e.loopStop=!1,e.loopTimer=null,e.triggerTimer=null,e.errorInfo={message:\"\"},e.errorTime=performance.now(),e.name=\"OMEGA_JANK\",e.eventId=\"OMGH5Error\",e.config={type:e.MONITOR_TYPE_EVENT},e.monitorJank=function(){var t=e.config.type;t===e.MONITOR_TYPE_LOAD?e.loop(performance.now(),0):t===e.MONITOR_TYPE_EVENT?(window.addEventListener(\"click\",e.loopInterval),window.addEventListener(\"keydown\",e.loopInterval)):p(\"卡顿检测类型参数错误!\")},e.monitorError=function(){window.addEventListener(\"error\",function(t){t=t.message;e.errorInfo={message:t},e.errorTime=performance.now()})},e.loopInterval=function(){e.triggerTimer?clearTimeout(e.triggerTimer):(e.loopStop=!1,e.loop()),e.triggerTimer=setTimeout(function(){e.loopTimer&&clearTimeout(e.loopTimer),e.loopStop=!0,e.triggerTimer=null},e.monitorInterval)},e.framesMonitor=function(t){var e,r=window.requestAnimationFrame;r&&(e=r(function(){t(),window.cancelAnimationFrame(e)}))},e.errorHandle=function(){Math.floor(performance.now())-e.errorTime>e.errorOverTime&&(e.errorInfo.message=\"\"),e.loopStop=!0,e.report(e.errorInfo)},e}var mt,yt=function(t){var n=this;this.getTagName=function(){var t=\"\";return n.ele&&(n.ele.tagName&&n.ele.tagName.toLocaleUpperCase?t=n.ele.tagName.toLocaleUpperCase():n.ele.nodeName&&n.ele.nodeName.toLocaleLowerCase&&(t=n.ele.nodeName.toLocaleLowerCase())),t},this.getId=function(){if(n.ele)return\"\"===n.ele.id?void 0:n.ele.id},this.getClassName=function(){if(n.ele)return\"\"===n.ele.className?void 0:n.ele.className},this.getAttrNameByKey=function(t){if(n.ele&&n.ele.getAttribute)return n.ele.getAttribute(t)||void 0},this.getHierarchy=function(){var t=n.getId();if(t)return t;t=n.getAttrNameByKey(\"name\");return t||n.getDomLevel()},this.getDomLevel=function(){for(var t=[],e=n.ele;e&&\"body\"!==e.tagName.toLocaleLowerCase();){var r=n.getDomIndexInParent(e);0<=r&&t.push(r),e=e.parentElement}return e?t.push(\"body\"):t.push(\"document\"),t.reverse().join(\"->\")},this.getDomIndexInParent=function(t){var e=t.parentElement;if(null!==e)for(var r=e.children,n=0,o=r.length;n0,a=u&&u.indexOf(\"edge/\")>0,s=u&&/android/i.test(u),d=u&&/iphone|ipad|ipod|ios/i.test(u),l=u&&/chrome\\/\\d+/.test(u)&&!a,p=u&&/FusionKit/i.test(u),y=p&&/didi\\.passenger/i.test(u),v=p&&/soda\\.customer/i.test(u),m=p&&/soda\\.embedcustomer/i.test(u),b=p&&/soda\\./i.test(u),h=p&&/soda\\.merchant/i.test(u),O=p&&/soda\\.rider/i.test(u),g=p&&/soda\\.manager/i.test(u),w=u&&/soda\\.PCMerchant/i.test(u),j=!p&&/Alipay/i.test(u),x=!p&&/MicroMessenger/i.test(u),A=!p&&/QQ/i.test(u),k=o&&!p&&!j&&!x&&!A,_=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&\"function\"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?\"symbol\":typeof t},P=Object.prototype.toString;function E(t){return null!=t&&\"object\"===(void 0===t?\"undefined\":_(t))&&!1===Array.isArray(t)}function S(t){return void 0!==t&&null!==t}function C(t){return\"function\"==typeof t}function M(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\").split(\".\").reduce(function(t,n){return t[n]||{}},t)}function D(t,n){return hasOwnProperty.call(t,n)}function Q(){return window}function B(t){return\"[object Object]\"===P.call(t)}e.d(n,\"isObject\",function(){return E}),e.d(n,\"isDef\",function(){return S}),e.d(n,\"isFunction\",function(){return C}),e.d(n,\"findProperty\",function(){return M}),e.d(n,\"hasOwn\",function(){return D}),e.d(n,\"getGlobal\",function(){return Q}),e.d(n,\"isPlainObject\",function(){return B}),e.d(n,\"env\",function(){return r});var F=Object.assign||function(t){for(var n=1;n\n */\n\nvar DEFAULT = require('./default');\nvar parseStyle = require('./parser');\nvar _ = require('./util');\n\n\n/**\n * 返回值是否为空\n *\n * @param {Object} obj\n * @return {Boolean}\n */\nfunction isNull (obj) {\n return (obj === undefined || obj === null);\n}\n\n/**\n * 浅拷贝对象\n *\n * @param {Object} obj\n * @return {Object}\n */\nfunction shallowCopyObject (obj) {\n var ret = {};\n for (var i in obj) {\n ret[i] = obj[i];\n }\n return ret;\n}\n\n/**\n * 创建CSS过滤器\n *\n * @param {Object} options\n * - {Object} whiteList\n * - {Function} onAttr\n * - {Function} onIgnoreAttr\n * - {Function} safeAttrValue\n */\nfunction FilterCSS (options) {\n options = shallowCopyObject(options || {});\n options.whiteList = options.whiteList || DEFAULT.whiteList;\n options.onAttr = options.onAttr || DEFAULT.onAttr;\n options.onIgnoreAttr = options.onIgnoreAttr || DEFAULT.onIgnoreAttr;\n options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;\n this.options = options;\n}\n\nFilterCSS.prototype.process = function (css) {\n // 兼容各种奇葩输入\n css = css || '';\n css = css.toString();\n if (!css) return '';\n\n var me = this;\n var options = me.options;\n var whiteList = options.whiteList;\n var onAttr = options.onAttr;\n var onIgnoreAttr = options.onIgnoreAttr;\n var safeAttrValue = options.safeAttrValue;\n\n var retCSS = parseStyle(css, function (sourcePosition, position, name, value, source) {\n\n var check = whiteList[name];\n var isWhite = false;\n if (check === true) isWhite = check;\n else if (typeof check === 'function') isWhite = check(value);\n else if (check instanceof RegExp) isWhite = check.test(value);\n if (isWhite !== true) isWhite = false;\n\n // 如果过滤后 value 为空则直接忽略\n value = safeAttrValue(name, value);\n if (!value) return;\n\n var opts = {\n position: position,\n sourcePosition: sourcePosition,\n source: source,\n isWhite: isWhite\n };\n\n if (isWhite) {\n\n var ret = onAttr(name, value, opts);\n if (isNull(ret)) {\n return name + ':' + value;\n } else {\n return ret;\n }\n\n } else {\n\n var ret = onIgnoreAttr(name, value, opts);\n if (!isNull(ret)) {\n return ret;\n }\n\n }\n });\n\n return retCSS;\n};\n\n\nmodule.exports = FilterCSS;\n","/**\n * cssfilter\n *\n * @author 老雷\n */\n\nfunction getDefaultWhiteList () {\n // 白名单值说明:\n // true: 允许该属性\n // Function: function (val) { } 返回true表示允许该属性,其他值均表示不允许\n // RegExp: regexp.test(val) 返回true表示允许该属性,其他值均表示不允许\n // 除上面列出的值外均表示不允许\n var whiteList = {};\n\n whiteList['align-content'] = false; // default: auto\n whiteList['align-items'] = false; // default: auto\n whiteList['align-self'] = false; // default: auto\n whiteList['alignment-adjust'] = false; // default: auto\n whiteList['alignment-baseline'] = false; // default: baseline\n whiteList['all'] = false; // default: depending on individual properties\n whiteList['anchor-point'] = false; // default: none\n whiteList['animation'] = false; // default: depending on individual properties\n whiteList['animation-delay'] = false; // default: 0\n whiteList['animation-direction'] = false; // default: normal\n whiteList['animation-duration'] = false; // default: 0\n whiteList['animation-fill-mode'] = false; // default: none\n whiteList['animation-iteration-count'] = false; // default: 1\n whiteList['animation-name'] = false; // default: none\n whiteList['animation-play-state'] = false; // default: running\n whiteList['animation-timing-function'] = false; // default: ease\n whiteList['azimuth'] = false; // default: center\n whiteList['backface-visibility'] = false; // default: visible\n whiteList['background'] = true; // default: depending on individual properties\n whiteList['background-attachment'] = true; // default: scroll\n whiteList['background-clip'] = true; // default: border-box\n whiteList['background-color'] = true; // default: transparent\n whiteList['background-image'] = true; // default: none\n whiteList['background-origin'] = true; // default: padding-box\n whiteList['background-position'] = true; // default: 0% 0%\n whiteList['background-repeat'] = true; // default: repeat\n whiteList['background-size'] = true; // default: auto\n whiteList['baseline-shift'] = false; // default: baseline\n whiteList['binding'] = false; // default: none\n whiteList['bleed'] = false; // default: 6pt\n whiteList['bookmark-label'] = false; // default: content()\n whiteList['bookmark-level'] = false; // default: none\n whiteList['bookmark-state'] = false; // default: open\n whiteList['border'] = true; // default: depending on individual properties\n whiteList['border-bottom'] = true; // default: depending on individual properties\n whiteList['border-bottom-color'] = true; // default: current color\n whiteList['border-bottom-left-radius'] = true; // default: 0\n whiteList['border-bottom-right-radius'] = true; // default: 0\n whiteList['border-bottom-style'] = true; // default: none\n whiteList['border-bottom-width'] = true; // default: medium\n whiteList['border-collapse'] = true; // default: separate\n whiteList['border-color'] = true; // default: depending on individual properties\n whiteList['border-image'] = true; // default: none\n whiteList['border-image-outset'] = true; // default: 0\n whiteList['border-image-repeat'] = true; // default: stretch\n whiteList['border-image-slice'] = true; // default: 100%\n whiteList['border-image-source'] = true; // default: none\n whiteList['border-image-width'] = true; // default: 1\n whiteList['border-left'] = true; // default: depending on individual properties\n whiteList['border-left-color'] = true; // default: current color\n whiteList['border-left-style'] = true; // default: none\n whiteList['border-left-width'] = true; // default: medium\n whiteList['border-radius'] = true; // default: 0\n whiteList['border-right'] = true; // default: depending on individual properties\n whiteList['border-right-color'] = true; // default: current color\n whiteList['border-right-style'] = true; // default: none\n whiteList['border-right-width'] = true; // default: medium\n whiteList['border-spacing'] = true; // default: 0\n whiteList['border-style'] = true; // default: depending on individual properties\n whiteList['border-top'] = true; // default: depending on individual properties\n whiteList['border-top-color'] = true; // default: current color\n whiteList['border-top-left-radius'] = true; // default: 0\n whiteList['border-top-right-radius'] = true; // default: 0\n whiteList['border-top-style'] = true; // default: none\n whiteList['border-top-width'] = true; // default: medium\n whiteList['border-width'] = true; // default: depending on individual properties\n whiteList['bottom'] = false; // default: auto\n whiteList['box-decoration-break'] = true; // default: slice\n whiteList['box-shadow'] = true; // default: none\n whiteList['box-sizing'] = true; // default: content-box\n whiteList['box-snap'] = true; // default: none\n whiteList['box-suppress'] = true; // default: show\n whiteList['break-after'] = true; // default: auto\n whiteList['break-before'] = true; // default: auto\n whiteList['break-inside'] = true; // default: auto\n whiteList['caption-side'] = false; // default: top\n whiteList['chains'] = false; // default: none\n whiteList['clear'] = true; // default: none\n whiteList['clip'] = false; // default: auto\n whiteList['clip-path'] = false; // default: none\n whiteList['clip-rule'] = false; // default: nonzero\n whiteList['color'] = true; // default: implementation dependent\n whiteList['color-interpolation-filters'] = true; // default: auto\n whiteList['column-count'] = false; // default: auto\n whiteList['column-fill'] = false; // default: balance\n whiteList['column-gap'] = false; // default: normal\n whiteList['column-rule'] = false; // default: depending on individual properties\n whiteList['column-rule-color'] = false; // default: current color\n whiteList['column-rule-style'] = false; // default: medium\n whiteList['column-rule-width'] = false; // default: medium\n whiteList['column-span'] = false; // default: none\n whiteList['column-width'] = false; // default: auto\n whiteList['columns'] = false; // default: depending on individual properties\n whiteList['contain'] = false; // default: none\n whiteList['content'] = false; // default: normal\n whiteList['counter-increment'] = false; // default: none\n whiteList['counter-reset'] = false; // default: none\n whiteList['counter-set'] = false; // default: none\n whiteList['crop'] = false; // default: auto\n whiteList['cue'] = false; // default: depending on individual properties\n whiteList['cue-after'] = false; // default: none\n whiteList['cue-before'] = false; // default: none\n whiteList['cursor'] = false; // default: auto\n whiteList['direction'] = false; // default: ltr\n whiteList['display'] = true; // default: depending on individual properties\n whiteList['display-inside'] = true; // default: auto\n whiteList['display-list'] = true; // default: none\n whiteList['display-outside'] = true; // default: inline-level\n whiteList['dominant-baseline'] = false; // default: auto\n whiteList['elevation'] = false; // default: level\n whiteList['empty-cells'] = false; // default: show\n whiteList['filter'] = false; // default: none\n whiteList['flex'] = false; // default: depending on individual properties\n whiteList['flex-basis'] = false; // default: auto\n whiteList['flex-direction'] = false; // default: row\n whiteList['flex-flow'] = false; // default: depending on individual properties\n whiteList['flex-grow'] = false; // default: 0\n whiteList['flex-shrink'] = false; // default: 1\n whiteList['flex-wrap'] = false; // default: nowrap\n whiteList['float'] = false; // default: none\n whiteList['float-offset'] = false; // default: 0 0\n whiteList['flood-color'] = false; // default: black\n whiteList['flood-opacity'] = false; // default: 1\n whiteList['flow-from'] = false; // default: none\n whiteList['flow-into'] = false; // default: none\n whiteList['font'] = true; // default: depending on individual properties\n whiteList['font-family'] = true; // default: implementation dependent\n whiteList['font-feature-settings'] = true; // default: normal\n whiteList['font-kerning'] = true; // default: auto\n whiteList['font-language-override'] = true; // default: normal\n whiteList['font-size'] = true; // default: medium\n whiteList['font-size-adjust'] = true; // default: none\n whiteList['font-stretch'] = true; // default: normal\n whiteList['font-style'] = true; // default: normal\n whiteList['font-synthesis'] = true; // default: weight style\n whiteList['font-variant'] = true; // default: normal\n whiteList['font-variant-alternates'] = true; // default: normal\n whiteList['font-variant-caps'] = true; // default: normal\n whiteList['font-variant-east-asian'] = true; // default: normal\n whiteList['font-variant-ligatures'] = true; // default: normal\n whiteList['font-variant-numeric'] = true; // default: normal\n whiteList['font-variant-position'] = true; // default: normal\n whiteList['font-weight'] = true; // default: normal\n whiteList['grid'] = false; // default: depending on individual properties\n whiteList['grid-area'] = false; // default: depending on individual properties\n whiteList['grid-auto-columns'] = false; // default: auto\n whiteList['grid-auto-flow'] = false; // default: none\n whiteList['grid-auto-rows'] = false; // default: auto\n whiteList['grid-column'] = false; // default: depending on individual properties\n whiteList['grid-column-end'] = false; // default: auto\n whiteList['grid-column-start'] = false; // default: auto\n whiteList['grid-row'] = false; // default: depending on individual properties\n whiteList['grid-row-end'] = false; // default: auto\n whiteList['grid-row-start'] = false; // default: auto\n whiteList['grid-template'] = false; // default: depending on individual properties\n whiteList['grid-template-areas'] = false; // default: none\n whiteList['grid-template-columns'] = false; // default: none\n whiteList['grid-template-rows'] = false; // default: none\n whiteList['hanging-punctuation'] = false; // default: none\n whiteList['height'] = true; // default: auto\n whiteList['hyphens'] = false; // default: manual\n whiteList['icon'] = false; // default: auto\n whiteList['image-orientation'] = false; // default: auto\n whiteList['image-resolution'] = false; // default: normal\n whiteList['ime-mode'] = false; // default: auto\n whiteList['initial-letters'] = false; // default: normal\n whiteList['inline-box-align'] = false; // default: last\n whiteList['justify-content'] = false; // default: auto\n whiteList['justify-items'] = false; // default: auto\n whiteList['justify-self'] = false; // default: auto\n whiteList['left'] = false; // default: auto\n whiteList['letter-spacing'] = true; // default: normal\n whiteList['lighting-color'] = true; // default: white\n whiteList['line-box-contain'] = false; // default: block inline replaced\n whiteList['line-break'] = false; // default: auto\n whiteList['line-grid'] = false; // default: match-parent\n whiteList['line-height'] = false; // default: normal\n whiteList['line-snap'] = false; // default: none\n whiteList['line-stacking'] = false; // default: depending on individual properties\n whiteList['line-stacking-ruby'] = false; // default: exclude-ruby\n whiteList['line-stacking-shift'] = false; // default: consider-shifts\n whiteList['line-stacking-strategy'] = false; // default: inline-line-height\n whiteList['list-style'] = true; // default: depending on individual properties\n whiteList['list-style-image'] = true; // default: none\n whiteList['list-style-position'] = true; // default: outside\n whiteList['list-style-type'] = true; // default: disc\n whiteList['margin'] = true; // default: depending on individual properties\n whiteList['margin-bottom'] = true; // default: 0\n whiteList['margin-left'] = true; // default: 0\n whiteList['margin-right'] = true; // default: 0\n whiteList['margin-top'] = true; // default: 0\n whiteList['marker-offset'] = false; // default: auto\n whiteList['marker-side'] = false; // default: list-item\n whiteList['marks'] = false; // default: none\n whiteList['mask'] = false; // default: border-box\n whiteList['mask-box'] = false; // default: see individual properties\n whiteList['mask-box-outset'] = false; // default: 0\n whiteList['mask-box-repeat'] = false; // default: stretch\n whiteList['mask-box-slice'] = false; // default: 0 fill\n whiteList['mask-box-source'] = false; // default: none\n whiteList['mask-box-width'] = false; // default: auto\n whiteList['mask-clip'] = false; // default: border-box\n whiteList['mask-image'] = false; // default: none\n whiteList['mask-origin'] = false; // default: border-box\n whiteList['mask-position'] = false; // default: center\n whiteList['mask-repeat'] = false; // default: no-repeat\n whiteList['mask-size'] = false; // default: border-box\n whiteList['mask-source-type'] = false; // default: auto\n whiteList['mask-type'] = false; // default: luminance\n whiteList['max-height'] = true; // default: none\n whiteList['max-lines'] = false; // default: none\n whiteList['max-width'] = true; // default: none\n whiteList['min-height'] = true; // default: 0\n whiteList['min-width'] = true; // default: 0\n whiteList['move-to'] = false; // default: normal\n whiteList['nav-down'] = false; // default: auto\n whiteList['nav-index'] = false; // default: auto\n whiteList['nav-left'] = false; // default: auto\n whiteList['nav-right'] = false; // default: auto\n whiteList['nav-up'] = false; // default: auto\n whiteList['object-fit'] = false; // default: fill\n whiteList['object-position'] = false; // default: 50% 50%\n whiteList['opacity'] = false; // default: 1\n whiteList['order'] = false; // default: 0\n whiteList['orphans'] = false; // default: 2\n whiteList['outline'] = false; // default: depending on individual properties\n whiteList['outline-color'] = false; // default: invert\n whiteList['outline-offset'] = false; // default: 0\n whiteList['outline-style'] = false; // default: none\n whiteList['outline-width'] = false; // default: medium\n whiteList['overflow'] = false; // default: depending on individual properties\n whiteList['overflow-wrap'] = false; // default: normal\n whiteList['overflow-x'] = false; // default: visible\n whiteList['overflow-y'] = false; // default: visible\n whiteList['padding'] = true; // default: depending on individual properties\n whiteList['padding-bottom'] = true; // default: 0\n whiteList['padding-left'] = true; // default: 0\n whiteList['padding-right'] = true; // default: 0\n whiteList['padding-top'] = true; // default: 0\n whiteList['page'] = false; // default: auto\n whiteList['page-break-after'] = false; // default: auto\n whiteList['page-break-before'] = false; // default: auto\n whiteList['page-break-inside'] = false; // default: auto\n whiteList['page-policy'] = false; // default: start\n whiteList['pause'] = false; // default: implementation dependent\n whiteList['pause-after'] = false; // default: implementation dependent\n whiteList['pause-before'] = false; // default: implementation dependent\n whiteList['perspective'] = false; // default: none\n whiteList['perspective-origin'] = false; // default: 50% 50%\n whiteList['pitch'] = false; // default: medium\n whiteList['pitch-range'] = false; // default: 50\n whiteList['play-during'] = false; // default: auto\n whiteList['position'] = false; // default: static\n whiteList['presentation-level'] = false; // default: 0\n whiteList['quotes'] = false; // default: text\n whiteList['region-fragment'] = false; // default: auto\n whiteList['resize'] = false; // default: none\n whiteList['rest'] = false; // default: depending on individual properties\n whiteList['rest-after'] = false; // default: none\n whiteList['rest-before'] = false; // default: none\n whiteList['richness'] = false; // default: 50\n whiteList['right'] = false; // default: auto\n whiteList['rotation'] = false; // default: 0\n whiteList['rotation-point'] = false; // default: 50% 50%\n whiteList['ruby-align'] = false; // default: auto\n whiteList['ruby-merge'] = false; // default: separate\n whiteList['ruby-position'] = false; // default: before\n whiteList['shape-image-threshold'] = false; // default: 0.0\n whiteList['shape-outside'] = false; // default: none\n whiteList['shape-margin'] = false; // default: 0\n whiteList['size'] = false; // default: auto\n whiteList['speak'] = false; // default: auto\n whiteList['speak-as'] = false; // default: normal\n whiteList['speak-header'] = false; // default: once\n whiteList['speak-numeral'] = false; // default: continuous\n whiteList['speak-punctuation'] = false; // default: none\n whiteList['speech-rate'] = false; // default: medium\n whiteList['stress'] = false; // default: 50\n whiteList['string-set'] = false; // default: none\n whiteList['tab-size'] = false; // default: 8\n whiteList['table-layout'] = false; // default: auto\n whiteList['text-align'] = true; // default: start\n whiteList['text-align-last'] = true; // default: auto\n whiteList['text-combine-upright'] = true; // default: none\n whiteList['text-decoration'] = true; // default: none\n whiteList['text-decoration-color'] = true; // default: currentColor\n whiteList['text-decoration-line'] = true; // default: none\n whiteList['text-decoration-skip'] = true; // default: objects\n whiteList['text-decoration-style'] = true; // default: solid\n whiteList['text-emphasis'] = true; // default: depending on individual properties\n whiteList['text-emphasis-color'] = true; // default: currentColor\n whiteList['text-emphasis-position'] = true; // default: over right\n whiteList['text-emphasis-style'] = true; // default: none\n whiteList['text-height'] = true; // default: auto\n whiteList['text-indent'] = true; // default: 0\n whiteList['text-justify'] = true; // default: auto\n whiteList['text-orientation'] = true; // default: mixed\n whiteList['text-overflow'] = true; // default: clip\n whiteList['text-shadow'] = true; // default: none\n whiteList['text-space-collapse'] = true; // default: collapse\n whiteList['text-transform'] = true; // default: none\n whiteList['text-underline-position'] = true; // default: auto\n whiteList['text-wrap'] = true; // default: normal\n whiteList['top'] = false; // default: auto\n whiteList['transform'] = false; // default: none\n whiteList['transform-origin'] = false; // default: 50% 50% 0\n whiteList['transform-style'] = false; // default: flat\n whiteList['transition'] = false; // default: depending on individual properties\n whiteList['transition-delay'] = false; // default: 0s\n whiteList['transition-duration'] = false; // default: 0s\n whiteList['transition-property'] = false; // default: all\n whiteList['transition-timing-function'] = false; // default: ease\n whiteList['unicode-bidi'] = false; // default: normal\n whiteList['vertical-align'] = false; // default: baseline\n whiteList['visibility'] = false; // default: visible\n whiteList['voice-balance'] = false; // default: center\n whiteList['voice-duration'] = false; // default: auto\n whiteList['voice-family'] = false; // default: implementation dependent\n whiteList['voice-pitch'] = false; // default: medium\n whiteList['voice-range'] = false; // default: medium\n whiteList['voice-rate'] = false; // default: normal\n whiteList['voice-stress'] = false; // default: normal\n whiteList['voice-volume'] = false; // default: medium\n whiteList['volume'] = false; // default: medium\n whiteList['white-space'] = false; // default: normal\n whiteList['widows'] = false; // default: 2\n whiteList['width'] = true; // default: auto\n whiteList['will-change'] = false; // default: auto\n whiteList['word-break'] = true; // default: normal\n whiteList['word-spacing'] = true; // default: normal\n whiteList['word-wrap'] = true; // default: normal\n whiteList['wrap-flow'] = false; // default: auto\n whiteList['wrap-through'] = false; // default: wrap\n whiteList['writing-mode'] = false; // default: horizontal-tb\n whiteList['z-index'] = false; // default: auto\n\n return whiteList;\n}\n\n\n/**\n * 匹配到白名单上的一个属性时\n *\n * @param {String} name\n * @param {String} value\n * @param {Object} options\n * @return {String}\n */\nfunction onAttr (name, value, options) {\n // do nothing\n}\n\n/**\n * 匹配到不在白名单上的一个属性时\n *\n * @param {String} name\n * @param {String} value\n * @param {Object} options\n * @return {String}\n */\nfunction onIgnoreAttr (name, value, options) {\n // do nothing\n}\n\nvar REGEXP_URL_JAVASCRIPT = /javascript\\s*\\:/img;\n\n/**\n * 过滤属性值\n *\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction safeAttrValue(name, value) {\n if (REGEXP_URL_JAVASCRIPT.test(value)) return '';\n return value;\n}\n\n\nexports.whiteList = getDefaultWhiteList();\nexports.getDefaultWhiteList = getDefaultWhiteList;\nexports.onAttr = onAttr;\nexports.onIgnoreAttr = onIgnoreAttr;\nexports.safeAttrValue = safeAttrValue;\n","/**\n * cssfilter\n *\n * @author 老雷\n */\n\nvar DEFAULT = require('./default');\nvar FilterCSS = require('./css');\n\n\n/**\n * XSS过滤\n *\n * @param {String} css 要过滤的CSS代码\n * @param {Object} options 选项:whiteList, onAttr, onIgnoreAttr\n * @return {String}\n */\nfunction filterCSS (html, options) {\n var xss = new FilterCSS(options);\n return xss.process(html);\n}\n\n\n// 输出\nexports = module.exports = filterCSS;\nexports.FilterCSS = FilterCSS;\nfor (var i in DEFAULT) exports[i] = DEFAULT[i];\n\n// 在浏览器端使用\nif (typeof window !== 'undefined') {\n window.filterCSS = module.exports;\n}\n","/**\n * cssfilter\n *\n * @author 老雷\n */\n\nvar _ = require('./util');\n\n\n/**\n * 解析style\n *\n * @param {String} css\n * @param {Function} onAttr 处理属性的函数\n * 参数格式: function (sourcePosition, position, name, value, source)\n * @return {String}\n */\nfunction parseStyle (css, onAttr) {\n css = _.trimRight(css);\n if (css[css.length - 1] !== ';') css += ';';\n var cssLength = css.length;\n var isParenthesisOpen = false;\n var lastPos = 0;\n var i = 0;\n var retCSS = '';\n\n function addNewAttr () {\n // 如果没有正常的闭合圆括号,则直接忽略当前属性\n if (!isParenthesisOpen) {\n var source = _.trim(css.slice(lastPos, i));\n var j = source.indexOf(':');\n if (j !== -1) {\n var name = _.trim(source.slice(0, j));\n var value = _.trim(source.slice(j + 1));\n // 必须有属性名称\n if (name) {\n var ret = onAttr(lastPos, retCSS.length, name, value, source);\n if (ret) retCSS += ret + '; ';\n }\n }\n }\n lastPos = i + 1;\n }\n\n for (; i < cssLength; i++) {\n var c = css[i];\n if (c === '/' && css[i + 1] === '*') {\n // 备注开始\n var j = css.indexOf('*/', i + 2);\n // 如果没有正常的备注结束,则后面的部分全部跳过\n if (j === -1) break;\n // 直接将当前位置调到备注结尾,并且初始化状态\n i = j + 1;\n lastPos = i + 1;\n isParenthesisOpen = false;\n } else if (c === '(') {\n isParenthesisOpen = true;\n } else if (c === ')') {\n isParenthesisOpen = false;\n } else if (c === ';') {\n if (isParenthesisOpen) {\n // 在圆括号里面,忽略\n } else {\n addNewAttr();\n }\n } else if (c === '\\n') {\n addNewAttr();\n }\n }\n\n return _.trim(retCSS);\n}\n\nmodule.exports = parseStyle;\n","module.exports = {\n indexOf: function (arr, item) {\n var i, j;\n if (Array.prototype.indexOf) {\n return arr.indexOf(item);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n if (arr[i] === item) {\n return i;\n }\n }\n return -1;\n },\n forEach: function (arr, fn, scope) {\n var i, j;\n if (Array.prototype.forEach) {\n return arr.forEach(fn, scope);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n fn.call(scope, arr[i], i, arr);\n }\n },\n trim: function (str) {\n if (String.prototype.trim) {\n return str.trim();\n }\n return str.replace(/(^\\s*)|(\\s*$)/g, '');\n },\n trimRight: function (str) {\n if (String.prototype.trimRight) {\n return str.trimRight();\n }\n return str.replace(/(\\s*$)/g, '');\n }\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (Array.isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return Object.keys(obj).map(function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (Array.isArray(obj[k])) {\n return obj[k].map(function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","/*! https://mths.be/punycode v1.3.2 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * http://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.3.2',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) { // in Node.js or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else { // in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else { // in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","/**\n * default settings\n *\n * @author Zongmin Lei\n */\n\nvar FilterCSS = require(\"cssfilter\").FilterCSS;\nvar getDefaultCSSWhiteList = require(\"cssfilter\").getDefaultWhiteList;\nvar _ = require(\"./util\");\n\nfunction getDefaultWhiteList() {\n return {\n a: [\"target\", \"href\", \"title\"],\n abbr: [\"title\"],\n address: [],\n area: [\"shape\", \"coords\", \"href\", \"alt\"],\n article: [],\n aside: [],\n audio: [\n \"autoplay\",\n \"controls\",\n \"crossorigin\",\n \"loop\",\n \"muted\",\n \"preload\",\n \"src\",\n ],\n b: [],\n bdi: [\"dir\"],\n bdo: [\"dir\"],\n big: [],\n blockquote: [\"cite\"],\n br: [],\n caption: [],\n center: [],\n cite: [],\n code: [],\n col: [\"align\", \"valign\", \"span\", \"width\"],\n colgroup: [\"align\", \"valign\", \"span\", \"width\"],\n dd: [],\n del: [\"datetime\"],\n details: [\"open\"],\n div: [],\n dl: [],\n dt: [],\n em: [],\n figcaption: [],\n figure: [],\n font: [\"color\", \"size\", \"face\"],\n footer: [],\n h1: [],\n h2: [],\n h3: [],\n h4: [],\n h5: [],\n h6: [],\n header: [],\n hr: [],\n i: [],\n img: [\"src\", \"alt\", \"title\", \"width\", \"height\", \"loading\"],\n ins: [\"datetime\"],\n kbd: [],\n li: [],\n mark: [],\n nav: [],\n ol: [],\n p: [],\n pre: [],\n s: [],\n section: [],\n small: [],\n span: [],\n sub: [],\n summary: [],\n sup: [],\n strong: [],\n strike: [],\n table: [\"width\", \"border\", \"align\", \"valign\"],\n tbody: [\"align\", \"valign\"],\n td: [\"width\", \"rowspan\", \"colspan\", \"align\", \"valign\"],\n tfoot: [\"align\", \"valign\"],\n th: [\"width\", \"rowspan\", \"colspan\", \"align\", \"valign\"],\n thead: [\"align\", \"valign\"],\n tr: [\"rowspan\", \"align\", \"valign\"],\n tt: [],\n u: [],\n ul: [],\n video: [\n \"autoplay\",\n \"controls\",\n \"crossorigin\",\n \"loop\",\n \"muted\",\n \"playsinline\",\n \"poster\",\n \"preload\",\n \"src\",\n \"height\",\n \"width\",\n ],\n };\n}\n\nvar defaultCSSFilter = new FilterCSS();\n\n/**\n * default onTag function\n *\n * @param {String} tag\n * @param {String} html\n * @param {Object} options\n * @return {String}\n */\nfunction onTag(tag, html, options) {\n // do nothing\n}\n\n/**\n * default onIgnoreTag function\n *\n * @param {String} tag\n * @param {String} html\n * @param {Object} options\n * @return {String}\n */\nfunction onIgnoreTag(tag, html, options) {\n // do nothing\n}\n\n/**\n * default onTagAttr function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction onTagAttr(tag, name, value) {\n // do nothing\n}\n\n/**\n * default onIgnoreTagAttr function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @return {String}\n */\nfunction onIgnoreTagAttr(tag, name, value) {\n // do nothing\n}\n\n/**\n * default escapeHtml function\n *\n * @param {String} html\n */\nfunction escapeHtml(html) {\n return html.replace(REGEXP_LT, \"<\").replace(REGEXP_GT, \">\");\n}\n\n/**\n * default safeAttrValue function\n *\n * @param {String} tag\n * @param {String} name\n * @param {String} value\n * @param {Object} cssFilter\n * @return {String}\n */\nfunction safeAttrValue(tag, name, value, cssFilter) {\n // unescape attribute value firstly\n value = friendlyAttrValue(value);\n\n if (name === \"href\" || name === \"src\") {\n // filter `href` and `src` attribute\n // only allow the value that starts with `http://` | `https://` | `mailto:` | `/` | `#`\n value = _.trim(value);\n if (value === \"#\") return \"#\";\n if (\n !(\n value.substr(0, 7) === \"http://\" ||\n value.substr(0, 8) === \"https://\" ||\n value.substr(0, 7) === \"mailto:\" ||\n value.substr(0, 4) === \"tel:\" ||\n value.substr(0, 11) === \"data:image/\" ||\n value.substr(0, 6) === \"ftp://\" ||\n value.substr(0, 2) === \"./\" ||\n value.substr(0, 3) === \"../\" ||\n value[0] === \"#\" ||\n value[0] === \"/\"\n )\n ) {\n return \"\";\n }\n } else if (name === \"background\") {\n // filter `background` attribute (maybe no use)\n // `javascript:`\n REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {\n return \"\";\n }\n } else if (name === \"style\") {\n // `expression()`\n REGEXP_DEFAULT_ON_TAG_ATTR_7.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_7.test(value)) {\n return \"\";\n }\n // `url()`\n REGEXP_DEFAULT_ON_TAG_ATTR_8.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_8.test(value)) {\n REGEXP_DEFAULT_ON_TAG_ATTR_4.lastIndex = 0;\n if (REGEXP_DEFAULT_ON_TAG_ATTR_4.test(value)) {\n return \"\";\n }\n }\n if (cssFilter !== false) {\n cssFilter = cssFilter || defaultCSSFilter;\n value = cssFilter.process(value);\n }\n }\n\n // escape `<>\"` before returns\n value = escapeAttrValue(value);\n return value;\n}\n\n// RegExp list\nvar REGEXP_LT = //g;\nvar REGEXP_QUOTE = /\"/g;\nvar REGEXP_QUOTE_2 = /"/g;\nvar REGEXP_ATTR_VALUE_1 = /&#([a-zA-Z0-9]*);?/gim;\nvar REGEXP_ATTR_VALUE_COLON = /:?/gim;\nvar REGEXP_ATTR_VALUE_NEWLINE = /&newline;?/gim;\n// var REGEXP_DEFAULT_ON_TAG_ATTR_3 = /\\/\\*|\\*\\//gm;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_4 =\n /((j\\s*a\\s*v\\s*a|v\\s*b|l\\s*i\\s*v\\s*e)\\s*s\\s*c\\s*r\\s*i\\s*p\\s*t\\s*|m\\s*o\\s*c\\s*h\\s*a):/gi;\n// var REGEXP_DEFAULT_ON_TAG_ATTR_5 = /^[\\s\"'`]*(d\\s*a\\s*t\\s*a\\s*)\\:/gi;\n// var REGEXP_DEFAULT_ON_TAG_ATTR_6 = /^[\\s\"'`]*(d\\s*a\\s*t\\s*a\\s*)\\:\\s*image\\//gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_7 =\n /e\\s*x\\s*p\\s*r\\s*e\\s*s\\s*s\\s*i\\s*o\\s*n\\s*\\(.*/gi;\nvar REGEXP_DEFAULT_ON_TAG_ATTR_8 = /u\\s*r\\s*l\\s*\\(.*/gi;\n\n/**\n * escape double quote\n *\n * @param {String} str\n * @return {String} str\n */\nfunction escapeQuote(str) {\n return str.replace(REGEXP_QUOTE, \""\");\n}\n\n/**\n * unescape double quote\n *\n * @param {String} str\n * @return {String} str\n */\nfunction unescapeQuote(str) {\n return str.replace(REGEXP_QUOTE_2, '\"');\n}\n\n/**\n * escape html entities\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeHtmlEntities(str) {\n return str.replace(REGEXP_ATTR_VALUE_1, function replaceUnicode(str, code) {\n return code[0] === \"x\" || code[0] === \"X\"\n ? String.fromCharCode(parseInt(code.substr(1), 16))\n : String.fromCharCode(parseInt(code, 10));\n });\n}\n\n/**\n * escape html5 new danger entities\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeDangerHtml5Entities(str) {\n return str\n .replace(REGEXP_ATTR_VALUE_COLON, \":\")\n .replace(REGEXP_ATTR_VALUE_NEWLINE, \" \");\n}\n\n/**\n * clear nonprintable characters\n *\n * @param {String} str\n * @return {String}\n */\nfunction clearNonPrintableCharacter(str) {\n var str2 = \"\";\n for (var i = 0, len = str.length; i < len; i++) {\n str2 += str.charCodeAt(i) < 32 ? \" \" : str.charAt(i);\n }\n return _.trim(str2);\n}\n\n/**\n * get friendly attribute value\n *\n * @param {String} str\n * @return {String}\n */\nfunction friendlyAttrValue(str) {\n str = unescapeQuote(str);\n str = escapeHtmlEntities(str);\n str = escapeDangerHtml5Entities(str);\n str = clearNonPrintableCharacter(str);\n return str;\n}\n\n/**\n * unescape attribute value\n *\n * @param {String} str\n * @return {String}\n */\nfunction escapeAttrValue(str) {\n str = escapeQuote(str);\n str = escapeHtml(str);\n return str;\n}\n\n/**\n * `onIgnoreTag` function for removing all the tags that are not in whitelist\n */\nfunction onIgnoreTagStripAll() {\n return \"\";\n}\n\n/**\n * remove tag body\n * specify a `tags` list, if the tag is not in the `tags` list then process by the specify function (optional)\n *\n * @param {array} tags\n * @param {function} next\n */\nfunction StripTagBody(tags, next) {\n if (typeof next !== \"function\") {\n next = function () {};\n }\n\n var isRemoveAllTag = !Array.isArray(tags);\n function isRemoveTag(tag) {\n if (isRemoveAllTag) return true;\n return _.indexOf(tags, tag) !== -1;\n }\n\n var removeList = [];\n var posStart = false;\n\n return {\n onIgnoreTag: function (tag, html, options) {\n if (isRemoveTag(tag)) {\n if (options.isClosing) {\n var ret = \"[/removed]\";\n var end = options.position + ret.length;\n removeList.push([\n posStart !== false ? posStart : options.position,\n end,\n ]);\n posStart = false;\n return ret;\n } else {\n if (!posStart) {\n posStart = options.position;\n }\n return \"[removed]\";\n }\n } else {\n return next(tag, html, options);\n }\n },\n remove: function (html) {\n var rethtml = \"\";\n var lastPos = 0;\n _.forEach(removeList, function (pos) {\n rethtml += html.slice(lastPos, pos[0]);\n lastPos = pos[1];\n });\n rethtml += html.slice(lastPos);\n return rethtml;\n },\n };\n}\n\n/**\n * remove html comments\n *\n * @param {String} html\n * @return {String}\n */\nfunction stripCommentTag(html) {\n var retHtml = \"\";\n var lastPos = 0;\n while (lastPos < html.length) {\n var i = html.indexOf(\"\", i);\n if (j === -1) {\n break;\n }\n lastPos = j + 3;\n }\n return retHtml;\n}\n\n/**\n * remove invisible characters\n *\n * @param {String} html\n * @return {String}\n */\nfunction stripBlankChar(html) {\n var chars = html.split(\"\");\n chars = chars.filter(function (char) {\n var c = char.charCodeAt(0);\n if (c === 127) return false;\n if (c <= 31) {\n if (c === 10 || c === 13) return true;\n return false;\n }\n return true;\n });\n return chars.join(\"\");\n}\n\nexports.whiteList = getDefaultWhiteList();\nexports.getDefaultWhiteList = getDefaultWhiteList;\nexports.onTag = onTag;\nexports.onIgnoreTag = onIgnoreTag;\nexports.onTagAttr = onTagAttr;\nexports.onIgnoreTagAttr = onIgnoreTagAttr;\nexports.safeAttrValue = safeAttrValue;\nexports.escapeHtml = escapeHtml;\nexports.escapeQuote = escapeQuote;\nexports.unescapeQuote = unescapeQuote;\nexports.escapeHtmlEntities = escapeHtmlEntities;\nexports.escapeDangerHtml5Entities = escapeDangerHtml5Entities;\nexports.clearNonPrintableCharacter = clearNonPrintableCharacter;\nexports.friendlyAttrValue = friendlyAttrValue;\nexports.escapeAttrValue = escapeAttrValue;\nexports.onIgnoreTagStripAll = onIgnoreTagStripAll;\nexports.StripTagBody = StripTagBody;\nexports.stripCommentTag = stripCommentTag;\nexports.stripBlankChar = stripBlankChar;\nexports.attributeWrapSign = '\"';\nexports.cssFilter = defaultCSSFilter;\nexports.getDefaultCSSWhiteList = getDefaultCSSWhiteList;\n","/**\n * xss\n *\n * @author Zongmin Lei\n */\n\nvar DEFAULT = require(\"./default\");\nvar parser = require(\"./parser\");\nvar FilterXSS = require(\"./xss\");\n\n/**\n * filter xss function\n *\n * @param {String} html\n * @param {Object} options { whiteList, onTag, onTagAttr, onIgnoreTag, onIgnoreTagAttr, safeAttrValue, escapeHtml }\n * @return {String}\n */\nfunction filterXSS(html, options) {\n var xss = new FilterXSS(options);\n return xss.process(html);\n}\n\nexports = module.exports = filterXSS;\nexports.filterXSS = filterXSS;\nexports.FilterXSS = FilterXSS;\n\n(function () {\n for (var i in DEFAULT) {\n exports[i] = DEFAULT[i];\n }\n for (var j in parser) {\n exports[j] = parser[j];\n }\n})();\n\n// using `xss` on the browser, output `filterXSS` to the globals\nif (typeof window !== \"undefined\") {\n window.filterXSS = module.exports;\n}\n\n// using `xss` on the WebWorker, output `filterXSS` to the globals\nfunction isWorkerEnv() {\n return (\n typeof self !== \"undefined\" &&\n typeof DedicatedWorkerGlobalScope !== \"undefined\" &&\n self instanceof DedicatedWorkerGlobalScope\n );\n}\nif (isWorkerEnv()) {\n self.filterXSS = module.exports;\n}\n","/**\n * Simple HTML Parser\n *\n * @author Zongmin Lei\n */\n\nvar _ = require(\"./util\");\n\n/**\n * get tag name\n *\n * @param {String} html e.g. ''\n * @return {String}\n */\nfunction getTagName(html) {\n var i = _.spaceIndex(html);\n var tagName;\n if (i === -1) {\n tagName = html.slice(1, -1);\n } else {\n tagName = html.slice(1, i + 1);\n }\n tagName = _.trim(tagName).toLowerCase();\n if (tagName.slice(0, 1) === \"/\") tagName = tagName.slice(1);\n if (tagName.slice(-1) === \"/\") tagName = tagName.slice(0, -1);\n return tagName;\n}\n\n/**\n * is close tag?\n *\n * @param {String} html 如:''\n * @return {Boolean}\n */\nfunction isClosing(html) {\n return html.slice(0, 2) === \"\" || currentPos === len - 1) {\n rethtml += escapeHtml(html.slice(lastPos, tagStart));\n currentHtml = html.slice(tagStart, currentPos + 1);\n currentTagName = getTagName(currentHtml);\n rethtml += onTag(\n tagStart,\n rethtml.length,\n currentTagName,\n currentHtml,\n isClosing(currentHtml)\n );\n lastPos = currentPos + 1;\n tagStart = false;\n continue;\n }\n if (c === '\"' || c === \"'\") {\n var i = 1;\n var ic = html.charAt(currentPos - i);\n\n while (ic.trim() === \"\" || ic === \"=\") {\n if (ic === \"=\") {\n quoteStart = c;\n continue chariterator;\n }\n ic = html.charAt(currentPos - ++i);\n }\n }\n } else {\n if (c === quoteStart) {\n quoteStart = false;\n continue;\n }\n }\n }\n }\n if (lastPos < len) {\n rethtml += escapeHtml(html.substr(lastPos));\n }\n\n return rethtml;\n}\n\nvar REGEXP_ILLEGAL_ATTR_NAME = /[^a-zA-Z0-9\\\\_:.-]/gim;\n\n/**\n * parse input attributes and returns processed attributes\n *\n * @param {String} html e.g. `href=\"#\" target=\"_blank\"`\n * @param {Function} onAttr e.g. `function (name, value)`\n * @return {String}\n */\nfunction parseAttr(html, onAttr) {\n \"use strict\";\n\n var lastPos = 0;\n var lastMarkPos = 0;\n var retAttrs = [];\n var tmpName = false;\n var len = html.length;\n\n function addAttr(name, value) {\n name = _.trim(name);\n name = name.replace(REGEXP_ILLEGAL_ATTR_NAME, \"\").toLowerCase();\n if (name.length < 1) return;\n var ret = onAttr(name, value || \"\");\n if (ret) retAttrs.push(ret);\n }\n\n // 逐个分析字符\n for (var i = 0; i < len; i++) {\n var c = html.charAt(i);\n var v, j;\n if (tmpName === false && c === \"=\") {\n tmpName = html.slice(lastPos, i);\n lastPos = i + 1;\n lastMarkPos = html.charAt(lastPos) === '\"' || html.charAt(lastPos) === \"'\" ? lastPos : findNextQuotationMark(html, i + 1);\n continue;\n }\n if (tmpName !== false) {\n if (\n i === lastMarkPos\n ) {\n j = html.indexOf(c, i + 1);\n if (j === -1) {\n break;\n } else {\n v = _.trim(html.slice(lastMarkPos + 1, j));\n addAttr(tmpName, v);\n tmpName = false;\n i = j;\n lastPos = i + 1;\n continue;\n }\n }\n }\n if (/\\s|\\n|\\t/.test(c)) {\n html = html.replace(/\\s|\\n|\\t/g, \" \");\n if (tmpName === false) {\n j = findNextEqual(html, i);\n if (j === -1) {\n v = _.trim(html.slice(lastPos, i));\n addAttr(v);\n tmpName = false;\n lastPos = i + 1;\n continue;\n } else {\n i = j - 1;\n continue;\n }\n } else {\n j = findBeforeEqual(html, i - 1);\n if (j === -1) {\n v = _.trim(html.slice(lastPos, i));\n v = stripQuoteWrap(v);\n addAttr(tmpName, v);\n tmpName = false;\n lastPos = i + 1;\n continue;\n } else {\n continue;\n }\n }\n }\n }\n\n if (lastPos < html.length) {\n if (tmpName === false) {\n addAttr(html.slice(lastPos));\n } else {\n addAttr(tmpName, stripQuoteWrap(_.trim(html.slice(lastPos))));\n }\n }\n\n return _.trim(retAttrs.join(\" \"));\n}\n\nfunction findNextEqual(str, i) {\n for (; i < str.length; i++) {\n var c = str[i];\n if (c === \" \") continue;\n if (c === \"=\") return i;\n return -1;\n }\n}\n\nfunction findNextQuotationMark(str, i) {\n for (; i < str.length; i++) {\n var c = str[i];\n if (c === \" \") continue;\n if (c === \"'\" || c === '\"') return i;\n return -1;\n }\n}\n\nfunction findBeforeEqual(str, i) {\n for (; i > 0; i--) {\n var c = str[i];\n if (c === \" \") continue;\n if (c === \"=\") return i;\n return -1;\n }\n}\n\nfunction isQuoteWrapString(text) {\n if (\n (text[0] === '\"' && text[text.length - 1] === '\"') ||\n (text[0] === \"'\" && text[text.length - 1] === \"'\")\n ) {\n return true;\n } else {\n return false;\n }\n}\n\nfunction stripQuoteWrap(text) {\n if (isQuoteWrapString(text)) {\n return text.substr(1, text.length - 2);\n } else {\n return text;\n }\n}\n\nexports.parseTag = parseTag;\nexports.parseAttr = parseAttr;\n","module.exports = {\n indexOf: function (arr, item) {\n var i, j;\n if (Array.prototype.indexOf) {\n return arr.indexOf(item);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n if (arr[i] === item) {\n return i;\n }\n }\n return -1;\n },\n forEach: function (arr, fn, scope) {\n var i, j;\n if (Array.prototype.forEach) {\n return arr.forEach(fn, scope);\n }\n for (i = 0, j = arr.length; i < j; i++) {\n fn.call(scope, arr[i], i, arr);\n }\n },\n trim: function (str) {\n if (String.prototype.trim) {\n return str.trim();\n }\n return str.replace(/(^\\s*)|(\\s*$)/g, \"\");\n },\n spaceIndex: function (str) {\n var reg = /\\s|\\n|\\t/;\n var match = reg.exec(str);\n return match ? match.index : -1;\n },\n};\n","/**\n * filter xss\n *\n * @author Zongmin Lei\n */\n\nvar FilterCSS = require(\"cssfilter\").FilterCSS;\nvar DEFAULT = require(\"./default\");\nvar parser = require(\"./parser\");\nvar parseTag = parser.parseTag;\nvar parseAttr = parser.parseAttr;\nvar _ = require(\"./util\");\n\n/**\n * returns `true` if the input value is `undefined` or `null`\n *\n * @param {Object} obj\n * @return {Boolean}\n */\nfunction isNull(obj) {\n return obj === undefined || obj === null;\n}\n\n/**\n * get attributes for a tag\n *\n * @param {String} html\n * @return {Object}\n * - {String} html\n * - {Boolean} closing\n */\nfunction getAttrs(html) {\n var i = _.spaceIndex(html);\n if (i === -1) {\n return {\n html: \"\",\n closing: html[html.length - 2] === \"/\",\n };\n }\n html = _.trim(html.slice(i + 1, -1));\n var isClosing = html[html.length - 1] === \"/\";\n if (isClosing) html = _.trim(html.slice(0, -1));\n return {\n html: html,\n closing: isClosing,\n };\n}\n\n/**\n * shallow copy\n *\n * @param {Object} obj\n * @return {Object}\n */\nfunction shallowCopyObject(obj) {\n var ret = {};\n for (var i in obj) {\n ret[i] = obj[i];\n }\n return ret;\n}\n\nfunction keysToLowerCase(obj) {\n var ret = {};\n for (var i in obj) {\n if (Array.isArray(obj[i])) {\n ret[i.toLowerCase()] = obj[i].map(function (item) {\n return item.toLowerCase();\n });\n } else {\n ret[i.toLowerCase()] = obj[i];\n }\n }\n return ret;\n}\n\n/**\n * FilterXSS class\n *\n * @param {Object} options\n * whiteList (or allowList), onTag, onTagAttr, onIgnoreTag,\n * onIgnoreTagAttr, safeAttrValue, escapeHtml\n * stripIgnoreTagBody, allowCommentTag, stripBlankChar\n * css{whiteList, onAttr, onIgnoreAttr} `css=false` means don't use `cssfilter`\n */\nfunction FilterXSS(options) {\n options = shallowCopyObject(options || {});\n\n if (options.stripIgnoreTag) {\n if (options.onIgnoreTag) {\n console.error(\n 'Notes: cannot use these two options \"stripIgnoreTag\" and \"onIgnoreTag\" at the same time'\n );\n }\n options.onIgnoreTag = DEFAULT.onIgnoreTagStripAll;\n }\n if (options.whiteList || options.allowList) {\n options.whiteList = keysToLowerCase(options.whiteList || options.allowList);\n } else {\n options.whiteList = DEFAULT.whiteList;\n }\n\n this.attributeWrapSign = options.singleQuotedAttributeValue === true ? \"'\" : DEFAULT.attributeWrapSign;\n\n options.onTag = options.onTag || DEFAULT.onTag;\n options.onTagAttr = options.onTagAttr || DEFAULT.onTagAttr;\n options.onIgnoreTag = options.onIgnoreTag || DEFAULT.onIgnoreTag;\n options.onIgnoreTagAttr = options.onIgnoreTagAttr || DEFAULT.onIgnoreTagAttr;\n options.safeAttrValue = options.safeAttrValue || DEFAULT.safeAttrValue;\n options.escapeHtml = options.escapeHtml || DEFAULT.escapeHtml;\n this.options = options;\n\n if (options.css === false) {\n this.cssFilter = false;\n } else {\n options.css = options.css || {};\n this.cssFilter = new FilterCSS(options.css);\n }\n}\n\n/**\n * start process and returns result\n *\n * @param {String} html\n * @return {String}\n */\nFilterXSS.prototype.process = function (html) {\n // compatible with the input\n html = html || \"\";\n html = html.toString();\n if (!html) return \"\";\n\n var me = this;\n var options = me.options;\n var whiteList = options.whiteList;\n var onTag = options.onTag;\n var onIgnoreTag = options.onIgnoreTag;\n var onTagAttr = options.onTagAttr;\n var onIgnoreTagAttr = options.onIgnoreTagAttr;\n var safeAttrValue = options.safeAttrValue;\n var escapeHtml = options.escapeHtml;\n var attributeWrapSign = me.attributeWrapSign;\n var cssFilter = me.cssFilter;\n\n // remove invisible characters\n if (options.stripBlankChar) {\n html = DEFAULT.stripBlankChar(html);\n }\n\n // remove html comments\n if (!options.allowCommentTag) {\n html = DEFAULT.stripCommentTag(html);\n }\n\n // if enable stripIgnoreTagBody\n var stripIgnoreTagBody = false;\n if (options.stripIgnoreTagBody) {\n stripIgnoreTagBody = DEFAULT.StripTagBody(\n options.stripIgnoreTagBody,\n onIgnoreTag\n );\n onIgnoreTag = stripIgnoreTagBody.onIgnoreTag;\n }\n\n var retHtml = parseTag(\n html,\n function (sourcePosition, position, tag, html, isClosing) {\n var info = {\n sourcePosition: sourcePosition,\n position: position,\n isClosing: isClosing,\n isWhite: Object.prototype.hasOwnProperty.call(whiteList, tag),\n };\n\n // call `onTag()`\n var ret = onTag(tag, html, info);\n if (!isNull(ret)) return ret;\n\n if (info.isWhite) {\n if (info.isClosing) {\n return \"\";\n }\n\n var attrs = getAttrs(html);\n var whiteAttrList = whiteList[tag];\n var attrsHtml = parseAttr(attrs.html, function (name, value) {\n // call `onTagAttr()`\n var isWhiteAttr = _.indexOf(whiteAttrList, name) !== -1;\n var ret = onTagAttr(tag, name, value, isWhiteAttr);\n if (!isNull(ret)) return ret;\n\n if (isWhiteAttr) {\n // call `safeAttrValue()`\n value = safeAttrValue(tag, name, value, cssFilter);\n if (value) {\n return name + '=' + attributeWrapSign + value + attributeWrapSign;\n } else {\n return name;\n }\n } else {\n // call `onIgnoreTagAttr()`\n ret = onIgnoreTagAttr(tag, name, value, isWhiteAttr);\n if (!isNull(ret)) return ret;\n return;\n }\n });\n\n // build new tag html\n html = \"<\" + tag;\n if (attrsHtml) html += \" \" + attrsHtml;\n if (attrs.closing) html += \" /\";\n html += \">\";\n return html;\n } else {\n // call `onIgnoreTag()`\n ret = onIgnoreTag(tag, html, info);\n if (!isNull(ret)) return ret;\n return escapeHtml(html);\n }\n },\n escapeHtml\n );\n\n // if enable stripIgnoreTagBody\n if (stripIgnoreTagBody) {\n retHtml = stripIgnoreTagBody.remove(retHtml);\n }\n\n return retHtml;\n};\n\nmodule.exports = FilterXSS;\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}","import _typeof from \"./typeof.js\";\nexport default function _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n };\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}"],"names":["normalizeComponent","scriptExports","render","staticRenderFns","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","this","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","call","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","exports","t","e","module","define","_","Object","setPrototypeOf","__proto__","Array","r","prototype","hasOwnProperty","TypeError","String","constructor","create","assign","n","arguments","length","o","apply","a","i","slice","find","defineProperty","value","console","error","getByte2Hex","toString","substr","bytesToUuid","join","get","Math","random","enumerable","configurable","L","K","getOmgIdFromCookie","document","cookie","split","trim","indexOf","getOidFromLocal","localStorage","getItem","getOid","oid","initOid","props","saveOid","v4","useLocal","setItem","Date","setFullYear","getFullYear","d","version","getInfo","getRegInfo","appNameRegExps","osRegExps","appName","name","appVersion","osType","osVersion","getOffMode","navigator","userAgent","forEach","uaRegExps","exec","replace","p","s","info","j","c","isDebugger","omgId","init","U","sessionStorage","test","location","href","getUrlOidParam","getHashParam","search","u","G","V","l","NORMAL","DEBUG","f","install","doReportHook","tracker","pluginReportHook","g","window","performance","webkitPerformance","msPerformance","mozPerformance","timing","getEntriesByName","redirectDuration","fetchStart","navigationStart","dnsDuration","domainLookupEnd","domainLookupStart","tcpDuration","connectEnd","connectStart","ttfbDuration","responseStart","requestStart","transDuration","responseEnd","domParsedDuration","domInteractive","resourceLoadDuration","loadEventStart","domContentLoadedEventEnd","firstByteTime","htmlLoadCompleteTime","firstPaintTime","startTime","firstContentfulPaintTime","firstMeaningfulPaintTime","interactTime","domReadyTime","pageLoadTime","domContentLoadedTime","domCompleteTime","domComplete","loadEventTime","loadEventEnd","formateTime","getPerformanceTimeKeyMap","key","memory","usedJSHeapSize","totalJSHeapSize","jsHeapSizeLimit","FKMetrics","webviewLoadTime","documentElement","screen","t_wlt","webViewLoadTime","off_mode","referrer","cookieEnabled","pageTitle","title","protocol","host","path","pathname","hash","screenWidth","clientWidth","screenHeight","clientHeight","colorDepth","getAttrKey","getPvExtraAttrsKeyMap","getPerformanceMeoryKeyMap","reportKey","getAttrs","performanceMemory","performanceTime","pvExtraAttrs","getReportAttrs","eventId","q","m","report","Promise","resolve","start","isStart","reportHeart","addPageVisibilityChange","inCreasePageId","startTimeReport","addEventListener","hidden","onPageInHide","onPageShow","pageHidding","startHideTime","getTime","stopTimeoutReport","pageHideTime","reportTimeId","clearTimeout","initUrlInfo","pageInfo","initTime","seqInfo","pageId","seq","setTimeout","round","id","tl","ta","ph","pt","pu","J","initPageStatus","visibilityState","y","F","reportPv","autoSendPageView","reportAutoPageView","hashRouterEnable","reportHashPageView","browserRouterEnable","reportHistoryPageView","openStayTime","stayTime","trackEvent","bind","readyState","noUrlParam","formatUrl","us","urlStatck","getFormattedUrl","upDateUrlStack","isFirst","pv_t","ft","pluginName","W","unshift","v","B","getErrorType","startsWith","typeList","autoError","handleError","handlePromiseError","proxyConsoleError","message","stack","type","z","filterEvent","label","line","lineno","url","filename","col","colno","reason","jsErrorFilters","RegExp","k","Y","E","setSeq","appKey","getData","eventData","getPostFormStr","getAttrJsonStr","push","encodeURIComponent","sysKeyArr","lk","checkSysAttr","getSystemJsonStr","JSON","stringify","getOdsData","attrs","sequence","timestamp","viewportId","from","username","userName","userId","utcOffset","countyId","locale","countryCallingCode","countryCode","getJson","jv","eventLabel","X","encodeHash","charCodeAt","encodeHashUrl","Q","$","Z","onVisibleChange","onChange","pageHide","w","O","reportPath","getOmgCi","cityId","Number","isNaN","blackEventList","ajaxReport","forbidReport","setRetryData","XMLHttpRequest","uploadHost","open","setRequestHeader","onreadystatechange","status","parse","responseText","eventid","setBlackEvent","onerror","onLine","send","retryEventList","pop","startDoRetry","isRetryReport","doRetryReport","pageStatus","shift","then","onPageStatusChange","I","postMessage","getMethods","setTelephone","tel","setUserId","setCityId","trackEventEx","attrJson","sysJson","exJson","data","removeEventListener","tt","webkit","messageHandlers","onCheckAppSdk","b","sdk","et","OmegaSDK","R","inAppEnv","inAndriod","inIos","getAppOid","getAppSdk","T","S","rt","onCheck","nt","x","ot","disabledInit","setReportHandle","setConfig","isInNative","syncNativeInfoDone","generalAppReport","syncAppOid","disableBridge","reportCacheData","it","eventList","H","at","autoPerformance","onVisibilityChange","reportPermanceInfo","globalPerformance","getEntries","PerformanceEventTiming","filter","PerformanceObserver","lcpFilter","element","mark","observe","entryTypes","reportData","disconnect","once","capture","isReport","entries","entryLength","t_pgrd","C","st","ct","ONLOAD","RESOURCE","JS_ERROR","P","autoResourceError","staticResourceType","handleResourceError","ut","target","srcElement","HTMLElement","nodeName","src","monitorType","ht","dt","lt","M","autoWhiteScreenMonitor","initPluginHook","initOther","onConfigUpDate","disconnectObserver","config","childrenDepth","durationSeconds","renderCallback","initThen","initPlugin","addPluginReportHook","checkIsWhiteScreen","reasonType","updateContainer","supportObserver","initObserver","initInterval","startCheck","sendError","container","querySelector","isHidden","Element","getComputedStyle","display","checkDomDepth","body","contains","checkDisplayNone","some","childNodes","checkAndSendError","checkRenderChildren","sdkSTimer","clearInterval","stopCheck","timeHandle","restartCheck","floor","setInterval","initMutationObserver","mutationObserver","MutationObserver","observerRange","containerChildren","removedNodes","subtree","childList","N","jankMonitor","reportLog","appkey","monitorJank","monitorError","loop","now","loopStop","jankFPSCount","jankFrames","errorHandle","loopTimer","framesMonitor","gt","MONITOR_TYPE_LOAD","MONITOR_TYPE_EVENT","monitorInterval","errorOverTime","triggerTimer","errorInfo","errorTime","loopInterval","requestAnimationFrame","cancelAnimationFrame","mt","yt","getTagName","ele","tagName","toLocaleUpperCase","toLocaleLowerCase","getId","getClassName","className","getAttrNameByKey","getAttribute","getHierarchy","getDomLevel","getDomIndexInParent","parentElement","reverse","children","getDomPosition","height","width","top","left","getBoundingClientRect","eh","ew","ex","ey","getDomAttr","class","rn","vt","A","autoClick","reportClickEvent","correspondingUseElement","getViewAttr","pageX","pageY","offsetHeight","offsetWidth","kt","cn","cnPluginCdnHost","gl","glPluginCdnHost","getPluginHost","getCnHost","Et","createElement","appendChild","onload","removeChild","crossOrigin","wt","fileName","Ot","It","disabledScreenShot","use","crashMonitor","bt","sendData","Tt","D","getDefaultContext","getTimezoneOffset","contextFormatUrl","reportHandle","H5ReportHandle","startInit","isInit","selfReport","addDefaultPlugins","setUserName","addTrackHandler","trackHandlers","getEventParam","mergeTrackHandler","callback","reject","sendPageView","pluginList","trackError","code","trackPageCompleted","enableClickAutoTracker","enableClickFilterTracker","getOmgid","getWebWorkInfo","setLocation","OMG_INSTANTIATION_NAME","OMG_VERSION","mergeContext","useLocalOid","upDatePluginContext","getContext","Rt","St","xt","getTracker","Error","__esModule","toLowerCase","Symbol","iterator","isArray","reduce","env","writable","_list","_vmap","_kmap","keys","isObject","text","isDef","DEFAULT","require","parseStyle","isNull","obj","undefined","shallowCopyObject","ret","FilterCSS","whiteList","onAttr","onIgnoreAttr","safeAttrValue","process","css","me","retCSS","sourcePosition","position","source","check","isWhite","opts","getDefaultWhiteList","REGEXP_URL_JAVASCRIPT","filterCSS","html","xss","trimRight","cssLength","isParenthesisOpen","lastPos","addNewAttr","arr","item","fn","scope","str","prop","qs","sep","eq","regexp","maxKeys","len","kstr","vstr","idx","decodeURIComponent","stringifyPrimitive","isFinite","map","ks","decode","encode","root","freeExports","nodeType","freeModule","freeGlobal","global","self","punycode","maxInt","base","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexPunycode","regexNonASCII","regexSeparators","errors","baseMinusTMin","stringFromCharCode","fromCharCode","RangeError","array","result","mapDomain","string","parts","labels","encoded","ucs2decode","extra","output","counter","ucs2encode","basicToDigit","codePoint","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","input","out","basic","index","oldi","baseMinusT","inputLength","bias","lastIndexOf","splice","handledCPCount","basicLength","currentValue","handledCPCountPlusOne","qMinusT","toUnicode","toASCII","util","Url","slashes","auth","port","hostname","query","urlParse","urlResolve","resolveObject","urlResolveObject","format","urlFormat","protocolPattern","portPattern","simplePathPattern","delims","unwise","autoEscape","nonHostChars","hostEndingChars","hostnameMaxLen","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","querystring","parseQueryString","slashesDenoteHost","isString","relative","queryIndex","splitter","uSplit","slashRegex","rest","simplePath","proto","lowerProto","match","atSign","hostEnd","hec","parseHost","ipv6Hostname","hostparts","part","newpart","validParts","notHost","bit","ae","esc","escape","qm","charAt","rel","tkeys","tk","tkey","rkeys","rk","rkey","relPath","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","isNullOrUndefined","authInHost","last","hasTrailingSlash","up","isAbsolute","arg","getDefaultCSSWhiteList","abbr","address","area","article","aside","audio","bdi","bdo","big","blockquote","br","caption","center","cite","colgroup","dd","del","details","div","dl","em","figcaption","figure","font","footer","h1","h2","h3","h4","h5","h6","header","hr","img","ins","kbd","li","nav","ol","pre","section","small","span","sub","summary","sup","strong","strike","table","tbody","td","tfoot","th","thead","tr","ul","video","defaultCSSFilter","onTag","tag","onIgnoreTag","onTagAttr","onIgnoreTagAttr","escapeHtml","REGEXP_LT","REGEXP_GT","cssFilter","friendlyAttrValue","REGEXP_DEFAULT_ON_TAG_ATTR_4","lastIndex","REGEXP_DEFAULT_ON_TAG_ATTR_7","REGEXP_DEFAULT_ON_TAG_ATTR_8","escapeAttrValue","REGEXP_QUOTE","REGEXP_QUOTE_2","REGEXP_ATTR_VALUE_1","REGEXP_ATTR_VALUE_COLON","REGEXP_ATTR_VALUE_NEWLINE","escapeQuote","unescapeQuote","escapeHtmlEntities","parseInt","escapeDangerHtml5Entities","clearNonPrintableCharacter","str2","onIgnoreTagStripAll","StripTagBody","tags","next","isRemoveAllTag","isRemoveTag","removeList","posStart","isClosing","end","remove","rethtml","pos","stripCommentTag","retHtml","stripBlankChar","chars","char","attributeWrapSign","parser","FilterXSS","filterXSS","isWorkerEnv","DedicatedWorkerGlobalScope","spaceIndex","parseTag","tagStart","quoteStart","currentPos","currentTagName","currentHtml","chariterator","ic","REGEXP_ILLEGAL_ATTR_NAME","parseAttr","lastMarkPos","retAttrs","tmpName","addAttr","findNextEqual","findBeforeEqual","stripQuoteWrap","findNextQuotationMark","isQuoteWrapString","reg","closing","keysToLowerCase","stripIgnoreTag","allowList","singleQuotedAttributeValue","allowCommentTag","stripIgnoreTagBody","whiteAttrList","attrsHtml","isWhiteAttr","_typeof","asyncGeneratorStep","gen","_next","_throw","done","_asyncToGenerator","args","err","_classCallCheck","instance","Constructor","_defineProperties","descriptor","toPropertyKey","_createClass","protoProps","staticProps","_defineProperty","ownKeys","object","enumerableOnly","getOwnPropertySymbols","symbols","sym","getOwnPropertyDescriptor","_objectSpread2","getOwnPropertyDescriptors","defineProperties","_regeneratorRuntime","Op","hasOwn","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","tryCatch","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","method","_invoke","AsyncIterator","PromiseImpl","invoke","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","state","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","ctor","awrap","async","iter","val","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","_toPrimitive","hint","prim","toPrimitive","res","_toPropertyKey"],"sourceRoot":""}