diff --git a/dist/system-csp-production.js b/dist/system-csp-production.js index 90dc0bc1..50f4fe73 100644 --- a/dist/system-csp-production.js +++ b/dist/system-csp-production.js @@ -1,6 +1,6 @@ /* - * SystemJS v0.18.8 + * SystemJS v0.18.9 */ -!function(){function e(){!function(e){function t(e,t){var n;if(e instanceof Error){var n=new Error(e.message,e.fileName,e.lineNumber);y?(n.message=e.message+"\n "+t,n.stack=e.stack):(n.message=e.message,n.stack=e.stack+"\n "+t)}else n=e+"\n "+t;return n}function n(e,n,r){try{new Function(e).call(r)}catch(a){throw t(a,"Evaluating "+n)}}function r(){}function a(t){this._loader={loaderObj:this,loads:[],modules:{},importPromises:{},moduleRecords:{}},x(this,"global",{get:function(){return e}})}function o(){a.call(this),this.paths={}}function s(e,t){var n,r="",a=0;for(var o in e){var s=o.split("*");if(s.length>2)throw new TypeError("Only one wildcard in a path is permitted");if(1==s.length){if(t==o){r=o;break}}else{var i=o.split("/").length;i>=a&&t.substr(0,s[0].length)==s[0]&&t.substr(t.length-s[1].length)==s[1]&&(a=i,r=o,n=t.substr(s[0].length,t.length-s[1].length-s[0].length))}}var l=e[r]||t;return n&&(l=l.replace("*",n)),l}function i(){}function l(){o.call(this),D.call(this)}function u(){}function d(e,t){l.prototype[e]=t(l.prototype[e])}function c(e){D=e(D||function(){})}function f(e){for(var t=[],n=[],r=0,a=e.length;a>r;r++){var o=w.call(t,e[r]);-1===o?(t.push(e[r]),n.push([r])):n[o].push(r)}return{names:t,indices:n}}function m(e,t,n){for(var r in t)n&&r in e||(e[r]=t[r]);return e}function p(e,t,n){for(var r in t){var a=t[r];r in e?a instanceof Array&&e[r]instanceof Array?e[r]=[].concat(n?a:e[r]).concat(n?e[r]:a):"object"==typeof a&&"object"==typeof e[r]?e[r]=m(m({},e[r]),a,n):n||(e[r]=a):e[r]=a}}function h(e,t){for(var n=e.split(".");n.length;)t=t[n.shift()];return t}function v(){if(P[this.baseURL])return P[this.baseURL];"/"!=this.baseURL[this.baseURL.length-1]&&(this.baseURL+="/");var e=new j(this.baseURL,S);return this.baseURL=e.href,P[this.baseURL]=e}var g="undefined"==typeof window&&"undefined"!=typeof self&&"undefined"!=typeof importScripts,y="undefined"!=typeof window&&"undefined"!=typeof document,b="undefined"!=typeof process&&!!process.platform.match(/^win/);e.console||(e.console={assert:function(){}});var x,w=Array.prototype.indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(this[t]===e)return t;return-1};!function(){try{Object.defineProperty({},"a",{})&&(x=Object.defineProperty)}catch(e){x=function(e,t,n){try{e[t]=n.value||n.get.call(e)}catch(r){}}}}();var S;if("undefined"!=typeof document&&document.getElementsByTagName){if(S=document.baseURI,!S){var E=document.getElementsByTagName("base");S=E[0]&&E[0].href||window.location.href}S=S.split("#")[0].split("?")[0],S=S.substr(0,S.lastIndexOf("/")+1)}else if("undefined"!=typeof process&&process.cwd)S="file://"+(b?"/":"")+process.cwd()+"/",b&&(S=S.replace(/\\/g,"/"));else{if("undefined"==typeof location)throw new TypeError("No environment baseURI");S=e.location.href}var j=e.URLPolyfill||e.URL;x(r.prototype,"toString",{value:function(){return"Module"}}),function(){function o(e){return{status:"loading",name:e,linkSets:[],dependencies:[],metadata:{}}}function s(e,t,n){return new Promise(c({step:n.address?"fetch":"locate",loader:e,moduleName:t,moduleMetadata:n&&n.metadata||{},moduleSource:n.source,moduleAddress:n.address}))}function i(e,t,n,r){return new Promise(function(a,o){a(e.loaderObj.normalize(t,n,r))}).then(function(t){var n;if(e.modules[t])return n=o(t),n.status="linked",n.module=e.modules[t],n;for(var r=0,a=e.loads.length;a>r;r++)if(n=e.loads[r],n.name==t)return n;return n=o(t),e.loads.push(n),l(e,n),n})}function l(e,t){u(e,t,Promise.resolve().then(function(){return e.loaderObj.locate({name:t.name,metadata:t.metadata})}))}function u(e,t,n){d(e,t,n.then(function(n){return"loading"==t.status?(t.address=n,e.loaderObj.fetch({name:t.name,metadata:t.metadata,address:n})):void 0}))}function d(t,r,a){a.then(function(a){return"loading"==r.status?Promise.resolve(t.loaderObj.translate({name:r.name,metadata:r.metadata,address:r.address,source:a})).then(function(e){return r.source=e,t.loaderObj.instantiate({name:r.name,metadata:r.metadata,address:r.address,source:e})}).then(function(a){if(void 0===a)return r.address=r.address||"",r.isDeclarative=!0,k.call(t.loaderObj,r).then(function(t){var a=e.System,o=a.register;a.register=function(e,t,n){"string"!=typeof e&&(n=t,t=e),r.declare=n,r.depsList=t},n(t,r.address,{}),a.register=o});if("object"!=typeof a)throw TypeError("Invalid instantiate return value");r.depsList=a.deps||[],r.execute=a.execute,r.isDeclarative=!1}).then(function(){r.dependencies=[];for(var e=r.depsList,n=[],a=0,o=e.length;o>a;a++)(function(e,a){n.push(i(t,e,r.name,r.address).then(function(t){if(r.dependencies[a]={key:e,value:t.name},"linked"!=t.status)for(var n=r.linkSets.concat([]),o=0,s=n.length;s>o;o++)m(n[o],t)}))})(e[a],a);return Promise.all(n)}).then(function(){r.status="loaded";for(var e=r.linkSets.concat([]),t=0,n=e.length;n>t;t++)h(e[t],r)}):void 0})["catch"](function(e){r.status="failed",r.exception=e;for(var t=r.linkSets.concat([]),n=0,a=t.length;a>n;n++)v(t[n],r,e)})}function c(e){return function(t,n){var r=e.loader,a=e.moduleName,s=e.step;if(r.modules[a])throw new TypeError('"'+a+'" already exists in the module table');for(var i,c=0,m=r.loads.length;m>c;c++)if(r.loads[c].name==a&&(i=r.loads[c],"translate"!=s||i.source||(i.address=e.moduleAddress,d(r,i,Promise.resolve(e.moduleSource))),i.linkSets.length))return i.linkSets[0].done.then(function(){t(i)});var p=i||o(a);p.metadata=e.moduleMetadata;var h=f(r,p);r.loads.push(p),t(h.done),"locate"==s?l(r,p):"fetch"==s?u(r,p,Promise.resolve(e.moduleAddress)):(p.address=e.moduleAddress,d(r,p,Promise.resolve(e.moduleSource)))}}function f(e,t){var n={loader:e,loads:[],startingLoad:t,loadingCount:0};return n.done=new Promise(function(e,t){n.resolve=e,n.reject=t}),m(n,t),n}function m(e,t){if("failed"!=t.status){for(var n=0,r=e.loads.length;r>n;n++)if(e.loads[n]==t)return;e.loads.push(t),t.linkSets.push(e),"loaded"!=t.status&&e.loadingCount++;for(var a=e.loader,n=0,r=t.dependencies.length;r>n;n++)if(t.dependencies[n]){var o=t.dependencies[n].value;if(!a.modules[o])for(var s=0,i=a.loads.length;i>s;s++)if(a.loads[s].name==o){m(e,a.loads[s]);break}}}}function p(e){var t=!1;try{S(e,function(n,r){v(e,n,r),t=!0})}catch(n){v(e,null,n),t=!0}return t}function h(e,t){if(e.loadingCount--,!(e.loadingCount>0)){var n=e.startingLoad;if(e.loader.loaderObj.execute===!1){for(var r=[].concat(e.loads),a=0,o=r.length;o>a;a++){var t=r[a];t.module=t.isDeclarative?{name:t.name,module:O({}),evaluated:!0}:{module:O({})},t.status="linked",g(e.loader,t)}return e.resolve(n)}var s=p(e);s||e.resolve(n)}}function v(e,n,r){var a=e.loader;e:if(n)if(e.loads[0].name==n.name)r=t(r,"Error loading "+n.name);else{for(var o=0;oo;o++){var n=u[o];a.loaderObj.failed=a.loaderObj.failed||[],-1==w.call(a.loaderObj.failed,n)&&a.loaderObj.failed.push(n);var c=w.call(n.linkSets,e);if(n.linkSets.splice(c,1),0==n.linkSets.length){var f=w.call(e.loader.loads,n);-1!=f&&e.loader.loads.splice(f,1)}}e.reject(r)}function g(e,t){if(e.loaderObj.trace){e.loaderObj.loads||(e.loaderObj.loads={});var n={};t.dependencies.forEach(function(e){n[e.key]=e.value}),e.loaderObj.loads[t.name]={name:t.name,deps:t.dependencies.map(function(e){return e.key}),depMap:n,address:t.address,metadata:t.metadata,source:t.source,kind:t.isDeclarative?"declarative":"dynamic"}}t.name&&(e.modules[t.name]=t.module);var r=w.call(e.loads,t);-1!=r&&e.loads.splice(r,1);for(var a=0,o=t.linkSets.length;o>a;a++)r=w.call(t.linkSets[a].loads,t),-1!=r&&t.linkSets[a].loads.splice(r,1);t.linkSets.splice(0,t.linkSets.length)}function y(e,t,n){try{var a=t.execute()}catch(o){return void n(t,o)}return a&&a instanceof r?a:void n(t,new TypeError("Execution must define a Module instance"))}function b(e,t,n){var r=e._loader.importPromises;return r[t]=n.then(function(e){return r[t]=void 0,e},function(e){throw r[t]=void 0,e})}function S(e,t){var n=e.loader;if(e.loads.length)for(var r=e.loads.concat([]),a=0;aa;a++){var s=e.normalizedDeps[a],i=t.defined[s];if(i&&!i.evaluated){var l=e.groupIndex+(i.declarative!=e.declarative);if(void 0===i.groupIndex||i.groupIndex=0;i--){for(var l=a[i],d=0;dr;r++){var s=a.importers[r];if(!s.locked){var l=w.call(s.dependencies,a);s.setters[l](i)}}return a.locked=!1,t});if(a.setters=l.setters,a.execute=l.execute,!a.setters||!a.execute)throw new TypeError("Invalid System.register form for "+t.name);for(var u=0,d=t.normalizedDeps.length;d>u;u++){var c,f=t.normalizedDeps[u],m=n.defined[f],p=r[f];p?c=p.exports:m&&!m.declarative?c=m.esModule:m?(s(m,n),p=m.module,c=p.exports):c=n.get(f),p&&p.importers?(p.importers.push(a),a.dependencies.push(p)):a.dependencies.push(null);for(var h=t.originalIndices[u],v=0,g=h.length;g>v;++v){var y=h[v];a.setters[y]&&a.setters[y](c)}}}}function i(e,t){var n,r=t.defined[e];if(r)r.declarative?m(e,[],t):r.evaluated||u(r,t),n=r.module.exports;else if(n=t.get(e),!n)throw new Error("Unable to load dependency "+e+".");return(!r||r.declarative)&&n&&n.__useDefault?n["default"]:n}function u(t,n){if(!t.module){var r={},a=t.module={exports:r,id:t.name};if(!t.executingRequire)for(var o=0,s=t.normalizedDeps.length;s>o;o++){var l=t.normalizedDeps[o],d=n.defined[l];d&&u(d,n)}t.evaluated=!0;var c=t.execute.call(e,function(e){for(var r=0,a=t.deps.length;a>r;r++)if(t.deps[r]==e)return i(t.normalizedDeps[r],n);throw new TypeError("Module "+e+" not declared as a dependency.")},r,a);if(c&&(a.exports=c),r=a.exports,r&&r.__esModule)t.esModule=r;else{if(t.esModule={},"object"==typeof r||"function"==typeof r)if(p){var f;for(var m in r)(f=Object.getOwnPropertyDescriptor(r,m))&&x(t.esModule,m,f)}else{var h=r&&r.hasOwnProperty;for(var m in r)(!h||r.hasOwnProperty(m))&&(t.esModule[m]=r[m])}t.esModule["default"]=r,x(t.esModule,"__useDefault",{value:!0})}}}function m(t,n,r){var a=r.defined[t];if(a&&!a.evaluated&&a.declarative){n.push(t);for(var o=0,s=a.normalizedDeps.length;s>o;o++){var i=a.normalizedDeps[o];-1==w.call(n,i)&&(r.defined[i]?m(i,n,r):r.get(i))}a.evaluated||(a.evaluated=!0,a.module.execute.call(e))}}var p=!0;try{Object.getOwnPropertyDescriptor({a:0},"a")}catch(h){p=!1}var v,g=!1;l.prototype.register=function(e,n,r){return"string"!=typeof e&&(r=n,n=e,e=null),"boolean"==typeof r?this.registerDynamic.apply(this,arguments):void t(this,e,{declarative:!0,deps:n,declare:r})},l.prototype.registerDynamic=function(e,n,r,a){"string"!=typeof e&&(a=r,r=n,n=e,e=null),t(this,e,{declarative:!1,deps:n,execute:a,executingRequire:r})},c(function(e){return function(){e.call(this),this.defined={},this._loader.moduleRecords={}}}),d("onScriptLoad",function(e){return function(t){e.call(this,t),g&&(v&&(t.metadata.entry=v),t.metadata.format=t.metadata.format||"defined",t.metadata.registered=!0,g=!1,v=null)}}),x(a,"toString",{value:function(){return"Module"}}),d("delete",function(e){return function(t){return delete this._loader.moduleRecords[t],delete this.defined[t],e.call(this,t)}});var y=/^\s*(\/\*[^\*]*(\*(?!\/)[^\*]*)*\*\/|\s*\/\/[^\n]*|\s*"[^"]+"\s*;?|\s*'[^']+'\s*;?)*\s*System\.register(Dynamic)?\s*\(/;d("fetch",function(e){return function(t){return this.defined[t.name]?(t.metadata.format="defined",""):(v=null,g=!1,"register"==t.metadata.format&&(t.metadata.scriptLoad=!0),t.metadata.deps=t.metadata.deps||[],e.call(this,t))}}),d("translate",function(e){return function(t){return Promise.resolve(e.call(this,t)).then(function(e){return"string"==typeof t.metadata.deps&&(t.metadata.deps=t.metadata.deps.split(",")),t.metadata.deps=t.metadata.deps||[],("register"==t.metadata.format||!t.metadata.format&&t.source.match(y))&&(t.metadata.format="register"),e})}}),d("instantiate",function(e){return function(e){var t,n=this;if(n.defined[e.name])t=n.defined[e.name],t.deps=t.deps.concat(e.metadata.deps);else if(e.metadata.entry)t=e.metadata.entry;else if(e.metadata.execute)t={declarative:!1,deps:e.metadata.deps||[],execute:e.metadata.execute,executingRequire:e.metadata.executingRequire};else if("register"==e.metadata.format||"esm"==e.metadata.format||"es6"==e.metadata.format){if(v=null,g=!1,__exec.call(n,e),!g&&!e.metadata.registered)throw new TypeError(e.name+" detected as System.register but didn't execute.");v?t=v:e.metadata.bundle=!0,!t&&n.defined[e.name]&&(t=n.defined[e.name]),v=null,g=!1}t||(t={declarative:!1,deps:e.metadata.deps,execute:function(){return n.newModule({})}}),n.defined[e.name]=t;var a=f(t.deps);t.deps=a.names,t.originalIndices=a.indices,t.name=e.name;for(var o=[],s=0,i=t.deps.length;i>s;s++)o.push(Promise.resolve(n.normalize(t.deps[s],e.name)));return Promise.all(o).then(function(a){return t.normalizedDeps=a,{deps:t.deps,execute:function(){return r(e.name,n),m(e.name,[],n),n.defined[e.name]=void 0,n.newModule(t.declarative?t.module.exports:t.esModule)}}})}})}(),c(function(t){return function(){function n(t){if(Object.keys)Object.keys(e).forEach(t);else for(var n in e)s.call(e,n)&&t(n)}function r(t){n(function(n){if(-1==w.call(i,n)){try{var r=e[n]}catch(a){i.push(n)}t(n,r)}})}var a=this;t.call(a);var o,s=Object.prototype.hasOwnProperty,i=["_g","sessionStorage","localStorage","clipboardData","frames","external","mozAnimationStartTime","webkitStorageInfo","webkitIndexedDB"];a.set("@@global-helpers",a.newModule({prepareGlobal:function(t,n,a){var s;if(a){s={};for(var i in a)s[i]=a[i],e[i]=a[i]}return n||(o={},r(function(e,t){o[e]=t})),function(){var t;if(n)t=h(n,e);else{var a,i,l={};r(function(e,t){o[e]!==t&&"undefined"!=typeof t&&(l[e]=t,"undefined"!=typeof a?i||a===t||(i=!0):a=t)}),t=i?l:a}if(s)for(var u in s)e[u]=s[u];return t}}}))}}),c(function(t){return function(){function n(e,t){e=e.replace(i,"");var n=e.match(d),r=(n[1].split(",")[t]||"require").replace(c,""),a=f[r]||(f[r]=new RegExp(l+r+u,"g"));a.lastIndex=0;for(var o,s=[];o=a.exec(e);)s.push(o[2]||o[3]);return s}function r(e,t,n,a){if("object"==typeof e&&!(e instanceof Array))return r.apply(null,Array.prototype.splice.call(arguments,1,arguments.length-1));if("string"==typeof e&&"function"==typeof t&&(e=[e]),!(e instanceof Array)){if("string"==typeof e){var o=s.get(s.normalizeSync(e,a));if(!o)throw new Error('Module not already loaded loading "'+e+'" from "'+a+'".');return o.__useDefault?o["default"]:o}throw new TypeError("Invalid require")}for(var i=[],l=0;l=i)continue;a=s,o=i}a&&(t=this.map[a]+t.substr(a.length))}return e.call(this,t,n,r)}}),d("normalize",function(e){return function(t,n){var r=e.call(this,t,n);return this.has(r)?r:r.match(O)?(this.defaultJSExtensions&&".js"!=r.substr(r.length-3,3)&&(r+=".js"),r):(r=s(this.paths,r)||r,this.defaultJSExtensions&&".js"!=r.substr(r.length-3,3)&&(r+=".js"),"."==r[0]||"/"==r[0]?new j(r,M).href:new j(r,v.call(this)).href)}}),function(){function e(e){for(var t in this.packages)if(e.substr(0,t.length)===t&&(e.length===t.length||"/"===e[t.length]))return t}function t(e,t){var n=e.packages[t];return n.env?e["import"](n.map["@env"]||"@system-env",t).then(function(r){var a={};for(var o in n)"map"!==o&"env"!==o&&(a[o]=n[o]);a.map={};for(var o in n.map)a.map[o]=n.map[o];for(var s in n.env)if(r[s]){var i=n.env[s];i.main&&(a.main=i.main);for(var l in i.map)a.map[l]=i.map[l]}return e.packages[t]=a,a}):Promise.resolve(n)}function n(e,t){var n,r=0;for(var a in e)if(t.substr(0,a.length)==a&&(t.length==a.length||"/"==t[a.length])){var o=a.split("/").length;if(r>=o)continue;n=a,r=o}return n?e[n]+t.substr(n.length):void 0}c(function(e){return function(){e.call(this),this.packages={}}}),l.prototype.normalizeSync=l.prototype.normalize,d("normalize",function(r){return function(a,o){if(o)var s=e.call(this,o)||this.defaultJSExtensions&&".js"==o.substr(o.length-3,3)&&e.call(this,o.substr(0,o.length-3));if(s&&"."!==a[0]){var i=this.packages[s].map;i&&(a=n(i,a)||a,"."===a[0]&&(o=s+"/"))}var l=this.defaultJSExtensions&&".js"!=a.substr(a.length-3,3),u=r.call(this,a,o);".js"!=u.substr(u.length-3,3)&&(l=!1),l&&(u=u.substr(0,u.length-3));var d=e.call(this,u),c=this;return d?t(this,d).then(function(e){if(d===u&&e.main&&(u+="/"+("./"==e.main.substr(0,2)?e.main.substr(2):e.main)),"/"==u.substr(d.length))return u;var t="";e.meta&&e.meta[u.substr(d.length+1)]||("defaultExtension"in e?e.defaultExtension!==!1&&-1==u.split("/").pop().lastIndexOf(".")&&(t="."+e.defaultExtension):l&&(t=".js"));var a="."+u.substr(d.length),o=n(e.map,a)||t&&n(e.map,a+t);return o?u="./"==o.substr(0,2)?d+o.substr(1):r.call(c,o):u+=t,u}):(l&&(u+=".js"),u)}}),d("locate",function(t){return function(n){var r=this;return Promise.resolve(t.call(this,n)).then(function(t){var a=e.call(r,n.name);if(a){var o=r.packages[a];if(o.format&&(n.metadata.format=n.metadata.format||o.format),o.loader&&(n.metadata.loader=n.metadata.loader||o.loader),o.meta){var s,i={},l=0;for(var u in o.meta)if(s=u.indexOf("*"),-1!==s&&u.substr(0,s)===n.name.substr(0,s)&&u.substr(s+1)===n.name.substr(n.name.length-u.length+s+1)){var d=u.split("/").length;d>l&&(bestDetph=d),p(i,o.meta[u],l!=d)}var c=o.meta[n.name.substr(a.length+1)];c&&p(i,c),i.alias&&"./"==i.alias.substr(0,2)&&(i.alias=a+i.alias.substr(1)),i.loader&&"./"==i.loader.substr(0,2)&&(i.loader=a+i.loader.substr(1)),p(n.metadata,i)}}return t})}})}(),function(){function e(e,t,n,r){var a,o=this;n&&-1!=(a=n.indexOf("!"))&&(n=n.substr(0,a));var s=t.lastIndexOf("!");if(-1!=s){var i=t.substr(0,s),l=t.substr(s+1)||i.substr(i.lastIndexOf(".")+1),u=o.defaultJSExtensions&&".js"!=i.substr(i.length-3,3);return r?(i=o.normalizeSync(i,n),l=o.normalizeSync(l,n),u&&".js"==i.substr(i.length-3,3)&&(i=i.substr(0,i.length-3)),i+"!"+l):Promise.all([o.normalize(i,n),o.normalize(l,n)]).then(function(e){return i=e[0],u&&".js"==i.substr(i.length-3,3)&&(i=i.substr(0,i.length-3)),i+"!"+e[1]})}return e.call(o,t,n)}d("normalize",function(t){return function(n,r){return e.call(this,t,n,r,!1)}}),d("normalizeSync",function(t){return function(n,r){return e.call(this,t,n,r,!0)}}),d("locate",function(e){return function(t){var n=this,r=t.name,a=r.lastIndexOf("!");return-1!=a&&(t.metadata.loader=r.substr(a+1),t.name=r.substr(0,a)),e.call(n,t).then(function(e){var a=t.metadata.loader;if(!a)return e;if(n.defined&&n.defined[r])return e;var o=n.pluginLoader||n;return o["import"](a).then(function(a){return t.metadata.loaderModule=a,t.metadata.loaderArgument=r,t.address=e,a.locate?a.locate.call(n,t):e})})}}),d("fetch",function(e){return function(t){var n=this;return t.metadata.loaderModule&&t.metadata.loaderModule.fetch?(t.metadata.scriptLoad=!1,t.metadata.loaderModule.fetch.call(n,t,function(t){return e.call(n,t)})):e.call(n,t)}}),d("translate",function(e){return function(t){var n=this;return t.metadata.loaderModule&&t.metadata.loaderModule.translate?Promise.resolve(t.metadata.loaderModule.translate.call(n,t)).then(function(r){return"string"==typeof r&&(t.source=r),e.call(n,t)}):e.call(n,t)}}),d("instantiate",function(e){return function(t){var n=this,r=t.metadata.sourceMap;if(r&&"object"==typeof r){var a=t.name.split("!")[0];r.file=a+"!transpiled",r.sources&&1!=r.sources.length||(r.sources=[a]),t.metadata.sourceMap=JSON.stringify(r)}return t.metadata.loaderModule&&t.metadata.loaderModule.instantiate?Promise.resolve(t.metadata.loaderModule.instantiate.call(n,t)).then(function(r){return t.metadata.format="defined",t.metadata.execute=function(){return r},e.call(n,t)}):e.call(n,t)}})}(),function(){d("fetch",function(e){return function(t){var n=t.metadata.alias,r=t.metadata.deps||[];return n?(t.metadata.format="defined",this.defined[t.name]={declarative:!0,deps:r.concat([n]),declare:function(e){return{setters:[function(t){for(var n in t)e(n,t[n])}],execute:function(){}}}},""):e.call(this,t)}})}(),function(){function e(e,t,n){for(var r,a=t.split(".");a.length>1;)r=a.shift(),e=e[r]=e[r]||{};r=a.shift(),r in e||(e[r]=n)}c(function(e){return function(){this.meta={},e.call(this)}}),d("locate",function(e){return function(t){var n,r=this.meta,a=t.name,o=0;for(var s in r)if(n=w.call(s,"*"),-1!==n&&s.substr(0,n)===a.substr(0,n)&&s.substr(n+1)===a.substr(a.length-s.length+n+1)){var i=s.split("/").length;i>o&&(bestDetph=i),p(t.metadata,r[s],o!=i)}return r[a]&&p(t.metadata,r[a]),e.call(this,t)}});var t=/^(\s*\/\*[^\*]*(\*(?!\/)[^\*]*)*\*\/|\s*\/\/[^\n]*|\s*"[^"]+"\s*;?|\s*'[^']+'\s*;?)+/,n=/\/\*[^\*]*(\*(?!\/)[^\*]*)*\*\/|\/\/[^\n]*|"[^"]+"\s*;?|'[^']+'\s*;?/g;d("translate",function(r){return function(a){var o=a.source.match(t);if(o)for(var s=o[0].match(n),i=0;i')}else if("undefined"!=typeof importScripts){var o="";try{throw new Error("_")}catch(n){n.stack.replace(/(?:at|@).*(http.+):[\d]+:[\d]+/,function(e,t){o=t.replace(/\/[^\/]*$/,"/")})}importScripts(o+"system-polyfills.js"),e()}else e()}(); +!function(){function e(){!function(e){function t(e,t){var n;if(e instanceof Error){var n=new Error(e.message,e.fileName,e.lineNumber);y?(n.message=e.message+"\n "+t,n.stack=e.stack):(n.message=e.message,n.stack=e.stack+"\n "+t)}else n=e+"\n "+t;return n}function n(e,n,r){try{new Function(e).call(r)}catch(a){throw t(a,"Evaluating "+n)}}function r(){}function a(t){this._loader={loaderObj:this,loads:[],modules:{},importPromises:{},moduleRecords:{}},x(this,"global",{get:function(){return e}})}function o(){a.call(this),this.paths={}}function s(e,t){var n,r="",a=0;for(var o in e){var s=o.split("*");if(s.length>2)throw new TypeError("Only one wildcard in a path is permitted");if(1==s.length){if(t==o){r=o;break}}else{var i=o.split("/").length;i>=a&&t.substr(0,s[0].length)==s[0]&&t.substr(t.length-s[1].length)==s[1]&&(a=i,r=o,n=t.substr(s[0].length,t.length-s[1].length-s[0].length))}}var l=e[r]||t;return n&&(l=l.replace("*",n)),l}function i(){}function l(){o.call(this),D.call(this)}function u(){}function d(e,t){l.prototype[e]=t(l.prototype[e])}function c(e){D=e(D||function(){})}function f(e){for(var t=[],n=[],r=0,a=e.length;a>r;r++){var o=w.call(t,e[r]);-1===o?(t.push(e[r]),n.push([r])):n[o].push(r)}return{names:t,indices:n}}function m(e,t,n){for(var r in t)n&&r in e||(e[r]=t[r]);return e}function h(e,t,n){for(var r in t){var a=t[r];r in e?a instanceof Array&&e[r]instanceof Array?e[r]=[].concat(n?a:e[r]).concat(n?e[r]:a):"object"==typeof a&&"object"==typeof e[r]?e[r]=m(m({},e[r]),a,n):n||(e[r]=a):e[r]=a}}function p(e,t){for(var n=e.split(".");n.length;)t=t[n.shift()];return t}function v(){if(P[this.baseURL])return P[this.baseURL];"/"!=this.baseURL[this.baseURL.length-1]&&(this.baseURL+="/");var e=new j(this.baseURL,S);return this.baseURL=e.href,P[this.baseURL]=e}var g="undefined"==typeof window&&"undefined"!=typeof self&&"undefined"!=typeof importScripts,y="undefined"!=typeof window&&"undefined"!=typeof document,b="undefined"!=typeof process&&!!process.platform.match(/^win/);e.console||(e.console={assert:function(){}});var x,w=Array.prototype.indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(this[t]===e)return t;return-1};!function(){try{Object.defineProperty({},"a",{})&&(x=Object.defineProperty)}catch(e){x=function(e,t,n){try{e[t]=n.value||n.get.call(e)}catch(r){}}}}();var S;if("undefined"!=typeof document&&document.getElementsByTagName){if(S=document.baseURI,!S){var E=document.getElementsByTagName("base");S=E[0]&&E[0].href||window.location.href}S=S.split("#")[0].split("?")[0],S=S.substr(0,S.lastIndexOf("/")+1)}else if("undefined"!=typeof process&&process.cwd)S="file://"+(b?"/":"")+process.cwd()+"/",b&&(S=S.replace(/\\/g,"/"));else{if("undefined"==typeof location)throw new TypeError("No environment baseURI");S=e.location.href}var j=e.URLPolyfill||e.URL;x(r.prototype,"toString",{value:function(){return"Module"}}),function(){function o(e){return{status:"loading",name:e,linkSets:[],dependencies:[],metadata:{}}}function s(e,t,n){return new Promise(c({step:n.address?"fetch":"locate",loader:e,moduleName:t,moduleMetadata:n&&n.metadata||{},moduleSource:n.source,moduleAddress:n.address}))}function i(e,t,n,r){return new Promise(function(a,o){a(e.loaderObj.normalize(t,n,r))}).then(function(t){var n;if(e.modules[t])return n=o(t),n.status="linked",n.module=e.modules[t],n;for(var r=0,a=e.loads.length;a>r;r++)if(n=e.loads[r],n.name==t)return n;return n=o(t),e.loads.push(n),l(e,n),n})}function l(e,t){u(e,t,Promise.resolve().then(function(){return e.loaderObj.locate({name:t.name,metadata:t.metadata})}))}function u(e,t,n){d(e,t,n.then(function(n){return"loading"==t.status?(t.address=n,e.loaderObj.fetch({name:t.name,metadata:t.metadata,address:n})):void 0}))}function d(t,r,a){a.then(function(a){return"loading"==r.status?Promise.resolve(t.loaderObj.translate({name:r.name,metadata:r.metadata,address:r.address,source:a})).then(function(e){return r.source=e,t.loaderObj.instantiate({name:r.name,metadata:r.metadata,address:r.address,source:e})}).then(function(a){if(void 0===a)return r.address=r.address||"",r.isDeclarative=!0,k.call(t.loaderObj,r).then(function(t){var a=e.System,o=a.register;a.register=function(e,t,n){"string"!=typeof e&&(n=t,t=e),r.declare=n,r.depsList=t},n(t,r.address,{}),a.register=o});if("object"!=typeof a)throw TypeError("Invalid instantiate return value");r.depsList=a.deps||[],r.execute=a.execute,r.isDeclarative=!1}).then(function(){r.dependencies=[];for(var e=r.depsList,n=[],a=0,o=e.length;o>a;a++)(function(e,a){n.push(i(t,e,r.name,r.address).then(function(t){if(r.dependencies[a]={key:e,value:t.name},"linked"!=t.status)for(var n=r.linkSets.concat([]),o=0,s=n.length;s>o;o++)m(n[o],t)}))})(e[a],a);return Promise.all(n)}).then(function(){r.status="loaded";for(var e=r.linkSets.concat([]),t=0,n=e.length;n>t;t++)p(e[t],r)}):void 0})["catch"](function(e){r.status="failed",r.exception=e;for(var t=r.linkSets.concat([]),n=0,a=t.length;a>n;n++)v(t[n],r,e)})}function c(e){return function(t,n){var r=e.loader,a=e.moduleName,s=e.step;if(r.modules[a])throw new TypeError('"'+a+'" already exists in the module table');for(var i,c=0,m=r.loads.length;m>c;c++)if(r.loads[c].name==a&&(i=r.loads[c],"translate"!=s||i.source||(i.address=e.moduleAddress,d(r,i,Promise.resolve(e.moduleSource))),i.linkSets.length))return i.linkSets[0].done.then(function(){t(i)});var h=i||o(a);h.metadata=e.moduleMetadata;var p=f(r,h);r.loads.push(h),t(p.done),"locate"==s?l(r,h):"fetch"==s?u(r,h,Promise.resolve(e.moduleAddress)):(h.address=e.moduleAddress,d(r,h,Promise.resolve(e.moduleSource)))}}function f(e,t){var n={loader:e,loads:[],startingLoad:t,loadingCount:0};return n.done=new Promise(function(e,t){n.resolve=e,n.reject=t}),m(n,t),n}function m(e,t){if("failed"!=t.status){for(var n=0,r=e.loads.length;r>n;n++)if(e.loads[n]==t)return;e.loads.push(t),t.linkSets.push(e),"loaded"!=t.status&&e.loadingCount++;for(var a=e.loader,n=0,r=t.dependencies.length;r>n;n++)if(t.dependencies[n]){var o=t.dependencies[n].value;if(!a.modules[o])for(var s=0,i=a.loads.length;i>s;s++)if(a.loads[s].name==o){m(e,a.loads[s]);break}}}}function h(e){var t=!1;try{S(e,function(n,r){v(e,n,r),t=!0})}catch(n){v(e,null,n),t=!0}return t}function p(e,t){if(e.loadingCount--,!(e.loadingCount>0)){var n=e.startingLoad;if(e.loader.loaderObj.execute===!1){for(var r=[].concat(e.loads),a=0,o=r.length;o>a;a++){var t=r[a];t.module=t.isDeclarative?{name:t.name,module:O({}),evaluated:!0}:{module:O({})},t.status="linked",g(e.loader,t)}return e.resolve(n)}var s=h(e);s||e.resolve(n)}}function v(e,n,r){var a=e.loader;e:if(n)if(e.loads[0].name==n.name)r=t(r,"Error loading "+n.name);else{for(var o=0;oo;o++){var n=u[o];a.loaderObj.failed=a.loaderObj.failed||[],-1==w.call(a.loaderObj.failed,n)&&a.loaderObj.failed.push(n);var c=w.call(n.linkSets,e);if(n.linkSets.splice(c,1),0==n.linkSets.length){var f=w.call(e.loader.loads,n);-1!=f&&e.loader.loads.splice(f,1)}}e.reject(r)}function g(e,t){if(e.loaderObj.trace){e.loaderObj.loads||(e.loaderObj.loads={});var n={};t.dependencies.forEach(function(e){n[e.key]=e.value}),e.loaderObj.loads[t.name]={name:t.name,deps:t.dependencies.map(function(e){return e.key}),depMap:n,address:t.address,metadata:t.metadata,source:t.source,kind:t.isDeclarative?"declarative":"dynamic"}}t.name&&(e.modules[t.name]=t.module);var r=w.call(e.loads,t);-1!=r&&e.loads.splice(r,1);for(var a=0,o=t.linkSets.length;o>a;a++)r=w.call(t.linkSets[a].loads,t),-1!=r&&t.linkSets[a].loads.splice(r,1);t.linkSets.splice(0,t.linkSets.length)}function y(e,t,n){try{var a=t.execute()}catch(o){return void n(t,o)}return a&&a instanceof r?a:void n(t,new TypeError("Execution must define a Module instance"))}function b(e,t,n){var r=e._loader.importPromises;return r[t]=n.then(function(e){return r[t]=void 0,e},function(e){throw r[t]=void 0,e})}function S(e,t){var n=e.loader;if(e.loads.length)for(var r=e.loads.concat([]),a=0;aa;a++){var s=e.normalizedDeps[a],i=t.defined[s];if(i&&!i.evaluated){var l=e.groupIndex+(i.declarative!=e.declarative);if(void 0===i.groupIndex||i.groupIndex=0;i--){for(var l=a[i],d=0;dr;r++){var s=a.importers[r];if(!s.locked){var l=w.call(s.dependencies,a);s.setters[l](i)}}return a.locked=!1,t});if(a.setters=l.setters,a.execute=l.execute,!a.setters||!a.execute)throw new TypeError("Invalid System.register form for "+t.name);for(var u=0,d=t.normalizedDeps.length;d>u;u++){var c,f=t.normalizedDeps[u],m=n.defined[f],h=r[f];h?c=h.exports:m&&!m.declarative?c=m.esModule:m?(s(m,n),h=m.module,c=h.exports):c=n.get(f),h&&h.importers?(h.importers.push(a),a.dependencies.push(h)):a.dependencies.push(null);for(var p=t.originalIndices[u],v=0,g=p.length;g>v;++v){var y=p[v];a.setters[y]&&a.setters[y](c)}}}}function i(e,t){var n,r=t.defined[e];if(r)r.declarative?m(e,[],t):r.evaluated||u(r,t),n=r.module.exports;else if(n=t.get(e),!n)throw new Error("Unable to load dependency "+e+".");return(!r||r.declarative)&&n&&n.__useDefault?n["default"]:n}function u(t,n){if(!t.module){var r={},a=t.module={exports:r,id:t.name};if(!t.executingRequire)for(var o=0,s=t.normalizedDeps.length;s>o;o++){var l=t.normalizedDeps[o],d=n.defined[l];d&&u(d,n)}t.evaluated=!0;var c=t.execute.call(e,function(e){for(var r=0,a=t.deps.length;a>r;r++)if(t.deps[r]==e)return i(t.normalizedDeps[r],n);throw new TypeError("Module "+e+" not declared as a dependency.")},r,a);if(c&&(a.exports=c),r=a.exports,r&&r.__esModule)t.esModule=r;else{if(t.esModule={},"object"==typeof r||"function"==typeof r)if(h){var f;for(var m in r)(f=Object.getOwnPropertyDescriptor(r,m))&&x(t.esModule,m,f)}else{var p=r&&r.hasOwnProperty;for(var m in r)(!p||r.hasOwnProperty(m))&&(t.esModule[m]=r[m])}t.esModule["default"]=r,x(t.esModule,"__useDefault",{value:!0})}}}function m(t,n,r){var a=r.defined[t];if(a&&!a.evaluated&&a.declarative){n.push(t);for(var o=0,s=a.normalizedDeps.length;s>o;o++){var i=a.normalizedDeps[o];-1==w.call(n,i)&&(r.defined[i]?m(i,n,r):r.get(i))}a.evaluated||(a.evaluated=!0,a.module.execute.call(e))}}var h=!0;try{Object.getOwnPropertyDescriptor({a:0},"a")}catch(p){h=!1}var v,g=!1;l.prototype.register=function(e,n,r){return"string"!=typeof e&&(r=n,n=e,e=null),"boolean"==typeof r?this.registerDynamic.apply(this,arguments):void t(this,e,{declarative:!0,deps:n,declare:r})},l.prototype.registerDynamic=function(e,n,r,a){"string"!=typeof e&&(a=r,r=n,n=e,e=null),t(this,e,{declarative:!1,deps:n,execute:a,executingRequire:r})},c(function(e){return function(){e.call(this),this.defined={},this._loader.moduleRecords={}}}),d("onScriptLoad",function(e){return function(t){e.call(this,t),g&&(v&&(t.metadata.entry=v),t.metadata.format=t.metadata.format||"defined",t.metadata.registered=!0,g=!1,v=null)}}),x(a,"toString",{value:function(){return"Module"}}),d("delete",function(e){return function(t){return delete this._loader.moduleRecords[t],delete this.defined[t],e.call(this,t)}});var y=/^\s*(\/\*[^\*]*(\*(?!\/)[^\*]*)*\*\/|\s*\/\/[^\n]*|\s*"[^"]+"\s*;?|\s*'[^']+'\s*;?)*\s*System\.register(Dynamic)?\s*\(/;d("fetch",function(e){return function(t){return this.defined[t.name]?(t.metadata.format="defined",""):(v=null,g=!1,"register"==t.metadata.format&&(t.metadata.scriptLoad=!0),t.metadata.deps=t.metadata.deps||[],e.call(this,t))}}),d("translate",function(e){return function(t){return Promise.resolve(e.call(this,t)).then(function(e){return"string"==typeof t.metadata.deps&&(t.metadata.deps=t.metadata.deps.split(",")),t.metadata.deps=t.metadata.deps||[],("register"==t.metadata.format||!t.metadata.format&&t.source.match(y))&&(t.metadata.format="register"),e})}}),d("instantiate",function(e){return function(e){var t,n=this;if(n.defined[e.name])t=n.defined[e.name],t.deps=t.deps.concat(e.metadata.deps);else if(e.metadata.entry)t=e.metadata.entry;else if(e.metadata.execute)t={declarative:!1,deps:e.metadata.deps||[],execute:e.metadata.execute,executingRequire:e.metadata.executingRequire};else if("register"==e.metadata.format||"esm"==e.metadata.format||"es6"==e.metadata.format){if(v=null,g=!1,__exec.call(n,e),!g&&!e.metadata.registered)throw new TypeError(e.name+" detected as System.register but didn't execute.");v?t=v:e.metadata.bundle=!0,!t&&n.defined[e.name]&&(t=n.defined[e.name]),v=null,g=!1}t||(t={declarative:!1,deps:e.metadata.deps,execute:function(){return n.newModule({})}}),n.defined[e.name]=t;var a=f(t.deps);t.deps=a.names,t.originalIndices=a.indices,t.name=e.name;for(var o=[],s=0,i=t.deps.length;i>s;s++)o.push(Promise.resolve(n.normalize(t.deps[s],e.name)));return Promise.all(o).then(function(a){return t.normalizedDeps=a,{deps:t.deps,execute:function(){return r(e.name,n),m(e.name,[],n),n.defined[e.name]=void 0,n.newModule(t.declarative?t.module.exports:t.esModule)}}})}})}(),c(function(t){return function(){function n(t){if(Object.keys)Object.keys(e).forEach(t);else for(var n in e)s.call(e,n)&&t(n)}function r(t){n(function(n){if(-1==w.call(i,n)){try{var r=e[n]}catch(a){i.push(n)}t(n,r)}})}var a=this;t.call(a);var o,s=Object.prototype.hasOwnProperty,i=["_g","sessionStorage","localStorage","clipboardData","frames","external","mozAnimationStartTime","webkitStorageInfo","webkitIndexedDB"];a.set("@@global-helpers",a.newModule({prepareGlobal:function(t,n,a){var s;if(a){s={};for(var i in a)s[i]=a[i],e[i]=a[i]}return n||(o={},r(function(e,t){o[e]=t})),function(){var t;if(n)t=p(n,e);else{var a,i,l={};r(function(e,t){o[e]!==t&&"undefined"!=typeof t&&(l[e]=t,"undefined"!=typeof a?i||a===t||(i=!0):a=t)}),t=i?l:a}if(s)for(var u in s)e[u]=s[u];return t}}}))}}),c(function(t){return function(){function n(e,t){e=e.replace(i,"");var n=e.match(d),r=(n[1].split(",")[t]||"require").replace(c,""),a=f[r]||(f[r]=new RegExp(l+r+u,"g"));a.lastIndex=0;for(var o,s=[];o=a.exec(e);)s.push(o[2]||o[3]);return s}function r(e,t,n,a){if("object"==typeof e&&!(e instanceof Array))return r.apply(null,Array.prototype.splice.call(arguments,1,arguments.length-1));if("string"==typeof e&&"function"==typeof t&&(e=[e]),!(e instanceof Array)){if("string"==typeof e){var o=s.get(s.normalizeSync(e,a));if(!o)throw new Error('Module not already loaded loading "'+e+'" from "'+a+'".');return o.__useDefault?o["default"]:o}throw new TypeError("Invalid require")}for(var i=[],l=0;l=i)continue;a=s,o=i}a&&(t=this.map[a]+t.substr(a.length))}return e.call(this,t,n,r)}}),d("normalize",function(e){return function(t,n){var r=e.call(this,t,n);return this.has(r)?r:(y&&(r=r.replace(/#/g,"%23")),r.match(O)?(this.defaultJSExtensions&&".js"!=r.substr(r.length-3,3)&&(r+=".js"),r):(r=s(this.paths,r)||r,this.defaultJSExtensions&&".js"!=r.substr(r.length-3,3)&&(r+=".js"),"."==r[0]||"/"==r[0]?new j(r,M).href:new j(r,v.call(this)).href))}}),function(){function e(e){for(var t in this.packages)if(e.substr(0,t.length)===t&&(e.length===t.length||"/"===e[t.length]))return t}function t(e,t){var n,r=0;for(var a in e)if(t.substr(0,a.length)==a&&(t.length==a.length||"/"==t[a.length])){var o=a.split("/").length;if(r>=o)continue;n=a,r=o}return n}function n(e,n,r,a){var o=t(r,a),s=r[o];return s?"object"==typeof s?e["import"](r["@env"]||"@system-env",n).then(function(e){for(var t in s){var n="~"==t[0],r=p(n?t.substr(1):t,e);if(!n&&r||n&&!r)return s[t]+a.substr(o.length)}}):s+a.substr(o.length):void 0}function r(r,a){return function(o,s){if(s)var i=e.call(this,s)||this.defaultJSExtensions&&".js"==s.substr(s.length-3,3)&&e.call(this,s.substr(0,s.length-3));if(i&&"."!==o[0]){var l=this.packages[i].map;if(l){var u=t(l,o);u&&(o=l[u]+o.substr(u.length),"."===o[0]&&(s=i+"/"))}}var d=this.defaultJSExtensions&&".js"!=o.substr(o.length-3,3),c=r.call(this,o,s);".js"!=c.substr(c.length-3,3)&&(d=!1),d&&(c=c.substr(0,c.length-3));var f=e.call(this,c),m=this;if(f){var h=m.packages[f];if(f===c&&h.main&&(c+="/"+("./"==h.main.substr(0,2)?h.main.substr(2):h.main)),"/"==c.substr(f.length))return c;var p="";if(h.meta&&h.meta[c.substr(f.length+1)]||("defaultExtension"in h?h.defaultExtension!==!1&&-1==c.split("/").pop().lastIndexOf(".")&&(p="."+h.defaultExtension):d&&(p=".js")),a||!h.map)return c+p;var v="."+c.substr(f.length);return Promise.resolve(n(m,f,h.map,v)).then(function(e){return e?e:p?n(m,f,h.map,v+p):void 0}).then(function(e){return e?c="./"==e.substr(0,2)?f+e.substr(1):r.call(m,e):c+=p,c})}return d&&(c+=".js"),c}}c(function(e){return function(){e.call(this),this.packages={}}}),l.prototype.normalizeSync=l.prototype.normalize,d("normalizeSync",function(e){return r(e,!0)}),d("normalize",function(e){return r(e,!1)}),d("locate",function(t){return function(n){var r=this;return Promise.resolve(t.call(this,n)).then(function(t){var a=e.call(r,n.name);if(a){var o=r.packages[a];if(o.format&&(n.metadata.format=n.metadata.format||o.format),o.loader&&(n.metadata.loader=n.metadata.loader||o.loader),o.meta){var s,i={},l=0;for(var u in o.meta)if(s=u.indexOf("*"),-1!==s&&u.substr(0,s)===n.name.substr(0,s)&&u.substr(s+1)===n.name.substr(n.name.length-u.length+s+1)){var d=u.split("/").length;d>l&&(bestDetph=d),h(i,o.meta[u],l!=d)}var c=o.meta[n.name.substr(a.length+1)];c&&h(i,c),i.alias&&"./"==i.alias.substr(0,2)&&(i.alias=a+i.alias.substr(1)),i.loader&&"./"==i.loader.substr(0,2)&&(i.loader=a+i.loader.substr(1)),h(n.metadata,i)}}return t})}})}(),function(){function e(e,t,n,r){var a,o=this;n&&-1!=(a=n.indexOf("!"))&&(n=n.substr(0,a));var s=t.lastIndexOf("!");if(-1!=s){var i=t.substr(0,s),l=t.substr(s+1)||i.substr(i.lastIndexOf(".")+1),u=o.defaultJSExtensions&&".js"!=i.substr(i.length-3,3);return r?(i=o.normalizeSync(i,n),l=o.normalizeSync(l,n),u&&".js"==i.substr(i.length-3,3)&&(i=i.substr(0,i.length-3)),i+"!"+l):Promise.all([o.normalize(i,n),o.normalize(l,n)]).then(function(e){return i=e[0],u&&".js"==i.substr(i.length-3,3)&&(i=i.substr(0,i.length-3)),i+"!"+e[1]})}return e.call(o,t,n)}d("normalize",function(t){return function(n,r){return e.call(this,t,n,r,!1)}}),d("normalizeSync",function(t){return function(n,r){return e.call(this,t,n,r,!0)}}),d("locate",function(e){return function(t){var n=this,r=t.name,a=r.lastIndexOf("!");return-1!=a&&(t.metadata.loader=r.substr(a+1),t.name=r.substr(0,a)),e.call(n,t).then(function(e){var a=t.metadata.loader;if(!a)return e;if(n.defined&&n.defined[r])return e;var o=n.pluginLoader||n;return o["import"](a).then(function(a){return t.metadata.loaderModule=a,t.metadata.loaderArgument=r,t.address=e,a.locate?a.locate.call(n,t):e})})}}),d("fetch",function(e){return function(t){var n=this;return t.metadata.loaderModule&&t.metadata.loaderModule.fetch?(t.metadata.scriptLoad=!1,t.metadata.loaderModule.fetch.call(n,t,function(t){return e.call(n,t)})):e.call(n,t)}}),d("translate",function(e){return function(t){var n=this;return t.metadata.loaderModule&&t.metadata.loaderModule.translate?Promise.resolve(t.metadata.loaderModule.translate.call(n,t)).then(function(r){return"string"==typeof r&&(t.source=r),e.call(n,t)}):e.call(n,t)}}),d("instantiate",function(e){return function(t){var n=this,r=t.metadata.sourceMap;if(r&&"object"==typeof r){var a=t.name.split("!")[0];r.file=a+"!transpiled",r.sources&&1!=r.sources.length||(r.sources=[a]),t.metadata.sourceMap=JSON.stringify(r)}return t.metadata.loaderModule&&t.metadata.loaderModule.instantiate?Promise.resolve(t.metadata.loaderModule.instantiate.call(n,t)).then(function(r){return t.metadata.format="defined",t.metadata.execute=function(){return r},e.call(n,t)}):e.call(n,t)}})}(),function(){d("fetch",function(e){return function(t){var n=t.metadata.alias,r=t.metadata.deps||[];return n?(t.metadata.format="defined",this.defined[t.name]={declarative:!0,deps:r.concat([n]),declare:function(e){return{setters:[function(t){for(var n in t)e(n,t[n])}],execute:function(){}}}},""):e.call(this,t)}})}(),function(){function e(e,t,n){for(var r,a=t.split(".");a.length>1;)r=a.shift(),e=e[r]=e[r]||{};r=a.shift(),r in e||(e[r]=n)}c(function(e){return function(){this.meta={},e.call(this)}}),d("locate",function(e){return function(t){var n,r=this.meta,a=t.name,o=0;for(var s in r)if(n=s.indexOf("*"),-1!==n&&s.substr(0,n)===a.substr(0,n)&&s.substr(n+1)===a.substr(a.length-s.length+n+1)){var i=s.split("/").length;i>o&&(bestDetph=i),h(t.metadata,r[s],o!=i)}return r[a]&&h(t.metadata,r[a]),e.call(this,t)}});var t=/^(\s*\/\*[^\*]*(\*(?!\/)[^\*]*)*\*\/|\s*\/\/[^\n]*|\s*"[^"]+"\s*;?|\s*'[^']+'\s*;?)+/,n=/\/\*[^\*]*(\*(?!\/)[^\*]*)*\*\/|\/\/[^\n]*|"[^"]+"\s*;?|'[^']+'\s*;?/g;d("translate",function(r){return function(a){var o=a.source.match(t);if(o)for(var s=o[0].match(n),i=0;i')}else if("undefined"!=typeof importScripts){var o="";try{throw new Error("_")}catch(n){n.stack.replace(/(?:at|@).*(http.+):[\d]+:[\d]+/,function(e,t){o=t.replace(/\/[^\/]*$/,"/")})}importScripts(o+"system-polyfills.js"),e()}else e()}(); //# sourceMappingURL=system-csp-production.js.map diff --git a/dist/system-csp-production.js.map b/dist/system-csp-production.js.map index 9f2957e9..b5e89818 100644 --- a/dist/system-csp-production.js.map +++ b/dist/system-csp-production.js.map @@ -1 +1 @@ -{"version":3,"sources":["system-csp-production.src.js"],"names":["bootstrap","__global","addToError","err","msg","newErr","Error","message","fileName","lineNumber","isBrowser","stack","__eval","source","debugName","context","Function","call","e","Module","Loader","options","this","_loader","loaderObj","loads","modules","importPromises","moduleRecords","defineProperty","get","SystemLoader","paths","applyPaths","name","wildcard","pathMatch","maxSlashCount","p","pathParts","split","length","TypeError","slashCount","substr","outPath","replace","LoaderProto","SystemJSLoader","systemJSConstructor","SystemProto","hook","prototype","hookConstructor","group","deps","names","indices","i","l","index","indexOf","push","extend","a","b","prepend","extendMeta","val","Array","concat","readMemberExpression","value","pParts","shift","getBaseURLObj","baseURLCache","baseURL","URL","baseURI","href","isWorker","window","self","importScripts","document","isWindows","process","platform","match","console","assert","item","thisLen","Object","obj","prop","opt","getElementsByTagName","bases","location","lastIndexOf","cwd","URLPolyfill","createLoad","status","linkSets","dependencies","metadata","loadModule","loader","Promise","asyncStartLoadPartwayThrough","step","address","moduleName","moduleMetadata","moduleSource","moduleAddress","requestLoad","request","refererName","refererAddress","resolve","reject","normalize","then","load","module","proceedToLocate","proceedToFetch","locate","proceedToTranslate","fetch","translate","instantiate","instantiateResult","undefined","anonCnt","isDeclarative","transpile","transpiled","curSystem","System","curRegister","register","declare","depsList","execute","loadPromises","depLoad","key","addLoadToLinkSet","all","updateLinkSetOnLoad","exc","exception","linkSetFailed","stepState","existingLoad","done","linkSet","createLinkSet","startingLoad","loadingCount","j","d","doLink","error","link","_newModule","evaluated","finishLoad","abrupt","checkError","pLoad","dep","failed","linkIndex","splice","globalLoadsIndex","trace","depMap","forEach","map","kind","loadIndex","doDynamicExecute","linkError","createImportPromise","promise","m","evaluateLoadedModule","doEnsureEvaluated","constructor","define","delete","has","import","parentName","parentAddress","sourcePromise","newModule","pNames","getOwnPropertyNames","configurable","enumerable","preventExtensions","set","referrerName","referrerAddress","absURLRegEx","baseURIObj","systemImport","__useDefault","config","cfg","checkHasConfig","packages","meta","depCache","bundles","defaultJSExtensions","v","normalized","normalizeSync","pkgMatch","pkg","main","q","bundle","c","normalizeProp","webWorkerImport","onScriptLoad","registered","head","scriptLoad","complete","evt","s","readyState","cleanup","detachEvent","removeEventListener","removeChild","createElement","async","attachEvent","addEventListener","src","appendChild","createDefine","lastModule","anonDefine","isBundle","format","doRegister","calledRegister","defined","anonRegister","buildGroups","entry","groups","groupIndex","normalizedDeps","depName","depEntry","depGroupIndex","declarative","startEntry","curGroupDeclarative","linkDeclarativeModule","linkDynamicModule","getOrCreateModuleRecord","exports","importers","declaration","locked","importerModule","importerIndex","setters","depExports","depModule","esModule","originalIndices","len","getModule","ensureEvaluated","id","executingRequire","output","__esModule","getOwnPropertyDescriptor","hasOwnProperty","seen","registerDynamic","apply","arguments","del","registerRegEx","__exec","grouped","normalizePromises","forEachGlobal","callback","keys","g","forEachGlobalValue","globalName","ignoredGlobalProps","globalSnapshot","prepareGlobal","exportName","globals","oldGlobals","globalValue","singleGlobal","multipleExports","getCJSDeps","requireIndex","commentRegEx","params","fnBracketRegEx","requireAlias","wsRegEx","requireRegEx","requireRegExs","RegExp","cjsRequirePre","cjsRequirePost","lastIndex","exec","require","errback","referer","dynamicRequires","factory","pop","exportsIndex","moduleIndex","toString","req","contextualRequire","depValues","uri","toUrl","defaultJSExtension","url","curRequire","oldModule","oldExports","oldDefine","amd","amdDefine","amdRequire","bestMatch","bestMatchLength","curMatchLength","getPackage","getPackageConfig","pkgName","pkgConfig","env","envConfig","applyMap","parentPackage","parentMap","defaultExtension","subPath","mapped","wildcardIndex","bestDepth","depth","bestDetph","exactMeta","alias","normalizePlugin","sync","parentPluginIndex","pluginIndex","argumentName","pluginName","pluginSyntaxIndex","plugin","pluginLoader","loaderModule","loaderArgument","result","sourceMap","originalName","file","sources","JSON","stringify","aliasDeps","_export","setMetaProperty","target","curPart","metaRegEx","metaPartRegEx","metaParts","firstChar","metaString","metaName","metaValue","loadFromBundle","loadedBundles_","conditionalRegEx","browser","conditionalMatch","substitution","conditionModule","conditionExport","conditionExportIndex","booleanNegation","conditionValue","Reflect","global","LoaderPolyfill","hasURL","protocol","scripts","$__curScript","curPath","basePath","systemJSBootstrap","write"],"mappings":"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"} \ No newline at end of file +{"version":3,"sources":["system-csp-production.src.js"],"names":["bootstrap","__global","addToError","err","msg","newErr","Error","message","fileName","lineNumber","isBrowser","stack","__eval","source","debugName","context","Function","call","e","Module","Loader","options","this","_loader","loaderObj","loads","modules","importPromises","moduleRecords","defineProperty","get","SystemLoader","paths","applyPaths","name","wildcard","pathMatch","maxSlashCount","p","pathParts","split","length","TypeError","slashCount","substr","outPath","replace","LoaderProto","SystemJSLoader","systemJSConstructor","SystemProto","hook","prototype","hookConstructor","group","deps","names","indices","i","l","index","indexOf","push","extend","a","b","prepend","extendMeta","val","Array","concat","readMemberExpression","value","pParts","shift","getBaseURLObj","baseURLCache","baseURL","URL","baseURI","href","isWorker","window","self","importScripts","document","isWindows","process","platform","match","console","assert","item","thisLen","Object","obj","prop","opt","getElementsByTagName","bases","location","lastIndexOf","cwd","URLPolyfill","createLoad","status","linkSets","dependencies","metadata","loadModule","loader","Promise","asyncStartLoadPartwayThrough","step","address","moduleName","moduleMetadata","moduleSource","moduleAddress","requestLoad","request","refererName","refererAddress","resolve","reject","normalize","then","load","module","proceedToLocate","proceedToFetch","locate","proceedToTranslate","fetch","translate","instantiate","instantiateResult","undefined","anonCnt","isDeclarative","transpile","transpiled","curSystem","System","curRegister","register","declare","depsList","execute","loadPromises","depLoad","key","addLoadToLinkSet","all","updateLinkSetOnLoad","exc","exception","linkSetFailed","stepState","existingLoad","done","linkSet","createLinkSet","startingLoad","loadingCount","j","d","doLink","error","link","_newModule","evaluated","finishLoad","abrupt","checkError","pLoad","dep","failed","linkIndex","splice","globalLoadsIndex","trace","depMap","forEach","map","kind","loadIndex","doDynamicExecute","linkError","createImportPromise","promise","m","evaluateLoadedModule","doEnsureEvaluated","constructor","define","delete","has","import","parentName","parentAddress","sourcePromise","newModule","pNames","getOwnPropertyNames","configurable","enumerable","preventExtensions","set","referrerName","referrerAddress","absURLRegEx","baseURIObj","systemImport","__useDefault","packageProperties","config","cfg","checkHasConfig","packages","meta","depCache","bundles","defaultJSExtensions","v","normalized","normalizeSync","pkgMatch","pkg","main","q","warn","bundle","c","normalizeProp","webWorkerImport","onScriptLoad","registered","head","scriptLoad","complete","evt","s","readyState","cleanup","detachEvent","removeEventListener","removeChild","createElement","async","attachEvent","addEventListener","src","appendChild","createDefine","lastModule","anonDefine","isBundle","format","doRegister","calledRegister","defined","anonRegister","buildGroups","entry","groups","groupIndex","normalizedDeps","depName","depEntry","depGroupIndex","declarative","startEntry","curGroupDeclarative","linkDeclarativeModule","linkDynamicModule","getOrCreateModuleRecord","exports","importers","declaration","locked","importerModule","importerIndex","setters","depExports","depModule","esModule","originalIndices","len","getModule","ensureEvaluated","id","executingRequire","output","__esModule","getOwnPropertyDescriptor","hasOwnProperty","seen","registerDynamic","apply","arguments","del","registerRegEx","__exec","grouped","normalizePromises","forEachGlobal","callback","keys","g","forEachGlobalValue","globalName","ignoredGlobalProps","globalSnapshot","prepareGlobal","exportName","globals","oldGlobals","globalValue","singleGlobal","multipleExports","getCJSDeps","requireIndex","commentRegEx","params","fnBracketRegEx","requireAlias","wsRegEx","requireRegEx","requireRegExs","RegExp","cjsRequirePre","cjsRequirePost","lastIndex","exec","require","errback","referer","dynamicRequires","factory","pop","exportsIndex","moduleIndex","toString","req","contextualRequire","depValues","uri","toUrl","defaultJSExtension","url","curRequire","oldModule","oldExports","oldDefine","amd","amdDefine","amdRequire","bestMatch","bestMatchLength","curMatchLength","getPackage","applyMap","envMap","pkgName","pkgMap","mapped","env","negate","createPackageNormalize","sync","parentPackage","parentMap","defaultExtension","subPath","wildcardIndex","bestDepth","depth","bestDetph","exactMeta","alias","normalizePlugin","parentPluginIndex","pluginIndex","argumentName","pluginName","pluginSyntaxIndex","plugin","pluginLoader","loaderModule","loaderArgument","result","sourceMap","originalName","file","sources","JSON","stringify","aliasDeps","_export","setMetaProperty","target","curPart","metaRegEx","metaPartRegEx","metaParts","firstChar","metaString","metaName","metaValue","loadFromBundle","loadedBundles_","conditionalRegEx","browser","conditionalMatch","substitution","conditionModule","conditionExport","conditionExportIndex","booleanNegation","conditionValue","Reflect","global","LoaderPolyfill","hasURL","protocol","scripts","$__curScript","curPath","basePath","systemJSBootstrap","write"],"mappings":"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"} \ No newline at end of file diff --git a/dist/system-csp-production.src.js b/dist/system-csp-production.src.js index 9e4d247b..93c44247 100644 --- a/dist/system-csp-production.src.js +++ b/dist/system-csp-production.src.js @@ -1,5 +1,5 @@ /* - * SystemJS v0.18.8 + * SystemJS v0.18.9 */ (function() { function bootstrap() {(function(__global) { @@ -1188,6 +1188,7 @@ hook('import', function(systemImport) { For easy normalization canonicalization with latest URL support. */ +var packageProperties = ['main', 'format', 'defaultExtension', 'meta', 'map']; SystemJSLoader.prototype.config = function(cfg) { // always configure baseURL first @@ -1255,8 +1256,11 @@ SystemJSLoader.prototype.config = function(cfg) { prop = prop.substr(0, prop.length - 3); this.packages[prop]= this.packages[prop] || {}; - for (var q in cfg.packages[p]) + for (var q in cfg.packages[p]) { + if (indexOf.call(packageProperties, q) == -1 && typeof console != 'undefined' && console.warn) + console.warn('"' + q + '" is not a valid package configuration option in package ' + p); this.packages[prop][q] = cfg.packages[p][q]; + } } } @@ -2427,6 +2431,10 @@ hook('normalize', function(normalize) { if (this.has(normalized)) return normalized; + // percent encode just '#' in urls + if (isBrowser) + normalized = normalized.replace(/#/g, '%23'); + if (normalized.match(absURLRegEx)) { // defaultJSExtensions backwards compatibility if (this.defaultJSExtensions && normalized.substr(normalized.length - 3, 3) != '.js') @@ -2473,11 +2481,11 @@ hook('normalize', function(normalize) { * './vendor/another.js': './another/index.js', * // test.js / test -> lib/test.js * './test.js': './lib/test.js', - * }, - * env: { - * 'browser': { - * main: 'browser.js' - * } + * + * // environment-specific map configurations + * './index.js': { + * '~browser': './index-node.js' + * } * } * } * }; @@ -2495,6 +2503,7 @@ hook('normalize', function(normalize) { * - defaultJSExtensions applies after map when defaultExtension is not set * - if a meta value is available for a module, map and defaultExtension are skipped * - like global map, package map also applies to subpaths (sizzle/x, ./vendor/another/sub) + * - condition module map is '@env' module in package or '@system-env' globally * * In addition, the following meta properties will be allowed to be package * -relative as well in the package meta config: @@ -2519,43 +2528,6 @@ hook('normalize', function(normalize) { } } - function getPackageConfig(loader, pkgName) { - var pkgConfig = loader.packages[pkgName]; - - if (!pkgConfig.env) - return Promise.resolve(pkgConfig); - - // check environment conditions - // default environment condition is '@env' in package or '@system-env' globally - return loader['import'](pkgConfig.map['@env'] || '@system-env', pkgName) - .then(function(env) { - // derived config object - var pkg = {}; - for (var p in pkgConfig) - if (p !== 'map' & p !== 'env') - pkg[p] = pkgConfig[p]; - - pkg.map = {}; - for (var p in pkgConfig.map) - pkg.map[p] = pkgConfig.map[p]; - - for (var e in pkgConfig.env) { - if (env[e]) { - var envConfig = pkgConfig.env[e]; - if (envConfig.main) - pkg.main = envConfig.main; - for (var m in envConfig.map) - pkg.map[m] = envConfig.map[m]; - } - } - - // store the derived environment config so we have this cached for next time - loader.packages[pkgName] = pkg; - - return pkg; - }); - } - function applyMap(map, name) { var bestMatch, bestMatchLength = 0; @@ -2568,13 +2540,38 @@ hook('normalize', function(normalize) { bestMatchLength = curMatchLength; } } - if (bestMatch) - return map[bestMatch] + name.substr(bestMatch.length); + + return bestMatch; } - SystemJSLoader.prototype.normalizeSync = SystemJSLoader.prototype.normalize; + function envMap(loader, pkgName, pkgMap, name) { + var map = applyMap(pkgMap, name); + var mapped = pkgMap[map]; - hook('normalize', function(normalize) { + // conditional package map + if (mapped) { + if (typeof mapped == 'object') { + return loader['import'](pkgMap['@env'] || '@system-env', pkgName) + .then(function(env) { + // first map condition to match is used + for (var e in mapped) { + var negate = e[0] == '~'; + + var value = readMemberExpression(negate ? e.substr(1) : e, env); + + if (!negate && value || negate && !value) + return mapped[e] + name.substr(map.length); + } + }); + } + // normal map + else { + return mapped + name.substr(map.length); + } + } + } + + function createPackageNormalize(normalize, sync) { return function(name, parentName) { // apply contextual package map first if (parentName) { @@ -2586,11 +2583,15 @@ hook('normalize', function(normalize) { if (parentPackage && name[0] !== '.') { var parentMap = this.packages[parentPackage].map; if (parentMap) { - name = applyMap(parentMap, name) || name; + var map = applyMap(parentMap, name); - // relative maps are package-relative - if (name[0] === '.') - parentName = parentPackage + '/'; + if (map) { + name = parentMap[map] + name.substr(map.length); + + // relative maps are package-relative + if (name[0] === '.') + parentName = parentPackage + '/'; + } } } @@ -2611,40 +2612,50 @@ hook('normalize', function(normalize) { var loader = this; if (pkgName) { - return getPackageConfig(this, pkgName) - .then(function(pkg) { - // main - if (pkgName === normalized && pkg.main) - normalized += '/' + (pkg.main.substr(0, 2) == './' ? pkg.main.substr(2) : pkg.main); + var pkg = loader.packages[pkgName]; + // main + if (pkgName === normalized && pkg.main) + normalized += '/' + (pkg.main.substr(0, 2) == './' ? pkg.main.substr(2) : pkg.main); - if (normalized.substr(pkgName.length) == '/') - return normalized; + if (normalized.substr(pkgName.length) == '/') + return normalized; - // defaultExtension & defaultJSExtension - // if we have meta for this package, don't do defaultExtensions - var defaultExtension = ''; - if (!pkg.meta || !pkg.meta[normalized.substr(pkgName.length + 1)]) { - // apply defaultExtension + // defaultExtension & defaultJSExtension + // if we have meta for this package, don't do defaultExtensions + var defaultExtension = ''; + if (!pkg.meta || !pkg.meta[normalized.substr(pkgName.length + 1)]) { + // apply defaultExtension - if ('defaultExtension' in pkg) { - if (pkg.defaultExtension !== false && normalized.split('/').pop().lastIndexOf('.') == -1) - defaultExtension = '.' + pkg.defaultExtension; - } - // apply defaultJSExtensions if defaultExtension not set - else if (defaultJSExtension) { - defaultExtension = '.js'; - } + if ('defaultExtension' in pkg) { + if (pkg.defaultExtension !== false && normalized.split('/').pop().lastIndexOf('.') == -1) + defaultExtension = '.' + pkg.defaultExtension; } + // apply defaultJSExtensions if defaultExtension not set + else if (defaultJSExtension) { + defaultExtension = '.js'; + } + } - // apply submap checking without then with defaultExtension - var subPath = '.' + normalized.substr(pkgName.length); - var mapped = applyMap(pkg.map, subPath) || defaultExtension && applyMap(pkg.map, subPath + defaultExtension); + // sync normalize does not apply package map + if (sync || !pkg.map) + return normalized + defaultExtension; + + var subPath = '.' + normalized.substr(pkgName.length); + + // apply submap checking without then with defaultExtension + return Promise.resolve(envMap(loader, pkgName, pkg.map, subPath)) + .then(function(mapped) { + if (mapped) + return mapped; + + if (defaultExtension) + return envMap(loader, pkgName, pkg.map, subPath + defaultExtension); + }) + .then(function(mapped) { if (mapped) normalized = mapped.substr(0, 2) == './' ? pkgName + mapped.substr(1) : normalize.call(loader, mapped); else normalized += defaultExtension; - - return normalized; }); } @@ -2655,6 +2666,16 @@ hook('normalize', function(normalize) { return normalized; }; + } + + SystemJSLoader.prototype.normalizeSync = SystemJSLoader.prototype.normalize; + + hook('normalizeSync', function(normalize) { + return createPackageNormalize(normalize, true); + }); + + hook('normalize', function(normalize) { + return createPackageNormalize(normalize, false); }); hook('locate', function(locate) { @@ -2989,7 +3010,7 @@ hook('normalize', function(normalize) { var bestDepth = 0; var wildcardIndex; for (var module in meta) { - wildcardIndex = indexOf.call(module, '*'); + wildcardIndex = module.indexOf('*'); if (wildcardIndex === -1) continue; if (module.substr(0, wildcardIndex) === name.substr(0, wildcardIndex) diff --git a/dist/system-register-only.js b/dist/system-register-only.js index 0bd41908..e8e9e19f 100644 --- a/dist/system-register-only.js +++ b/dist/system-register-only.js @@ -1,5 +1,5 @@ /* - * SystemJS v0.18.8 + * SystemJS v0.18.9 */ !function(e){function t(e,t){var n;if(e instanceof Error){var n=new Error(e.message,e.fileName,e.lineNumber);p?(n.message=e.message+"\n "+t,n.stack=e.stack):(n.message=e.message,n.stack=e.stack+"\n "+t)}else n=e+"\n "+t;return n}function n(e,n,r){try{new Function(e).call(r)}catch(a){throw t(a,"Evaluating "+n)}}function r(){}function a(t){this._loader={loaderObj:this,loads:[],modules:{},importPromises:{},moduleRecords:{}},v(this,"global",{get:function(){return e}})}function o(){a.call(this),this.paths={}}function d(e,t){var n,r="",a=0;for(var o in e){var d=o.split("*");if(d.length>2)throw new TypeError("Only one wildcard in a path is permitted");if(1==d.length){if(t==o){r=o;break}}else{var s=o.split("/").length;s>=a&&t.substr(0,d[0].length)==d[0]&&t.substr(t.length-d[1].length)==d[1]&&(a=s,r=o,n=t.substr(d[0].length,t.length-d[1].length-d[0].length))}}var i=e[r]||t;return n&&(i=i.replace("*",n)),i}function s(){}function i(){o.call(this),E.call(this)}function l(){}function u(e,t){i.prototype[e]=t(i.prototype[e])}function c(e){E=e(E||function(){})}function f(e){for(var t=[],n=[],r=0,a=e.length;a>r;r++){var o=g.call(t,e[r]);-1===o?(t.push(e[r]),n.push([r])):n[o].push(r)}return{names:t,indices:n}}var m="undefined"==typeof window&&"undefined"!=typeof self&&"undefined"!=typeof importScripts,p="undefined"!=typeof window&&"undefined"!=typeof document,h="undefined"!=typeof process&&!!process.platform.match(/^win/);e.console||(e.console={assert:function(){}});var v,g=Array.prototype.indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(this[t]===e)return t;return-1};!function(){try{Object.defineProperty({},"a",{})&&(v=Object.defineProperty)}catch(e){v=function(e,t,n){try{e[t]=n.value||n.get.call(e)}catch(r){}}}}();var y;if("undefined"!=typeof document&&document.getElementsByTagName){if(y=document.baseURI,!y){var w=document.getElementsByTagName("base");y=w[0]&&w[0].href||window.location.href}y=y.split("#")[0].split("?")[0],y=y.substr(0,y.lastIndexOf("/")+1)}else if("undefined"!=typeof process&&process.cwd)y="file://"+(h?"/":"")+process.cwd()+"/",h&&(y=y.replace(/\\/g,"/"));else{if("undefined"==typeof location)throw new TypeError("No environment baseURI");y=e.location.href}var x=e.URLPolyfill||e.URL;v(r.prototype,"toString",{value:function(){return"Module"}}),function(){function o(e){return{status:"loading",name:e,linkSets:[],dependencies:[],metadata:{}}}function d(e,t,n){return new Promise(c({step:n.address?"fetch":"locate",loader:e,moduleName:t,moduleMetadata:n&&n.metadata||{},moduleSource:n.source,moduleAddress:n.address}))}function s(e,t,n,r){return new Promise(function(a,o){a(e.loaderObj.normalize(t,n,r))}).then(function(t){var n;if(e.modules[t])return n=o(t),n.status="linked",n.module=e.modules[t],n;for(var r=0,a=e.loads.length;a>r;r++)if(n=e.loads[r],n.name==t)return n;return n=o(t),e.loads.push(n),i(e,n),n})}function i(e,t){l(e,t,Promise.resolve().then(function(){return e.loaderObj.locate({name:t.name,metadata:t.metadata})}))}function l(e,t,n){u(e,t,n.then(function(n){return"loading"==t.status?(t.address=n,e.loaderObj.fetch({name:t.name,metadata:t.metadata,address:n})):void 0}))}function u(t,r,a){a.then(function(a){return"loading"==r.status?Promise.resolve(t.loaderObj.translate({name:r.name,metadata:r.metadata,address:r.address,source:a})).then(function(e){return r.source=e,t.loaderObj.instantiate({name:r.name,metadata:r.metadata,address:r.address,source:e})}).then(function(a){if(void 0===a)return r.address=r.address||"",r.isDeclarative=!0,k.call(t.loaderObj,r).then(function(t){var a=e.System,o=a.register;a.register=function(e,t,n){"string"!=typeof e&&(n=t,t=e),r.declare=n,r.depsList=t},n(t,r.address,{}),a.register=o});if("object"!=typeof a)throw TypeError("Invalid instantiate return value");r.depsList=a.deps||[],r.execute=a.execute,r.isDeclarative=!1}).then(function(){r.dependencies=[];for(var e=r.depsList,n=[],a=0,o=e.length;o>a;a++)(function(e,a){n.push(s(t,e,r.name,r.address).then(function(t){if(r.dependencies[a]={key:e,value:t.name},"linked"!=t.status)for(var n=r.linkSets.concat([]),o=0,d=n.length;d>o;o++)m(n[o],t)}))})(e[a],a);return Promise.all(n)}).then(function(){r.status="loaded";for(var e=r.linkSets.concat([]),t=0,n=e.length;n>t;t++)h(e[t],r)}):void 0})["catch"](function(e){r.status="failed",r.exception=e;for(var t=r.linkSets.concat([]),n=0,a=t.length;a>n;n++)y(t[n],r,e)})}function c(e){return function(t,n){var r=e.loader,a=e.moduleName,d=e.step;if(r.modules[a])throw new TypeError('"'+a+'" already exists in the module table');for(var s,c=0,m=r.loads.length;m>c;c++)if(r.loads[c].name==a&&(s=r.loads[c],"translate"!=d||s.source||(s.address=e.moduleAddress,u(r,s,Promise.resolve(e.moduleSource))),s.linkSets.length))return s.linkSets[0].done.then(function(){t(s)});var p=s||o(a);p.metadata=e.moduleMetadata;var h=f(r,p);r.loads.push(p),t(h.done),"locate"==d?i(r,p):"fetch"==d?l(r,p,Promise.resolve(e.moduleAddress)):(p.address=e.moduleAddress,u(r,p,Promise.resolve(e.moduleSource)))}}function f(e,t){var n={loader:e,loads:[],startingLoad:t,loadingCount:0};return n.done=new Promise(function(e,t){n.resolve=e,n.reject=t}),m(n,t),n}function m(e,t){if("failed"!=t.status){for(var n=0,r=e.loads.length;r>n;n++)if(e.loads[n]==t)return;e.loads.push(t),t.linkSets.push(e),"loaded"!=t.status&&e.loadingCount++;for(var a=e.loader,n=0,r=t.dependencies.length;r>n;n++)if(t.dependencies[n]){var o=t.dependencies[n].value;if(!a.modules[o])for(var d=0,s=a.loads.length;s>d;d++)if(a.loads[d].name==o){m(e,a.loads[d]);break}}}}function p(e){var t=!1;try{S(e,function(n,r){y(e,n,r),t=!0})}catch(n){y(e,null,n),t=!0}return t}function h(e,t){if(e.loadingCount--,!(e.loadingCount>0)){var n=e.startingLoad;if(e.loader.loaderObj.execute===!1){for(var r=[].concat(e.loads),a=0,o=r.length;o>a;a++){var t=r[a];t.module=t.isDeclarative?{name:t.name,module:O({}),evaluated:!0}:{module:O({})},t.status="linked",w(e.loader,t)}return e.resolve(n)}var d=p(e);d||e.resolve(n)}}function y(e,n,r){var a=e.loader;e:if(n)if(e.loads[0].name==n.name)r=t(r,"Error loading "+n.name);else{for(var o=0;oo;o++){var n=l[o];a.loaderObj.failed=a.loaderObj.failed||[],-1==g.call(a.loaderObj.failed,n)&&a.loaderObj.failed.push(n);var c=g.call(n.linkSets,e);if(n.linkSets.splice(c,1),0==n.linkSets.length){var f=g.call(e.loader.loads,n);-1!=f&&e.loader.loads.splice(f,1)}}e.reject(r)}function w(e,t){if(e.loaderObj.trace){e.loaderObj.loads||(e.loaderObj.loads={});var n={};t.dependencies.forEach(function(e){n[e.key]=e.value}),e.loaderObj.loads[t.name]={name:t.name,deps:t.dependencies.map(function(e){return e.key}),depMap:n,address:t.address,metadata:t.metadata,source:t.source,kind:t.isDeclarative?"declarative":"dynamic"}}t.name&&(e.modules[t.name]=t.module);var r=g.call(e.loads,t);-1!=r&&e.loads.splice(r,1);for(var a=0,o=t.linkSets.length;o>a;a++)r=g.call(t.linkSets[a].loads,t),-1!=r&&t.linkSets[a].loads.splice(r,1);t.linkSets.splice(0,t.linkSets.length)}function x(e,t,n){try{var a=t.execute()}catch(o){return void n(t,o)}return a&&a instanceof r?a:void n(t,new TypeError("Execution must define a Module instance"))}function b(e,t,n){var r=e._loader.importPromises;return r[t]=n.then(function(e){return r[t]=void 0,e},function(e){throw r[t]=void 0,e})}function S(e,t){var n=e.loader;if(e.loads.length)for(var r=e.loads.concat([]),a=0;aa;a++){var d=e.normalizedDeps[a],s=t.defined[d];if(s&&!s.evaluated){var i=e.groupIndex+(s.declarative!=e.declarative);if(void 0===s.groupIndex||s.groupIndex=0;s--){for(var i=a[s],u=0;ur;r++){var d=a.importers[r];if(!d.locked){var i=g.call(d.dependencies,a);d.setters[i](s)}}return a.locked=!1,t});if(a.setters=i.setters,a.execute=i.execute,!a.setters||!a.execute)throw new TypeError("Invalid System.register form for "+t.name);for(var l=0,u=t.normalizedDeps.length;u>l;l++){var c,f=t.normalizedDeps[l],m=n.defined[f],p=r[f];p?c=p.exports:m&&!m.declarative?c=m.esModule:m?(d(m,n),p=m.module,c=p.exports):c=n.get(f),p&&p.importers?(p.importers.push(a),a.dependencies.push(p)):a.dependencies.push(null);for(var h=t.originalIndices[l],v=0,y=h.length;y>v;++v){var w=h[v];a.setters[w]&&a.setters[w](c)}}}}function s(e,t){var n,r=t.defined[e];if(r)r.declarative?m(e,[],t):r.evaluated||l(r,t),n=r.module.exports;else if(n=t.get(e),!n)throw new Error("Unable to load dependency "+e+".");return(!r||r.declarative)&&n&&n.__useDefault?n["default"]:n}function l(t,n){if(!t.module){var r={},a=t.module={exports:r,id:t.name};if(!t.executingRequire)for(var o=0,d=t.normalizedDeps.length;d>o;o++){var i=t.normalizedDeps[o],u=n.defined[i];u&&l(u,n)}t.evaluated=!0;var c=t.execute.call(e,function(e){for(var r=0,a=t.deps.length;a>r;r++)if(t.deps[r]==e)return s(t.normalizedDeps[r],n);throw new TypeError("Module "+e+" not declared as a dependency.")},r,a);if(c&&(a.exports=c),r=a.exports,r&&r.__esModule)t.esModule=r;else{if(t.esModule={},"object"==typeof r||"function"==typeof r)if(p){var f;for(var m in r)(f=Object.getOwnPropertyDescriptor(r,m))&&v(t.esModule,m,f)}else{var h=r&&r.hasOwnProperty;for(var m in r)(!h||r.hasOwnProperty(m))&&(t.esModule[m]=r[m])}t.esModule["default"]=r,v(t.esModule,"__useDefault",{value:!0})}}}function m(t,n,r){var a=r.defined[t];if(a&&!a.evaluated&&a.declarative){n.push(t);for(var o=0,d=a.normalizedDeps.length;d>o;o++){var s=a.normalizedDeps[o];-1==g.call(n,s)&&(r.defined[s]?m(s,n,r):r.get(s))}a.evaluated||(a.evaluated=!0,a.module.execute.call(e))}}var p=!0;try{Object.getOwnPropertyDescriptor({a:0},"a")}catch(h){p=!1}var y,w=!1;i.prototype.register=function(e,n,r){return"string"!=typeof e&&(r=n,n=e,e=null),"boolean"==typeof r?this.registerDynamic.apply(this,arguments):void t(this,e,{declarative:!0,deps:n,declare:r})},i.prototype.registerDynamic=function(e,n,r,a){"string"!=typeof e&&(a=r,r=n,n=e,e=null),t(this,e,{declarative:!1,deps:n,execute:a,executingRequire:r})},c(function(e){return function(){e.call(this),this.defined={},this._loader.moduleRecords={}}}),u("onScriptLoad",function(e){return function(t){e.call(this,t),w&&(y&&(t.metadata.entry=y),t.metadata.format=t.metadata.format||"defined",t.metadata.registered=!0,w=!1,y=null)}}),v(a,"toString",{value:function(){return"Module"}}),u("delete",function(e){return function(t){return delete this._loader.moduleRecords[t],delete this.defined[t],e.call(this,t)}});var x=/^\s*(\/\*[^\*]*(\*(?!\/)[^\*]*)*\*\/|\s*\/\/[^\n]*|\s*"[^"]+"\s*;?|\s*'[^']+'\s*;?)*\s*System\.register(Dynamic)?\s*\(/;u("fetch",function(e){return function(t){return this.defined[t.name]?(t.metadata.format="defined",""):(y=null,w=!1,"register"==t.metadata.format&&(t.metadata.scriptLoad=!0),t.metadata.deps=t.metadata.deps||[],e.call(this,t))}}),u("translate",function(e){return function(t){return Promise.resolve(e.call(this,t)).then(function(e){return"string"==typeof t.metadata.deps&&(t.metadata.deps=t.metadata.deps.split(",")),t.metadata.deps=t.metadata.deps||[],("register"==t.metadata.format||!t.metadata.format&&t.source.match(x))&&(t.metadata.format="register"),e})}}),u("instantiate",function(e){return function(e){var t,n=this;if(n.defined[e.name])t=n.defined[e.name],t.deps=t.deps.concat(e.metadata.deps);else if(e.metadata.entry)t=e.metadata.entry;else if(e.metadata.execute)t={declarative:!1,deps:e.metadata.deps||[],execute:e.metadata.execute,executingRequire:e.metadata.executingRequire};else if("register"==e.metadata.format||"esm"==e.metadata.format||"es6"==e.metadata.format){if(y=null,w=!1,__exec.call(n,e),!w&&!e.metadata.registered)throw new TypeError(e.name+" detected as System.register but didn't execute.");y?t=y:e.metadata.bundle=!0,!t&&n.defined[e.name]&&(t=n.defined[e.name]),y=null,w=!1}t||(t={declarative:!1,deps:e.metadata.deps,execute:function(){return n.newModule({})}}),n.defined[e.name]=t;var a=f(t.deps);t.deps=a.names,t.originalIndices=a.indices,t.name=e.name;for(var o=[],d=0,s=t.deps.length;s>d;d++)o.push(Promise.resolve(n.normalize(t.deps[d],e.name)));return Promise.all(o).then(function(a){return t.normalizedDeps=a,{deps:t.deps,execute:function(){return r(e.name,n),m(e.name,[],n),n.defined[e.name]=void 0,n.newModule(t.declarative?t.module.exports:t.esModule)}}})}})}(),b=new i,b.constructor=i,"object"==typeof exports&&(module.exports=a),e.Reflect=e.Reflect||{},e.Reflect.Loader=e.Reflect.Loader||a,e.Reflect.global=e.Reflect.global||e,e.LoaderPolyfill=a,b||(b=new o,b.constructor=o),"object"==typeof exports&&(module.exports=b),e.System=b}("undefined"!=typeof self?self:global); //# sourceMappingURL=system-register-only.js.map diff --git a/dist/system-register-only.src.js b/dist/system-register-only.src.js index 63fd7603..4b1139f8 100644 --- a/dist/system-register-only.src.js +++ b/dist/system-register-only.src.js @@ -1,5 +1,5 @@ /* - * SystemJS v0.18.8 + * SystemJS v0.18.9 */ (function(__global) { diff --git a/dist/system.js b/dist/system.js index cc80dcb8..e9d04ed3 100644 --- a/dist/system.js +++ b/dist/system.js @@ -1,6 +1,6 @@ /* - * SystemJS v0.18.8 + * SystemJS v0.18.9 */ -!function(){function e(){!function(e){function t(e,t){var n;if(e instanceof Error){var n=new Error(e.message,e.fileName,e.lineNumber);b?(n.message=e.message+"\n "+t,n.stack=e.stack):(n.message=e.message,n.stack=e.stack+"\n "+t)}else n=e+"\n "+t;return n}function n(e,n,a){try{new Function(e).call(a)}catch(r){throw t(r,"Evaluating "+n)}}function a(){}function r(t){this._loader={loaderObj:this,loads:[],modules:{},importPromises:{},moduleRecords:{}},x(this,"global",{get:function(){return e}})}function o(){r.call(this),this.paths={}}function s(e,t){var n,a="",r=0;for(var o in e){var s=o.split("*");if(s.length>2)throw new TypeError("Only one wildcard in a path is permitted");if(1==s.length){if(t==o){a=o;break}}else{var i=o.split("/").length;i>=r&&t.substr(0,s[0].length)==s[0]&&t.substr(t.length-s[1].length)==s[1]&&(r=i,a=o,n=t.substr(s[0].length,t.length-s[1].length-s[0].length))}}var l=e[a]||t;return n&&(l=l.replace("*",n)),l}function i(){}function l(){o.call(this),L.call(this)}function u(){}function d(e,t){l.prototype[e]=t(l.prototype[e])}function c(e){L=e(L||function(){})}function f(e){for(var t=[],n=[],a=0,r=e.length;r>a;a++){var o=w.call(t,e[a]);-1===o?(t.push(e[a]),n.push([a])):n[o].push(a)}return{names:t,indices:n}}function m(e,t,n){for(var a in t)n&&a in e||(e[a]=t[a]);return e}function p(e,t,n){for(var a in t){var r=t[a];a in e?r instanceof Array&&e[a]instanceof Array?e[a]=[].concat(n?r:e[a]).concat(n?e[a]:r):"object"==typeof r&&"object"==typeof e[a]?e[a]=m(m({},e[a]),r,n):n||(e[a]=r):e[a]=r}}function h(e,t){for(var n=e.split(".");n.length;)t=t[n.shift()];return t}function v(){if(T[this.baseURL])return T[this.baseURL];"/"!=this.baseURL[this.baseURL.length-1]&&(this.baseURL+="/");var e=new _(this.baseURL,S);return this.baseURL=e.href,T[this.baseURL]=e}var g="undefined"==typeof window&&"undefined"!=typeof self&&"undefined"!=typeof importScripts,b="undefined"!=typeof window&&"undefined"!=typeof document,y="undefined"!=typeof process&&!!process.platform.match(/^win/);e.console||(e.console={assert:function(){}});var x,w=Array.prototype.indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(this[t]===e)return t;return-1};!function(){try{Object.defineProperty({},"a",{})&&(x=Object.defineProperty)}catch(e){x=function(e,t,n){try{e[t]=n.value||n.get.call(e)}catch(a){}}}}();var S;if("undefined"!=typeof document&&document.getElementsByTagName){if(S=document.baseURI,!S){var E=document.getElementsByTagName("base");S=E[0]&&E[0].href||window.location.href}S=S.split("#")[0].split("?")[0],S=S.substr(0,S.lastIndexOf("/")+1)}else if("undefined"!=typeof process&&process.cwd)S="file://"+(y?"/":"")+process.cwd()+"/",y&&(S=S.replace(/\\/g,"/"));else{if("undefined"==typeof location)throw new TypeError("No environment baseURI");S=e.location.href}var _=e.URLPolyfill||e.URL;x(a.prototype,"toString",{value:function(){return"Module"}}),function(){function o(e){return{status:"loading",name:e,linkSets:[],dependencies:[],metadata:{}}}function s(e,t,n){return new Promise(c({step:n.address?"fetch":"locate",loader:e,moduleName:t,moduleMetadata:n&&n.metadata||{},moduleSource:n.source,moduleAddress:n.address}))}function i(e,t,n,a){return new Promise(function(r,o){r(e.loaderObj.normalize(t,n,a))}).then(function(t){var n;if(e.modules[t])return n=o(t),n.status="linked",n.module=e.modules[t],n;for(var a=0,r=e.loads.length;r>a;a++)if(n=e.loads[a],n.name==t)return n;return n=o(t),e.loads.push(n),l(e,n),n})}function l(e,t){u(e,t,Promise.resolve().then(function(){return e.loaderObj.locate({name:t.name,metadata:t.metadata})}))}function u(e,t,n){d(e,t,n.then(function(n){return"loading"==t.status?(t.address=n,e.loaderObj.fetch({name:t.name,metadata:t.metadata,address:n})):void 0}))}function d(t,a,r){r.then(function(r){return"loading"==a.status?Promise.resolve(t.loaderObj.translate({name:a.name,metadata:a.metadata,address:a.address,source:r})).then(function(e){return a.source=e,t.loaderObj.instantiate({name:a.name,metadata:a.metadata,address:a.address,source:e})}).then(function(r){if(void 0===r)return a.address=a.address||"",a.isDeclarative=!0,j.call(t.loaderObj,a).then(function(t){var r=e.System,o=r.register;r.register=function(e,t,n){"string"!=typeof e&&(n=t,t=e),a.declare=n,a.depsList=t},n(t,a.address,{}),r.register=o});if("object"!=typeof r)throw TypeError("Invalid instantiate return value");a.depsList=r.deps||[],a.execute=r.execute,a.isDeclarative=!1}).then(function(){a.dependencies=[];for(var e=a.depsList,n=[],r=0,o=e.length;o>r;r++)(function(e,r){n.push(i(t,e,a.name,a.address).then(function(t){if(a.dependencies[r]={key:e,value:t.name},"linked"!=t.status)for(var n=a.linkSets.concat([]),o=0,s=n.length;s>o;o++)m(n[o],t)}))})(e[r],r);return Promise.all(n)}).then(function(){a.status="loaded";for(var e=a.linkSets.concat([]),t=0,n=e.length;n>t;t++)h(e[t],a)}):void 0})["catch"](function(e){a.status="failed",a.exception=e;for(var t=a.linkSets.concat([]),n=0,r=t.length;r>n;n++)v(t[n],a,e)})}function c(e){return function(t,n){var a=e.loader,r=e.moduleName,s=e.step;if(a.modules[r])throw new TypeError('"'+r+'" already exists in the module table');for(var i,c=0,m=a.loads.length;m>c;c++)if(a.loads[c].name==r&&(i=a.loads[c],"translate"!=s||i.source||(i.address=e.moduleAddress,d(a,i,Promise.resolve(e.moduleSource))),i.linkSets.length))return i.linkSets[0].done.then(function(){t(i)});var p=i||o(r);p.metadata=e.moduleMetadata;var h=f(a,p);a.loads.push(p),t(h.done),"locate"==s?l(a,p):"fetch"==s?u(a,p,Promise.resolve(e.moduleAddress)):(p.address=e.moduleAddress,d(a,p,Promise.resolve(e.moduleSource)))}}function f(e,t){var n={loader:e,loads:[],startingLoad:t,loadingCount:0};return n.done=new Promise(function(e,t){n.resolve=e,n.reject=t}),m(n,t),n}function m(e,t){if("failed"!=t.status){for(var n=0,a=e.loads.length;a>n;n++)if(e.loads[n]==t)return;e.loads.push(t),t.linkSets.push(e),"loaded"!=t.status&&e.loadingCount++;for(var r=e.loader,n=0,a=t.dependencies.length;a>n;n++)if(t.dependencies[n]){var o=t.dependencies[n].value;if(!r.modules[o])for(var s=0,i=r.loads.length;i>s;s++)if(r.loads[s].name==o){m(e,r.loads[s]);break}}}}function p(e){var t=!1;try{S(e,function(n,a){v(e,n,a),t=!0})}catch(n){v(e,null,n),t=!0}return t}function h(e,t){if(e.loadingCount--,!(e.loadingCount>0)){var n=e.startingLoad;if(e.loader.loaderObj.execute===!1){for(var a=[].concat(e.loads),r=0,o=a.length;o>r;r++){var t=a[r];t.module=t.isDeclarative?{name:t.name,module:D({}),evaluated:!0}:{module:D({})},t.status="linked",g(e.loader,t)}return e.resolve(n)}var s=p(e);s||e.resolve(n)}}function v(e,n,a){var r=e.loader;e:if(n)if(e.loads[0].name==n.name)a=t(a,"Error loading "+n.name);else{for(var o=0;oo;o++){var n=u[o];r.loaderObj.failed=r.loaderObj.failed||[],-1==w.call(r.loaderObj.failed,n)&&r.loaderObj.failed.push(n);var c=w.call(n.linkSets,e);if(n.linkSets.splice(c,1),0==n.linkSets.length){var f=w.call(e.loader.loads,n);-1!=f&&e.loader.loads.splice(f,1)}}e.reject(a)}function g(e,t){if(e.loaderObj.trace){e.loaderObj.loads||(e.loaderObj.loads={});var n={};t.dependencies.forEach(function(e){n[e.key]=e.value}),e.loaderObj.loads[t.name]={name:t.name,deps:t.dependencies.map(function(e){return e.key}),depMap:n,address:t.address,metadata:t.metadata,source:t.source,kind:t.isDeclarative?"declarative":"dynamic"}}t.name&&(e.modules[t.name]=t.module);var a=w.call(e.loads,t);-1!=a&&e.loads.splice(a,1);for(var r=0,o=t.linkSets.length;o>r;r++)a=w.call(t.linkSets[r].loads,t),-1!=a&&t.linkSets[r].loads.splice(a,1);t.linkSets.splice(0,t.linkSets.length)}function b(e,t,n){try{var r=t.execute()}catch(o){return void n(t,o)}return r&&r instanceof a?r:void n(t,new TypeError("Execution must define a Module instance"))}function y(e,t,n){var a=e._loader.importPromises;return a[t]=n.then(function(e){return a[t]=void 0,e},function(e){throw a[t]=void 0,e})}function S(e,t){var n=e.loader;if(e.loads.length)for(var a=e.loads.concat([]),r=0;rs;s++)o.push(Promise.resolve(n.normalize(t.deps[s],e.name)));return Promise.all(o).then(function(r){return t.normalizedDeps=r,{deps:t.deps,execute:function(){return a(e.name,n),m(e.name,[],n),n.defined[e.name]=void 0,n.newModule(t.declarative?t.module.exports:t.esModule)}}})}})}(),function(){var t=/(^\s*|[}\);\n]\s*)(import\s+(['"]|(\*\s+as\s+)?[^"'\(\)\n;]+\s+from\s+['"]|\{)|export\s+\*\s+from\s+["']|export\s+(\{|default|function|class|var|const|let|async\s+function))/,n=/\$traceurRuntime\s*\./,a=/babelHelpers\s*\./;d("translate",function(r){return function(o){var s=this;return r.call(s,o).then(function(r){if("esm"==o.metadata.format||"es6"==o.metadata.format||!o.metadata.format&&r.match(t))return o.metadata.format="esm",s._loadedTranspiler=s._loadedTranspiler||!1,s.pluginLoader&&(s.pluginLoader._loadedTranspiler=s._loadedTranspiler||!1),R.call(s,o).then(function(e){return o.metadata.sourceMap=void 0,e});if(s._loadedTranspiler===!1&&o.name==s.normalizeSync(s.transpiler)&&(r.length>100&&(o.metadata.format=o.metadata.format||"global","traceur"===s.transpiler&&(o.metadata.exports="traceur"),"typescript"===s.transpiler&&(o.metadata.exports="ts")),s._loadedTranspiler=!0),s._loadedTranspilerRuntime===!1&&(o.name==s.normalizeSync("traceur-runtime")||o.name==s.normalizeSync("babel/external-helpers*"))&&(r.length>100&&(o.metadata.format=o.metadata.format||"global"),s._loadedTranspilerRuntime=!0),"register"==o.metadata.format&&s._loadedTranspilerRuntime!==!0){if(!e.$traceurRuntime&&o.source.match(n))return s._loadedTranspilerRuntime=s._loadedTranspilerRuntime||!1,s["import"]("traceur-runtime").then(function(){return r});if(!e.babelHelpers&&o.source.match(a))return s._loadedTranspilerRuntime=s._loadedTranspilerRuntime||!1,s["import"]("babel/external-helpers").then(function(){return r})}return r})}})}();var z="undefined"!=typeof self?"self":"global";d("onScriptLoad",function(t){return function(n){if("global"==n.metadata.format){n.metadata.registered=!0;var a=h(n.metadata.exports,e);n.metadata.execute=function(){return a}}return t.call(this,n)}}),d("fetch",function(e){return function(t){return t.metadata.exports&&(t.metadata.format="global"),"global"!=t.metadata.format||!t.metadata.exports||t.metadata.globals||t.metadata.deps&&0!=t.metadata.deps.length||(t.metadata.scriptLoad=!0),e.call(this,t)}}),d("instantiate",function(t){return function(n){var a=this;if(n.metadata.format||(n.metadata.format="global"),n.metadata.globals&&n.metadata.globals instanceof Array){for(var r={},o=0;o=i)continue;r=s,o=i}r&&(t=this.map[r]+t.substr(r.length))}return e.call(this,t,n,a)}}),d("normalize",function(e){return function(t,n){var a=e.call(this,t,n);return this.has(a)?a:a.match(O)?(this.defaultJSExtensions&&".js"!=a.substr(a.length-3,3)&&(a+=".js"),a):(a=s(this.paths,a)||a,this.defaultJSExtensions&&".js"!=a.substr(a.length-3,3)&&(a+=".js"),"."==a[0]||"/"==a[0]?new _(a,P).href:new _(a,v.call(this)).href)}}),function(){function e(e){for(var t in this.packages)if(e.substr(0,t.length)===t&&(e.length===t.length||"/"===e[t.length]))return t}function t(e,t){var n=e.packages[t];return n.env?e["import"](n.map["@env"]||"@system-env",t).then(function(a){var r={};for(var o in n)"map"!==o&"env"!==o&&(r[o]=n[o]);r.map={};for(var o in n.map)r.map[o]=n.map[o];for(var s in n.env)if(a[s]){var i=n.env[s];i.main&&(r.main=i.main);for(var l in i.map)r.map[l]=i.map[l]}return e.packages[t]=r,r}):Promise.resolve(n)}function n(e,t){var n,a=0;for(var r in e)if(t.substr(0,r.length)==r&&(t.length==r.length||"/"==t[r.length])){var o=r.split("/").length;if(a>=o)continue;n=r,a=o}return n?e[n]+t.substr(n.length):void 0}c(function(e){return function(){e.call(this),this.packages={}}}),l.prototype.normalizeSync=l.prototype.normalize,d("normalize",function(a){return function(r,o){if(o)var s=e.call(this,o)||this.defaultJSExtensions&&".js"==o.substr(o.length-3,3)&&e.call(this,o.substr(0,o.length-3));if(s&&"."!==r[0]){var i=this.packages[s].map;i&&(r=n(i,r)||r,"."===r[0]&&(o=s+"/"))}var l=this.defaultJSExtensions&&".js"!=r.substr(r.length-3,3),u=a.call(this,r,o);".js"!=u.substr(u.length-3,3)&&(l=!1),l&&(u=u.substr(0,u.length-3));var d=e.call(this,u),c=this;return d?t(this,d).then(function(e){if(d===u&&e.main&&(u+="/"+("./"==e.main.substr(0,2)?e.main.substr(2):e.main)),"/"==u.substr(d.length))return u;var t="";e.meta&&e.meta[u.substr(d.length+1)]||("defaultExtension"in e?e.defaultExtension!==!1&&-1==u.split("/").pop().lastIndexOf(".")&&(t="."+e.defaultExtension):l&&(t=".js"));var r="."+u.substr(d.length),o=n(e.map,r)||t&&n(e.map,r+t);return o?u="./"==o.substr(0,2)?d+o.substr(1):a.call(c,o):u+=t,u}):(l&&(u+=".js"),u)}}),d("locate",function(t){return function(n){var a=this;return Promise.resolve(t.call(this,n)).then(function(t){var r=e.call(a,n.name);if(r){var o=a.packages[r];if(o.format&&(n.metadata.format=n.metadata.format||o.format),o.loader&&(n.metadata.loader=n.metadata.loader||o.loader),o.meta){var s,i={},l=0;for(var u in o.meta)if(s=u.indexOf("*"),-1!==s&&u.substr(0,s)===n.name.substr(0,s)&&u.substr(s+1)===n.name.substr(n.name.length-u.length+s+1)){var d=u.split("/").length;d>l&&(bestDetph=d),p(i,o.meta[u],l!=d)}var c=o.meta[n.name.substr(r.length+1)];c&&p(i,c),i.alias&&"./"==i.alias.substr(0,2)&&(i.alias=r+i.alias.substr(1)),i.loader&&"./"==i.loader.substr(0,2)&&(i.loader=r+i.loader.substr(1)),p(n.metadata,i)}}return t})}})}(),function(){function e(e,t,n,a){var r,o=this;n&&-1!=(r=n.indexOf("!"))&&(n=n.substr(0,r));var s=t.lastIndexOf("!");if(-1!=s){var i=t.substr(0,s),l=t.substr(s+1)||i.substr(i.lastIndexOf(".")+1),u=o.defaultJSExtensions&&".js"!=i.substr(i.length-3,3);return a?(i=o.normalizeSync(i,n),l=o.normalizeSync(l,n),u&&".js"==i.substr(i.length-3,3)&&(i=i.substr(0,i.length-3)),i+"!"+l):Promise.all([o.normalize(i,n),o.normalize(l,n)]).then(function(e){return i=e[0],u&&".js"==i.substr(i.length-3,3)&&(i=i.substr(0,i.length-3)),i+"!"+e[1]})}return e.call(o,t,n)}d("normalize",function(t){return function(n,a){return e.call(this,t,n,a,!1)}}),d("normalizeSync",function(t){return function(n,a){return e.call(this,t,n,a,!0)}}),d("locate",function(e){return function(t){var n=this,a=t.name,r=a.lastIndexOf("!");return-1!=r&&(t.metadata.loader=a.substr(r+1),t.name=a.substr(0,r)),e.call(n,t).then(function(e){var r=t.metadata.loader;if(!r)return e;if(n.defined&&n.defined[a])return e;var o=n.pluginLoader||n;return o["import"](r).then(function(r){return t.metadata.loaderModule=r,t.metadata.loaderArgument=a,t.address=e,r.locate?r.locate.call(n,t):e})})}}),d("fetch",function(e){return function(t){var n=this;return t.metadata.loaderModule&&t.metadata.loaderModule.fetch?(t.metadata.scriptLoad=!1,t.metadata.loaderModule.fetch.call(n,t,function(t){return e.call(n,t)})):e.call(n,t)}}),d("translate",function(e){return function(t){var n=this;return t.metadata.loaderModule&&t.metadata.loaderModule.translate?Promise.resolve(t.metadata.loaderModule.translate.call(n,t)).then(function(a){return"string"==typeof a&&(t.source=a),e.call(n,t)}):e.call(n,t)}}),d("instantiate",function(e){return function(t){var n=this,a=t.metadata.sourceMap;if(a&&"object"==typeof a){var r=t.name.split("!")[0];a.file=r+"!transpiled",a.sources&&1!=a.sources.length||(a.sources=[r]),t.metadata.sourceMap=JSON.stringify(a)}return t.metadata.loaderModule&&t.metadata.loaderModule.instantiate?Promise.resolve(t.metadata.loaderModule.instantiate.call(n,t)).then(function(a){return t.metadata.format="defined",t.metadata.execute=function(){return a},e.call(n,t)}):e.call(n,t)}})}(),function(){d("fetch",function(e){return function(t){var n=t.metadata.alias,a=t.metadata.deps||[];return n?(t.metadata.format="defined",this.defined[t.name]={declarative:!0,deps:a.concat([n]),declare:function(e){return{setters:[function(t){for(var n in t)e(n,t[n])}],execute:function(){}}}},""):e.call(this,t)}})}(),function(){function e(e,t,n){for(var a,r=t.split(".");r.length>1;)a=r.shift(),e=e[a]=e[a]||{};a=r.shift(),a in e||(e[a]=n)}c(function(e){return function(){this.meta={},e.call(this)}}),d("locate",function(e){return function(t){var n,a=this.meta,r=t.name,o=0;for(var s in a)if(n=w.call(s,"*"),-1!==n&&s.substr(0,n)===r.substr(0,n)&&s.substr(n+1)===r.substr(r.length-s.length+n+1)){var i=s.split("/").length;i>o&&(bestDetph=i),p(t.metadata,a[s],o!=i)}return a[r]&&p(t.metadata,a[r]),e.call(this,t)}});var t=/^(\s*\/\*[^\*]*(\*(?!\/)[^\*]*)*\*\/|\s*\/\/[^\n]*|\s*"[^"]+"\s*;?|\s*'[^']+'\s*;?)+/,n=/\/\*[^\*]*(\*(?!\/)[^\*]*)*\*\/|\/\/[^\n]*|"[^"]+"\s*;?|'[^']+'\s*;?/g;d("translate",function(a){return function(r){var o=r.source.match(t);if(o)for(var s=o[0].match(n),i=0;i')}else if("undefined"!=typeof importScripts){var o="";try{throw new Error("_")}catch(n){n.stack.replace(/(?:at|@).*(http.+):[\d]+:[\d]+/,function(e,t){o=t.replace(/\/[^\/]*$/,"/")})}importScripts(o+"system-polyfills.js"),e()}else e()}(); +!function(){function e(){!function(e){function t(e,t){var n;if(e instanceof Error){var n=new Error(e.message,e.fileName,e.lineNumber);b?(n.message=e.message+"\n "+t,n.stack=e.stack):(n.message=e.message,n.stack=e.stack+"\n "+t)}else n=e+"\n "+t;return n}function n(e,n,a){try{new Function(e).call(a)}catch(r){throw t(r,"Evaluating "+n)}}function a(){}function r(t){this._loader={loaderObj:this,loads:[],modules:{},importPromises:{},moduleRecords:{}},x(this,"global",{get:function(){return e}})}function o(){r.call(this),this.paths={}}function s(e,t){var n,a="",r=0;for(var o in e){var s=o.split("*");if(s.length>2)throw new TypeError("Only one wildcard in a path is permitted");if(1==s.length){if(t==o){a=o;break}}else{var i=o.split("/").length;i>=r&&t.substr(0,s[0].length)==s[0]&&t.substr(t.length-s[1].length)==s[1]&&(r=i,a=o,n=t.substr(s[0].length,t.length-s[1].length-s[0].length))}}var l=e[a]||t;return n&&(l=l.replace("*",n)),l}function i(){}function l(){o.call(this),L.call(this)}function u(){}function d(e,t){l.prototype[e]=t(l.prototype[e])}function c(e){L=e(L||function(){})}function f(e){for(var t=[],n=[],a=0,r=e.length;r>a;a++){var o=w.call(t,e[a]);-1===o?(t.push(e[a]),n.push([a])):n[o].push(a)}return{names:t,indices:n}}function m(e,t,n){for(var a in t)n&&a in e||(e[a]=t[a]);return e}function p(e,t,n){for(var a in t){var r=t[a];a in e?r instanceof Array&&e[a]instanceof Array?e[a]=[].concat(n?r:e[a]).concat(n?e[a]:r):"object"==typeof r&&"object"==typeof e[a]?e[a]=m(m({},e[a]),r,n):n||(e[a]=r):e[a]=r}}function h(e,t){for(var n=e.split(".");n.length;)t=t[n.shift()];return t}function v(){if(T[this.baseURL])return T[this.baseURL];"/"!=this.baseURL[this.baseURL.length-1]&&(this.baseURL+="/");var e=new _(this.baseURL,S);return this.baseURL=e.href,T[this.baseURL]=e}var g="undefined"==typeof window&&"undefined"!=typeof self&&"undefined"!=typeof importScripts,b="undefined"!=typeof window&&"undefined"!=typeof document,y="undefined"!=typeof process&&!!process.platform.match(/^win/);e.console||(e.console={assert:function(){}});var x,w=Array.prototype.indexOf||function(e){for(var t=0,n=this.length;n>t;t++)if(this[t]===e)return t;return-1};!function(){try{Object.defineProperty({},"a",{})&&(x=Object.defineProperty)}catch(e){x=function(e,t,n){try{e[t]=n.value||n.get.call(e)}catch(a){}}}}();var S;if("undefined"!=typeof document&&document.getElementsByTagName){if(S=document.baseURI,!S){var E=document.getElementsByTagName("base");S=E[0]&&E[0].href||window.location.href}S=S.split("#")[0].split("?")[0],S=S.substr(0,S.lastIndexOf("/")+1)}else if("undefined"!=typeof process&&process.cwd)S="file://"+(y?"/":"")+process.cwd()+"/",y&&(S=S.replace(/\\/g,"/"));else{if("undefined"==typeof location)throw new TypeError("No environment baseURI");S=e.location.href}var _=e.URLPolyfill||e.URL;x(a.prototype,"toString",{value:function(){return"Module"}}),function(){function o(e){return{status:"loading",name:e,linkSets:[],dependencies:[],metadata:{}}}function s(e,t,n){return new Promise(c({step:n.address?"fetch":"locate",loader:e,moduleName:t,moduleMetadata:n&&n.metadata||{},moduleSource:n.source,moduleAddress:n.address}))}function i(e,t,n,a){return new Promise(function(r,o){r(e.loaderObj.normalize(t,n,a))}).then(function(t){var n;if(e.modules[t])return n=o(t),n.status="linked",n.module=e.modules[t],n;for(var a=0,r=e.loads.length;r>a;a++)if(n=e.loads[a],n.name==t)return n;return n=o(t),e.loads.push(n),l(e,n),n})}function l(e,t){u(e,t,Promise.resolve().then(function(){return e.loaderObj.locate({name:t.name,metadata:t.metadata})}))}function u(e,t,n){d(e,t,n.then(function(n){return"loading"==t.status?(t.address=n,e.loaderObj.fetch({name:t.name,metadata:t.metadata,address:n})):void 0}))}function d(t,a,r){r.then(function(r){return"loading"==a.status?Promise.resolve(t.loaderObj.translate({name:a.name,metadata:a.metadata,address:a.address,source:r})).then(function(e){return a.source=e,t.loaderObj.instantiate({name:a.name,metadata:a.metadata,address:a.address,source:e})}).then(function(r){if(void 0===r)return a.address=a.address||"",a.isDeclarative=!0,j.call(t.loaderObj,a).then(function(t){var r=e.System,o=r.register;r.register=function(e,t,n){"string"!=typeof e&&(n=t,t=e),a.declare=n,a.depsList=t},n(t,a.address,{}),r.register=o});if("object"!=typeof r)throw TypeError("Invalid instantiate return value");a.depsList=r.deps||[],a.execute=r.execute,a.isDeclarative=!1}).then(function(){a.dependencies=[];for(var e=a.depsList,n=[],r=0,o=e.length;o>r;r++)(function(e,r){n.push(i(t,e,a.name,a.address).then(function(t){if(a.dependencies[r]={key:e,value:t.name},"linked"!=t.status)for(var n=a.linkSets.concat([]),o=0,s=n.length;s>o;o++)m(n[o],t)}))})(e[r],r);return Promise.all(n)}).then(function(){a.status="loaded";for(var e=a.linkSets.concat([]),t=0,n=e.length;n>t;t++)h(e[t],a)}):void 0})["catch"](function(e){a.status="failed",a.exception=e;for(var t=a.linkSets.concat([]),n=0,r=t.length;r>n;n++)v(t[n],a,e)})}function c(e){return function(t,n){var a=e.loader,r=e.moduleName,s=e.step;if(a.modules[r])throw new TypeError('"'+r+'" already exists in the module table');for(var i,c=0,m=a.loads.length;m>c;c++)if(a.loads[c].name==r&&(i=a.loads[c],"translate"!=s||i.source||(i.address=e.moduleAddress,d(a,i,Promise.resolve(e.moduleSource))),i.linkSets.length))return i.linkSets[0].done.then(function(){t(i)});var p=i||o(r);p.metadata=e.moduleMetadata;var h=f(a,p);a.loads.push(p),t(h.done),"locate"==s?l(a,p):"fetch"==s?u(a,p,Promise.resolve(e.moduleAddress)):(p.address=e.moduleAddress,d(a,p,Promise.resolve(e.moduleSource)))}}function f(e,t){var n={loader:e,loads:[],startingLoad:t,loadingCount:0};return n.done=new Promise(function(e,t){n.resolve=e,n.reject=t}),m(n,t),n}function m(e,t){if("failed"!=t.status){for(var n=0,a=e.loads.length;a>n;n++)if(e.loads[n]==t)return;e.loads.push(t),t.linkSets.push(e),"loaded"!=t.status&&e.loadingCount++;for(var r=e.loader,n=0,a=t.dependencies.length;a>n;n++)if(t.dependencies[n]){var o=t.dependencies[n].value;if(!r.modules[o])for(var s=0,i=r.loads.length;i>s;s++)if(r.loads[s].name==o){m(e,r.loads[s]);break}}}}function p(e){var t=!1;try{S(e,function(n,a){v(e,n,a),t=!0})}catch(n){v(e,null,n),t=!0}return t}function h(e,t){if(e.loadingCount--,!(e.loadingCount>0)){var n=e.startingLoad;if(e.loader.loaderObj.execute===!1){for(var a=[].concat(e.loads),r=0,o=a.length;o>r;r++){var t=a[r];t.module=t.isDeclarative?{name:t.name,module:D({}),evaluated:!0}:{module:D({})},t.status="linked",g(e.loader,t)}return e.resolve(n)}var s=p(e);s||e.resolve(n)}}function v(e,n,a){var r=e.loader;e:if(n)if(e.loads[0].name==n.name)a=t(a,"Error loading "+n.name);else{for(var o=0;oo;o++){var n=u[o];r.loaderObj.failed=r.loaderObj.failed||[],-1==w.call(r.loaderObj.failed,n)&&r.loaderObj.failed.push(n);var c=w.call(n.linkSets,e);if(n.linkSets.splice(c,1),0==n.linkSets.length){var f=w.call(e.loader.loads,n);-1!=f&&e.loader.loads.splice(f,1)}}e.reject(a)}function g(e,t){if(e.loaderObj.trace){e.loaderObj.loads||(e.loaderObj.loads={});var n={};t.dependencies.forEach(function(e){n[e.key]=e.value}),e.loaderObj.loads[t.name]={name:t.name,deps:t.dependencies.map(function(e){return e.key}),depMap:n,address:t.address,metadata:t.metadata,source:t.source,kind:t.isDeclarative?"declarative":"dynamic"}}t.name&&(e.modules[t.name]=t.module);var a=w.call(e.loads,t);-1!=a&&e.loads.splice(a,1);for(var r=0,o=t.linkSets.length;o>r;r++)a=w.call(t.linkSets[r].loads,t),-1!=a&&t.linkSets[r].loads.splice(a,1);t.linkSets.splice(0,t.linkSets.length)}function b(e,t,n){try{var r=t.execute()}catch(o){return void n(t,o)}return r&&r instanceof a?r:void n(t,new TypeError("Execution must define a Module instance"))}function y(e,t,n){var a=e._loader.importPromises;return a[t]=n.then(function(e){return a[t]=void 0,e},function(e){throw a[t]=void 0,e})}function S(e,t){var n=e.loader;if(e.loads.length)for(var a=e.loads.concat([]),r=0;rs;s++)o.push(Promise.resolve(n.normalize(t.deps[s],e.name)));return Promise.all(o).then(function(r){return t.normalizedDeps=r,{deps:t.deps,execute:function(){return a(e.name,n),m(e.name,[],n),n.defined[e.name]=void 0,n.newModule(t.declarative?t.module.exports:t.esModule)}}})}})}(),function(){var t=/(^\s*|[}\);\n]\s*)(import\s+(['"]|(\*\s+as\s+)?[^"'\(\)\n;]+\s+from\s+['"]|\{)|export\s+\*\s+from\s+["']|export\s+(\{|default|function|class|var|const|let|async\s+function))/,n=/\$traceurRuntime\s*\./,a=/babelHelpers\s*\./;d("translate",function(r){return function(o){var s=this;return r.call(s,o).then(function(r){if("esm"==o.metadata.format||"es6"==o.metadata.format||!o.metadata.format&&r.match(t))return o.metadata.format="esm",s._loadedTranspiler=s._loadedTranspiler||!1,s.pluginLoader&&(s.pluginLoader._loadedTranspiler=s._loadedTranspiler||!1),k.call(s,o).then(function(e){return o.metadata.sourceMap=void 0,e});if(s._loadedTranspiler===!1&&o.name==s.normalizeSync(s.transpiler)&&(r.length>100&&(o.metadata.format=o.metadata.format||"global","traceur"===s.transpiler&&(o.metadata.exports="traceur"),"typescript"===s.transpiler&&(o.metadata.exports="ts")),s._loadedTranspiler=!0),s._loadedTranspilerRuntime===!1&&(o.name==s.normalizeSync("traceur-runtime")||o.name==s.normalizeSync("babel/external-helpers*"))&&(r.length>100&&(o.metadata.format=o.metadata.format||"global"),s._loadedTranspilerRuntime=!0),"register"==o.metadata.format&&s._loadedTranspilerRuntime!==!0){if(!e.$traceurRuntime&&o.source.match(n))return s._loadedTranspilerRuntime=s._loadedTranspilerRuntime||!1,s["import"]("traceur-runtime").then(function(){return r});if(!e.babelHelpers&&o.source.match(a))return s._loadedTranspilerRuntime=s._loadedTranspilerRuntime||!1,s["import"]("babel/external-helpers").then(function(){return r})}return r})}})}();var z="undefined"!=typeof self?"self":"global";d("onScriptLoad",function(t){return function(n){if("global"==n.metadata.format){n.metadata.registered=!0;var a=h(n.metadata.exports,e);n.metadata.execute=function(){return a}}return t.call(this,n)}}),d("fetch",function(e){return function(t){return t.metadata.exports&&(t.metadata.format="global"),"global"!=t.metadata.format||!t.metadata.exports||t.metadata.globals||t.metadata.deps&&0!=t.metadata.deps.length||(t.metadata.scriptLoad=!0),e.call(this,t)}}),d("instantiate",function(t){return function(n){var a=this;if(n.metadata.format||(n.metadata.format="global"),n.metadata.globals&&n.metadata.globals instanceof Array){for(var r={},o=0;o=i)continue;r=s,o=i}r&&(t=this.map[r]+t.substr(r.length))}return e.call(this,t,n,a)}}),d("normalize",function(e){return function(t,n){var a=e.call(this,t,n);return this.has(a)?a:(b&&(a=a.replace(/#/g,"%23")),a.match(O)?(this.defaultJSExtensions&&".js"!=a.substr(a.length-3,3)&&(a+=".js"),a):(a=s(this.paths,a)||a,this.defaultJSExtensions&&".js"!=a.substr(a.length-3,3)&&(a+=".js"),"."==a[0]||"/"==a[0]?new _(a,P).href:new _(a,v.call(this)).href))}}),function(){function e(e){for(var t in this.packages)if(e.substr(0,t.length)===t&&(e.length===t.length||"/"===e[t.length]))return t}function t(e,t){var n,a=0;for(var r in e)if(t.substr(0,r.length)==r&&(t.length==r.length||"/"==t[r.length])){var o=r.split("/").length;if(a>=o)continue;n=r,a=o}return n}function n(e,n,a,r){var o=t(a,r),s=a[o];return s?"object"==typeof s?e["import"](a["@env"]||"@system-env",n).then(function(e){for(var t in s){var n="~"==t[0],a=h(n?t.substr(1):t,e);if(!n&&a||n&&!a)return s[t]+r.substr(o.length)}}):s+r.substr(o.length):void 0}function a(a,r){return function(o,s){if(s)var i=e.call(this,s)||this.defaultJSExtensions&&".js"==s.substr(s.length-3,3)&&e.call(this,s.substr(0,s.length-3));if(i&&"."!==o[0]){var l=this.packages[i].map;if(l){var u=t(l,o);u&&(o=l[u]+o.substr(u.length),"."===o[0]&&(s=i+"/"))}}var d=this.defaultJSExtensions&&".js"!=o.substr(o.length-3,3),c=a.call(this,o,s);".js"!=c.substr(c.length-3,3)&&(d=!1),d&&(c=c.substr(0,c.length-3));var f=e.call(this,c),m=this;if(f){var p=m.packages[f];if(f===c&&p.main&&(c+="/"+("./"==p.main.substr(0,2)?p.main.substr(2):p.main)),"/"==c.substr(f.length))return c;var h="";if(p.meta&&p.meta[c.substr(f.length+1)]||("defaultExtension"in p?p.defaultExtension!==!1&&-1==c.split("/").pop().lastIndexOf(".")&&(h="."+p.defaultExtension):d&&(h=".js")),r||!p.map)return c+h;var v="."+c.substr(f.length);return Promise.resolve(n(m,f,p.map,v)).then(function(e){return e?e:h?n(m,f,p.map,v+h):void 0}).then(function(e){return e?c="./"==e.substr(0,2)?f+e.substr(1):a.call(m,e):c+=h,c})}return d&&(c+=".js"),c}}c(function(e){return function(){e.call(this),this.packages={}}}),l.prototype.normalizeSync=l.prototype.normalize,d("normalizeSync",function(e){return a(e,!0)}),d("normalize",function(e){return a(e,!1)}),d("locate",function(t){return function(n){var a=this;return Promise.resolve(t.call(this,n)).then(function(t){var r=e.call(a,n.name);if(r){var o=a.packages[r];if(o.format&&(n.metadata.format=n.metadata.format||o.format),o.loader&&(n.metadata.loader=n.metadata.loader||o.loader),o.meta){var s,i={},l=0;for(var u in o.meta)if(s=u.indexOf("*"),-1!==s&&u.substr(0,s)===n.name.substr(0,s)&&u.substr(s+1)===n.name.substr(n.name.length-u.length+s+1)){var d=u.split("/").length;d>l&&(bestDetph=d),p(i,o.meta[u],l!=d)}var c=o.meta[n.name.substr(r.length+1)];c&&p(i,c),i.alias&&"./"==i.alias.substr(0,2)&&(i.alias=r+i.alias.substr(1)),i.loader&&"./"==i.loader.substr(0,2)&&(i.loader=r+i.loader.substr(1)),p(n.metadata,i)}}return t})}})}(),function(){function e(e,t,n,a){var r,o=this;n&&-1!=(r=n.indexOf("!"))&&(n=n.substr(0,r));var s=t.lastIndexOf("!");if(-1!=s){var i=t.substr(0,s),l=t.substr(s+1)||i.substr(i.lastIndexOf(".")+1),u=o.defaultJSExtensions&&".js"!=i.substr(i.length-3,3);return a?(i=o.normalizeSync(i,n),l=o.normalizeSync(l,n),u&&".js"==i.substr(i.length-3,3)&&(i=i.substr(0,i.length-3)),i+"!"+l):Promise.all([o.normalize(i,n),o.normalize(l,n)]).then(function(e){return i=e[0],u&&".js"==i.substr(i.length-3,3)&&(i=i.substr(0,i.length-3)),i+"!"+e[1]})}return e.call(o,t,n)}d("normalize",function(t){return function(n,a){return e.call(this,t,n,a,!1)}}),d("normalizeSync",function(t){return function(n,a){return e.call(this,t,n,a,!0)}}),d("locate",function(e){return function(t){var n=this,a=t.name,r=a.lastIndexOf("!");return-1!=r&&(t.metadata.loader=a.substr(r+1),t.name=a.substr(0,r)),e.call(n,t).then(function(e){var r=t.metadata.loader;if(!r)return e;if(n.defined&&n.defined[a])return e;var o=n.pluginLoader||n;return o["import"](r).then(function(r){return t.metadata.loaderModule=r,t.metadata.loaderArgument=a,t.address=e,r.locate?r.locate.call(n,t):e})})}}),d("fetch",function(e){return function(t){var n=this;return t.metadata.loaderModule&&t.metadata.loaderModule.fetch?(t.metadata.scriptLoad=!1,t.metadata.loaderModule.fetch.call(n,t,function(t){return e.call(n,t)})):e.call(n,t)}}),d("translate",function(e){return function(t){var n=this;return t.metadata.loaderModule&&t.metadata.loaderModule.translate?Promise.resolve(t.metadata.loaderModule.translate.call(n,t)).then(function(a){return"string"==typeof a&&(t.source=a),e.call(n,t)}):e.call(n,t)}}),d("instantiate",function(e){return function(t){var n=this,a=t.metadata.sourceMap;if(a&&"object"==typeof a){var r=t.name.split("!")[0];a.file=r+"!transpiled",a.sources&&1!=a.sources.length||(a.sources=[r]),t.metadata.sourceMap=JSON.stringify(a)}return t.metadata.loaderModule&&t.metadata.loaderModule.instantiate?Promise.resolve(t.metadata.loaderModule.instantiate.call(n,t)).then(function(a){return t.metadata.format="defined",t.metadata.execute=function(){return a},e.call(n,t)}):e.call(n,t)}})}(),function(){d("fetch",function(e){return function(t){var n=t.metadata.alias,a=t.metadata.deps||[];return n?(t.metadata.format="defined",this.defined[t.name]={declarative:!0,deps:a.concat([n]),declare:function(e){return{setters:[function(t){for(var n in t)e(n,t[n])}],execute:function(){}}}},""):e.call(this,t)}})}(),function(){function e(e,t,n){for(var a,r=t.split(".");r.length>1;)a=r.shift(),e=e[a]=e[a]||{};a=r.shift(),a in e||(e[a]=n)}c(function(e){return function(){this.meta={},e.call(this)}}),d("locate",function(e){return function(t){var n,a=this.meta,r=t.name,o=0;for(var s in a)if(n=s.indexOf("*"),-1!==n&&s.substr(0,n)===r.substr(0,n)&&s.substr(n+1)===r.substr(r.length-s.length+n+1)){var i=s.split("/").length;i>o&&(bestDetph=i),p(t.metadata,a[s],o!=i)}return a[r]&&p(t.metadata,a[r]),e.call(this,t)}});var t=/^(\s*\/\*[^\*]*(\*(?!\/)[^\*]*)*\*\/|\s*\/\/[^\n]*|\s*"[^"]+"\s*;?|\s*'[^']+'\s*;?)+/,n=/\/\*[^\*]*(\*(?!\/)[^\*]*)*\*\/|\/\/[^\n]*|"[^"]+"\s*;?|'[^']+'\s*;?/g;d("translate",function(a){return function(r){var o=r.source.match(t);if(o)for(var s=o[0].match(n),i=0;i')}else if("undefined"!=typeof importScripts){var o="";try{throw new Error("_")}catch(n){n.stack.replace(/(?:at|@).*(http.+):[\d]+:[\d]+/,function(e,t){o=t.replace(/\/[^\/]*$/,"/")})}importScripts(o+"system-polyfills.js"),e()}else e()}(); //# sourceMappingURL=system.js.map diff --git a/dist/system.js.map b/dist/system.js.map index 7c852efd..9ef5cc26 100644 --- a/dist/system.js.map +++ b/dist/system.js.map @@ -1 +1 @@ -{"version":3,"sources":["system.src.js"],"names":["bootstrap","__global","addToError","err","msg","newErr","Error","message","fileName","lineNumber","isBrowser","stack","__eval","source","debugName","context","Function","call","e","Module","Loader","options","this","_loader","loaderObj","loads","modules","importPromises","moduleRecords","defineProperty","get","SystemLoader","paths","applyPaths","name","wildcard","pathMatch","maxSlashCount","p","pathParts","split","length","TypeError","slashCount","substr","outPath","replace","LoaderProto","SystemJSLoader","systemJSConstructor","SystemProto","hook","prototype","hookConstructor","group","deps","names","indices","i","l","index","indexOf","push","extend","a","b","prepend","extendMeta","val","Array","concat","readMemberExpression","value","pParts","shift","getBaseURLObj","baseURLCache","baseURL","URL","baseURI","href","isWorker","window","self","importScripts","document","isWindows","process","platform","match","console","assert","item","thisLen","Object","obj","prop","opt","getElementsByTagName","bases","location","lastIndexOf","cwd","URLPolyfill","createLoad","status","linkSets","dependencies","metadata","loadModule","loader","Promise","asyncStartLoadPartwayThrough","step","address","moduleName","moduleMetadata","moduleSource","moduleAddress","requestLoad","request","refererName","refererAddress","resolve","reject","normalize","then","load","module","proceedToLocate","proceedToFetch","locate","proceedToTranslate","fetch","translate","instantiate","instantiateResult","undefined","anonCnt","isDeclarative","transpile","transpiled","curSystem","System","curRegister","register","declare","depsList","execute","loadPromises","depLoad","key","addLoadToLinkSet","all","updateLinkSetOnLoad","exc","exception","linkSetFailed","stepState","existingLoad","done","linkSet","createLinkSet","startingLoad","loadingCount","j","d","doLink","error","link","_newModule","evaluated","finishLoad","abrupt","checkError","pLoad","dep","failed","linkIndex","splice","globalLoadsIndex","trace","depMap","forEach","map","kind","loadIndex","doDynamicExecute","linkError","createImportPromise","promise","m","evaluateLoadedModule","doEnsureEvaluated","constructor","define","delete","has","import","parentName","parentAddress","sourcePromise","newModule","pNames","getOwnPropertyNames","configurable","enumerable","preventExtensions","set","referrerName","referrerAddress","fetchTextFromURL","XMLHttpRequest","url","fulfill","xhr","responseText","statusText","sameDomain","doTimeout","domainCheck","exec","host","protocol","XDomainRequest","onload","onerror","ontimeout","onprogress","timeout","onreadystatechange","readyState","open","setRequestHeader","setTimeout","send","require","fs","readFile","data","dataString","__exec","transpiler","pluginLoader","__useDefault","transpileFunction","Compiler","traceurTranspile","createLanguageService","typescriptTranspile","babelTranspile","traceur","traceurOptions","script","sourceMaps","filename","inputSourceMap","sourceMap","compiler","doTraceurCompile","compile","babel","babelOptions","code","ast","transform","ts","typescriptOptions","target","ScriptTarget","ES5","inlineSourceMap","ModuleKind","preExec","postExec","getSource","lastLineIndex","hasBtoa","btoa","unescape","encodeURIComponent","chrome","extension","head","scripts","$__curScript","body","documentElement","createElement","text","_e","appendChild","removeChild","vmModule","vm","runInThisContext","toString","absURLRegEx","baseURIObj","systemImport","config","cfg","checkHasConfig","packages","meta","depCache","bundles","defaultJSExtensions","v","normalized","normalizeSync","pkgMatch","pkg","main","q","bundle","c","normalizeProp","webWorkerImport","onScriptLoad","registered","scriptLoad","complete","evt","s","cleanup","detachEvent","removeEventListener","async","attachEvent","addEventListener","src","doRegister","calledRegister","defined","anonRegister","buildGroups","entry","groups","groupIndex","normalizedDeps","depName","depEntry","depGroupIndex","declarative","startEntry","curGroupDeclarative","linkDeclarativeModule","linkDynamicModule","getOrCreateModuleRecord","exports","importers","declaration","locked","importerModule","importerIndex","setters","depExports","depModule","esModule","originalIndices","len","getModule","ensureEvaluated","id","executingRequire","output","__esModule","getOwnPropertyDescriptor","hasOwnProperty","seen","registerDynamic","apply","arguments","format","del","registerRegEx","grouped","normalizePromises","esmRegEx","traceurRuntimeRegEx","babelHelpersRegEx","_loadedTranspiler","_loadedTranspilerRuntime","$traceurRuntime","babelHelpers","__globalName","globalValue","globals","g","exportName","retrieveGlobal","prepareGlobal","cRequire","forEachGlobal","callback","keys","forEachGlobalValue","globalName","ignoredGlobalProps","globalSnapshot","oldGlobals","singleGlobal","multipleExports","getCJSDeps","cjsRequireRegEx","lastIndex","commentRegEx","cjsExportsRegEx","windowOrigin","hostname","port","_nodeRequire","metaDeps","dirname","pop","join","__cjsWrapper","args","requireIndex","params","fnBracketRegEx","requireAlias","wsRegEx","requireRegEx","requireRegExs","RegExp","cjsRequirePre","cjsRequirePost","errback","referer","dynamicRequires","factory","exportsIndex","moduleIndex","req","contextualRequire","depValues","uri","toUrl","defaultJSExtension","curRequire","lastModule","anonDefine","isBundle","createDefine","oldModule","oldExports","oldDefine","amd","amdDefine","amdRequire","amdRegEx","builder","builderExecute","removeDefine","bestMatch","bestMatchLength","curMatchLength","getPackage","getPackageConfig","pkgName","pkgConfig","env","envConfig","applyMap","parentPackage","parentMap","defaultExtension","subPath","mapped","wildcardIndex","bestDepth","depth","bestDetph","exactMeta","alias","normalizePlugin","sync","parentPluginIndex","pluginIndex","argumentName","pluginName","pluginSyntaxIndex","plugin","loaderModule","loaderArgument","result","originalName","file","sources","JSON","stringify","aliasDeps","_export","setMetaProperty","curPart","metaRegEx","metaPartRegEx","metaParts","firstChar","metaString","metaName","metaValue","loadFromBundle","loadedBundles_","conditionalRegEx","browser","conditionalMatch","substitution","conditionModule","conditionExport","conditionExportIndex","booleanNegation","conditionValue","Reflect","global","LoaderPolyfill","hasURL","curPath","basePath","systemJSBootstrap","write"],"mappings":"CAGA,WACA,QAASA,MAAa,SAAUC,GAmC9B,QAASC,GAAWC,EAAKC,GACvB,GAAIC,EACJ,IAAIF,YAAeG,OAAO,CACxB,GAAID,GAAS,GAAIC,OAAMH,EAAII,QAASJ,EAAIK,SAAUL,EAAIM,WAClDC,IACFL,EAAOE,QAAUJ,EAAII,QAAU,MAASH,EACxCC,EAAOM,MAAQR,EAAIQ,QAInBN,EAAOE,QAAUJ,EAAII,QACrBF,EAAOM,MAAQR,EAAIQ,MAAQ,MAASP,OAItCC,GAASF,EAAM,MAASC,CAG1B,OAAOC,GAGT,QAASO,GAAOC,EAAQC,EAAWC,GACjC,IACE,GAAIC,UAASH,GAAQI,KAAKF,GAE5B,MAAMG,GACJ,KAAMhB,GAAWgB,EAAG,cAAgBJ,IAmD1C,QAASK,MAOT,QAASC,GAAOC,GACdC,KAAKC,SACHC,UAAWF,KACXG,SACAC,WACAC,kBACAC,kBAIFC,EAAeP,KAAM,UACnBQ,IAAK,WACH,MAAO7B,MAizBb,QAAS8B,KACPX,EAAOH,KAAKK,MACZA,KAAKU,SAIP,QAASC,GAAWD,EAAOE,GAEzB,GAAoBC,GAAhBC,EAAY,GAAcC,EAAgB,CAG9C,KAAK,GAAIC,KAAKN,GAAO,CACnB,GAAIO,GAAYD,EAAEE,MAAM,IACxB,IAAID,EAAUE,OAAS,EACrB,KAAM,IAAIC,WAAU,2CAGtB,IAAwB,GAApBH,EAAUE,QACZ,GAAIP,GAAQI,EAAG,CACbF,EAAYE,CACZ,YAIC,CACH,GAAIK,GAAaL,EAAEE,MAAM,KAAKC,MAC1BE,IAAcN,GACdH,EAAKU,OAAO,EAAGL,EAAU,GAAGE,SAAWF,EAAU,IACjDL,EAAKU,OAAOV,EAAKO,OAASF,EAAU,GAAGE,SAAWF,EAAU,KAC1DF,EAAgBM,EAChBP,EAAYE,EACZH,EAAWD,EAAKU,OAAOL,EAAU,GAAGE,OAAQP,EAAKO,OAASF,EAAU,GAAGE,OAASF,EAAU,GAAGE,UAKvG,GAAII,GAAUb,EAAMI,IAAcF,CAIlC,OAHIC,KACFU,EAAUA,EAAQC,QAAQ,IAAKX,IAE1BU,EAIT,QAASE,MA4QT,QAASC,KACPjB,EAAad,KAAKK,MAElB2B,EAAoBhC,KAAKK,MAI3B,QAAS4B,MAMT,QAASC,GAAKjB,EAAMiB,GAClBH,EAAeI,UAAUlB,GAAQiB,EAAKH,EAAeI,UAAUlB,IAEjE,QAASmB,GAAgBF,GACvBF,EAAsBE,EAAKF,GAAuB,cAWpD,QAASK,GAAMC,GAGb,IAAK,GAFDC,MACAC,KACKC,EAAI,EAAGC,EAAIJ,EAAKd,OAAYkB,EAAJD,EAAOA,IAAK,CAC3C,GAAIE,GAAQC,EAAQ5C,KAAKuC,EAAOD,EAAKG,GACvB,MAAVE,GACFJ,EAAMM,KAAKP,EAAKG,IAChBD,EAAQK,MAAMJ,KAGdD,EAAQG,GAAOE,KAAKJ,GAGxB,OAASF,MAAOA,EAAOC,QAASA,GAGlC,QAASM,GAAOC,EAAGC,EAAGC,GACpB,IAAK,GAAI5B,KAAK2B,GACPC,GAAa5B,IAAK0B,KACrBA,EAAE1B,GAAK2B,EAAE3B,GAEb,OAAO0B,GAOT,QAASG,GAAWH,EAAGC,EAAGC,GACxB,IAAK,GAAI5B,KAAK2B,GAAG,CACf,GAAIG,GAAMH,EAAE3B,EACNA,KAAK0B,GAEFI,YAAeC,QAASL,EAAE1B,YAAc+B,OAC/CL,EAAE1B,MAAQgC,OAAOJ,EAAUE,EAAMJ,EAAE1B,IAAIgC,OAAOJ,EAAUF,EAAE1B,GAAK8B,GAC1C,gBAAPA,IAAkC,gBAARJ,GAAE1B,GAC1C0B,EAAE1B,GAAKyB,EAAOA,KAAWC,EAAE1B,IAAK8B,EAAKF,GAC7BA,IACRF,EAAE1B,GAAK8B,GANPJ,EAAE1B,GAAK8B,GAUb,QAASG,GAAqBjC,EAAGkC,GAE/B,IADA,GAAIC,GAASnC,EAAEE,MAAM,KACdiC,EAAOhC,QACZ+B,EAAQA,EAAMC,EAAOC,QACvB,OAAOF,GAIT,QAASG,KACP,GAAIC,EAAatD,KAAKuD,SACpB,MAAOD,GAAatD,KAAKuD,QAGkB,MAAzCvD,KAAKuD,QAAQvD,KAAKuD,QAAQpC,OAAS,KACrCnB,KAAKuD,SAAW,IAElB,IAAIA,GAAU,GAAIC,GAAIxD,KAAKuD,QAASE,EAIpC,OAFAzD,MAAKuD,QAAUA,EAAQG,KAEfJ,EAAatD,KAAKuD,SAAWA,EAp0CrC,GAAII,GAA4B,mBAAVC,SAAwC,mBAARC,OAA+C,mBAAjBC,eAChF1E,EAA6B,mBAAVwE,SAA4C,mBAAZG,UACnDC,EAA8B,mBAAXC,YAA4BA,QAAQC,SAASC,MAAM,OAErExF,GAASyF,UACZzF,EAASyF,SAAYC,OAAQ,cAG/B,IASI9D,GATAgC,EAAUQ,MAAMjB,UAAUS,SAAW,SAAS+B,GAChD,IAAK,GAAIlC,GAAI,EAAGmC,EAAUvE,KAAKmB,OAAYoD,EAAJnC,EAAaA,IAClD,GAAIpC,KAAKoC,KAAOkC,EACd,MAAOlC,EAGX,OAAO,KAIT,WACE,IACQoC,OAAOjE,kBAAmB,UAC9BA,EAAiBiE,OAAOjE,gBAE5B,MAAOX,GACLW,EAAiB,SAASkE,EAAKC,EAAMC,GACnC,IACEF,EAAIC,GAAQC,EAAIzB,OAASyB,EAAInE,IAAIb,KAAK8E,GAExC,MAAM7E,SAmCZ,IAAI6D,EAEJ,IAAuB,mBAAZM,WAA2BA,SAASa,qBAAsB,CAGnE,GAFAnB,EAAUM,SAASN,SAEdA,EAAS,CACZ,GAAIoB,GAAQd,SAASa,qBAAqB,OAC1CnB,GAAUoB,EAAM,IAAMA,EAAM,GAAGnB,MAAQE,OAAOkB,SAASpB,KAIzDD,EAAUA,EAAQvC,MAAM,KAAK,GAAGA,MAAM,KAAK,GAC3CuC,EAAUA,EAAQnC,OAAO,EAAGmC,EAAQsB,YAAY,KAAO,OAEpD,IAAsB,mBAAXd,UAA0BA,QAAQe,IAChDvB,EAAU,WAAaO,EAAY,IAAM,IAAMC,QAAQe,MAAQ,IAC3DhB,IACFP,EAAUA,EAAQjC,QAAQ,MAAO,UAEhC,CAAA,GAAuB,mBAAZsD,UAId,KAAM,IAAI1D,WAAU,yBAHpBqC,GAAU9E,EAASmG,SAASpB,KAM9B,GAAIF,GAAM7E,EAASsG,aAAetG,EAAS6E,GAuB7CjD,GAAeV,EAAOiC,UAAW,YAC/BoB,MAAO,WACL,MAAO,YAsBX,WAoGE,QAASgC,GAAWtE,GAClB,OACEuE,OAAQ,UACRvE,KAAMA,EACNwE,YACAC,gBACAC,aASJ,QAASC,GAAWC,EAAQ5E,EAAMb,GAChC,MAAO,IAAI0F,SAAQC,GACjBC,KAAM5F,EAAQ6F,QAAU,QAAU,SAClCJ,OAAQA,EACRK,WAAYjF,EAEZkF,eAAgB/F,GAAWA,EAAQuF,aACnCS,aAAchG,EAAQR,OACtByG,cAAejG,EAAQ6F,WAK3B,QAASK,GAAYT,EAAQU,EAASC,EAAaC,GAEjD,MAAO,IAAIX,SAAQ,SAASY,EAASC,GACnCD,EAAQb,EAAOtF,UAAUqG,UAAUL,EAASC,EAAaC,MAG1DI,KAAK,SAAS5F,GACb,GAAI6F,EACJ,IAAIjB,EAAOpF,QAAQQ,GAKjB,MAJA6F,GAAOvB,EAAWtE,GAClB6F,EAAKtB,OAAS,SAEdsB,EAAKC,OAASlB,EAAOpF,QAAQQ,GACtB6F,CAGT,KAAK,GAAIrE,GAAI,EAAGC,EAAImD,EAAOrF,MAAMgB,OAAYkB,EAAJD,EAAOA,IAE9C,GADAqE,EAAOjB,EAAOrF,MAAMiC,GAChBqE,EAAK7F,MAAQA,EAGjB,MAAO6F,EAQT,OALAA,GAAOvB,EAAWtE,GAClB4E,EAAOrF,MAAMqC,KAAKiE,GAElBE,EAAgBnB,EAAQiB,GAEjBA,IAKX,QAASE,GAAgBnB,EAAQiB,GAC/BG,EAAepB,EAAQiB,EACrBhB,QAAQY,UAEPG,KAAK,WACJ,MAAOhB,GAAOtF,UAAU2G,QAASjG,KAAM6F,EAAK7F,KAAM0E,SAAUmB,EAAKnB,cAMvE,QAASsB,GAAepB,EAAQiB,EAAMzF,GACpC8F,EAAmBtB,EAAQiB,EACzBzF,EAECwF,KAAK,SAASZ,GAEb,MAAmB,WAAfa,EAAKtB,QAETsB,EAAKb,QAAUA,EAERJ,EAAOtF,UAAU6G,OAAQnG,KAAM6F,EAAK7F,KAAM0E,SAAUmB,EAAKnB,SAAUM,QAASA,KAJnF,UAYN,QAASkB,GAAmBtB,EAAQiB,EAAMzF,GACxCA,EAECwF,KAAK,SAASjH,GACb,MAAmB,WAAfkH,EAAKtB,OAGFM,QAAQY,QAAQb,EAAOtF,UAAU8G,WAAYpG,KAAM6F,EAAK7F,KAAM0E,SAAUmB,EAAKnB,SAAUM,QAASa,EAAKb,QAASrG,OAAQA,KAG5HiH,KAAK,SAASjH,GAEb,MADAkH,GAAKlH,OAASA,EACPiG,EAAOtF,UAAU+G,aAAcrG,KAAM6F,EAAK7F,KAAM0E,SAAUmB,EAAKnB,SAAUM,QAASa,EAAKb,QAASrG,OAAQA,MAIhHiH,KAAK,SAASU,GACb,GAA0BC,SAAtBD,EAKF,MAJAT,GAAKb,QAAUa,EAAKb,SAAW,wBAAyBwB,EAAU,IAGlEX,EAAKY,eAAgB,EACdC,EAAU3H,KAAK6F,EAAOtF,UAAWuG,GACvCD,KAAK,SAASe,GAEb,GAAIC,GAAY7I,EAAS8I,OACrBC,EAAcF,EAAUG,QAC5BH,GAAUG,SAAW,SAAS/G,EAAMqB,EAAM2F,GACrB,gBAARhH,KACTgH,EAAU3F,EACVA,EAAOrB,GAIT6F,EAAKmB,QAAUA,EACfnB,EAAKoB,SAAW5F,GAGlB3C,EAAOiI,EAAYd,EAAKb,YACxB4B,EAAUG,SAAWD,GAGpB,IAAgC,gBAArBR,GAMd,KAAM9F,WAAU,mCALhBqF,GAAKoB,SAAWX,EAAkBjF,SAClCwE,EAAKqB,QAAUZ,EAAkBY,QACjCrB,EAAKY,eAAgB,IAMxBb,KAAK,WACJC,EAAKpB,eAIL,KAAK,GAHDwC,GAAWpB,EAAKoB,SAEhBE,KACK3F,EAAI,EAAGC,EAAIwF,EAAS1G,OAAYkB,EAAJD,EAAOA,KAAK,SAAU8D,EAAS5D,GAClEyF,EAAavF,KACXyD,EAAYT,EAAQU,EAASO,EAAK7F,KAAM6F,EAAKb,SAG5CY,KAAK,SAASwB,GASb,GALAvB,EAAKpB,aAAa/C,IAChB2F,IAAK/B,EACLhD,MAAO8E,EAAQpH,MAGK,UAAlBoH,EAAQ7C,OAEV,IAAK,GADDC,GAAWqB,EAAKrB,SAASpC,WACpBZ,EAAI,EAAGC,EAAI+C,EAASjE,OAAYkB,EAAJD,EAAOA,IAC1C8F,EAAiB9C,EAAShD,GAAI4F,QAOrCH,EAASzF,GAAIA,EAEhB,OAAOqD,SAAQ0C,IAAIJ,KAIpBvB,KAAK,WAMJC,EAAKtB,OAAS,QAGd,KAAK,GADDC,GAAWqB,EAAKrB,SAASpC,WACpBZ,EAAI,EAAGC,EAAI+C,EAASjE,OAAYkB,EAAJD,EAAOA,IAC1CgG,EAAoBhD,EAAShD,GAAIqE,KA5FrC,SAgGD,SAAS,SAAS4B,GACjB5B,EAAKtB,OAAS,SACdsB,EAAK6B,UAAYD,CAGjB,KAAK,GADDjD,GAAWqB,EAAKrB,SAASpC,WACpBZ,EAAI,EAAGC,EAAI+C,EAASjE,OAAYkB,EAAJD,EAAOA,IAC1CmG,EAAcnD,EAAShD,GAAIqE,EAAM4B,KAUvC,QAAS3C,GAA6B8C,GACpC,MAAO,UAASnC,EAASC,GACvB,GAAId,GAASgD,EAAUhD,OACnB5E,EAAO4H,EAAU3C,WACjBF,EAAO6C,EAAU7C,IAErB,IAAIH,EAAOpF,QAAQQ,GACjB,KAAM,IAAIQ,WAAU,IAAMR,EAAO,uCAInC,KAAK,GADD6H,GACKrG,EAAI,EAAGC,EAAImD,EAAOrF,MAAMgB,OAAYkB,EAAJD,EAAOA,IAC9C,GAAIoD,EAAOrF,MAAMiC,GAAGxB,MAAQA,IAC1B6H,EAAejD,EAAOrF,MAAMiC,GAEjB,aAARuD,GAAwB8C,EAAalJ,SACtCkJ,EAAa7C,QAAU4C,EAAUxC,cACjCc,EAAmBtB,EAAQiD,EAAchD,QAAQY,QAAQmC,EAAUzC,gBAIjE0C,EAAarD,SAASjE,QACxB,MAAOsH,GAAarD,SAAS,GAAGsD,KAAKlC,KAAK,WACxCH,EAAQoC,IAKhB,IAAIhC,GAAOgC,GAAgBvD,EAAWtE,EAEtC6F,GAAKnB,SAAWkD,EAAU1C,cAE1B,IAAI6C,GAAUC,EAAcpD,EAAQiB,EAEpCjB,GAAOrF,MAAMqC,KAAKiE,GAElBJ,EAAQsC,EAAQD,MAEJ,UAAR/C,EACFgB,EAAgBnB,EAAQiB,GAET,SAARd,EACPiB,EAAepB,EAAQiB,EAAMhB,QAAQY,QAAQmC,EAAUxC,iBAIvDS,EAAKb,QAAU4C,EAAUxC,cACzBc,EAAmBtB,EAAQiB,EAAMhB,QAAQY,QAAQmC,EAAUzC,iBAWjE,QAAS6C,GAAcpD,EAAQqD,GAC7B,GAAIF,IACFnD,OAAQA,EACRrF,SACA0I,aAAcA,EACdC,aAAc,EAOhB,OALAH,GAAQD,KAAO,GAAIjD,SAAQ,SAASY,EAASC,GAC3CqC,EAAQtC,QAAUA,EAClBsC,EAAQrC,OAASA,IAEnB4B,EAAiBS,EAASE,GACnBF,EAGT,QAAST,GAAiBS,EAASlC,GACjC,GAAmB,UAAfA,EAAKtB,OAAT,CAKA,IAAK,GAAI/C,GAAI,EAAGC,EAAIsG,EAAQxI,MAAMgB,OAAYkB,EAAJD,EAAOA,IAC/C,GAAIuG,EAAQxI,MAAMiC,IAAMqE,EACtB,MAEJkC,GAAQxI,MAAMqC,KAAKiE,GACnBA,EAAKrB,SAAS5C,KAAKmG,GAGA,UAAflC,EAAKtB,QACPwD,EAAQG,cAKV,KAAK,GAFDtD,GAASmD,EAAQnD,OAEZpD,EAAI,EAAGC,EAAIoE,EAAKpB,aAAalE,OAAYkB,EAAJD,EAAOA,IACnD,GAAKqE,EAAKpB,aAAajD,GAAvB,CAGA,GAAIxB,GAAO6F,EAAKpB,aAAajD,GAAGc,KAEhC,KAAIsC,EAAOpF,QAAQQ,GAGnB,IAAK,GAAImI,GAAI,EAAGC,EAAIxD,EAAOrF,MAAMgB,OAAY6H,EAAJD,EAAOA,IAC9C,GAAIvD,EAAOrF,MAAM4I,GAAGnI,MAAQA,EAA5B,CAGAsH,EAAiBS,EAASnD,EAAOrF,MAAM4I,GACvC,UASN,QAASE,GAAON,GACd,GAAIO,IAAQ,CACZ,KACEC,EAAKR,EAAS,SAASlC,EAAM4B,GAC3BE,EAAcI,EAASlC,EAAM4B,GAC7Ba,GAAQ,IAGZ,MAAMtJ,GACJ2I,EAAcI,EAAS,KAAM/I,GAC7BsJ,GAAQ,EAEV,MAAOA,GAIT,QAASd,GAAoBO,EAASlC,GAQpC,GAFAkC,EAAQG,iBAEJH,EAAQG,aAAe,GAA3B,CAIA,GAAID,GAAeF,EAAQE,YAK3B,IAAIF,EAAQnD,OAAOtF,UAAU4H,WAAY,EAAO,CAE9C,IAAK,GADD3H,MAAW6C,OAAO2F,EAAQxI,OACrBiC,EAAI,EAAGC,EAAIlC,EAAMgB,OAAYkB,EAAJD,EAAOA,IAAK,CAC5C,GAAIqE,GAAOtG,EAAMiC,EACjBqE,GAAKC,OAAUD,EAAKY,eAGlBzG,KAAM6F,EAAK7F,KACX8F,OAAQ0C,MACRC,WAAW,IAJX3C,OAAQ0C,OAMV3C,EAAKtB,OAAS,SACdmE,EAAWX,EAAQnD,OAAQiB,GAE7B,MAAOkC,GAAQtC,QAAQwC,GAIzB,GAAIU,GAASN,EAAON,EAEhBY,IAKJZ,EAAQtC,QAAQwC,IAIlB,QAASN,GAAcI,EAASlC,EAAM4B,GACpC,GAAI7C,GAASmD,EAAQnD,MAGrBgE,GACA,GAAI/C,EACF,GAAIkC,EAAQxI,MAAM,GAAGS,MAAQ6F,EAAK7F,KAChCyH,EAAMzJ,EAAWyJ,EAAK,iBAAmB5B,EAAK7F,UAE3C,CACH,IAAK,GAAIwB,GAAI,EAAGA,EAAIuG,EAAQxI,MAAMgB,OAAQiB,IAExC,IAAK,GADDqH,GAAQd,EAAQxI,MAAMiC,GACjB2G,EAAI,EAAGA,EAAIU,EAAMpE,aAAalE,OAAQ4H,IAAK,CAClD,GAAIW,GAAMD,EAAMpE,aAAa0D,EAC7B,IAAIW,EAAIxG,OAASuD,EAAK7F,KAAM,CAC1ByH,EAAMzJ,EAAWyJ,EAAK,iBAAmB5B,EAAK7F,KAAO,QAAU8I,EAAIzB,IAAM,UAAYwB,EAAM7I,KAC3F,MAAM4I,IAIZnB,EAAMzJ,EAAWyJ,EAAK,iBAAmB5B,EAAK7F,KAAO,SAAW+H,EAAQxI,MAAM,GAAGS,UAInFyH,GAAMzJ,EAAWyJ,EAAK,iBAAmBM,EAAQxI,MAAM,GAAGS,KAK5D,KAAK,GADDT,GAAQwI,EAAQxI,MAAM6C,WACjBZ,EAAI,EAAGC,EAAIlC,EAAMgB,OAAYkB,EAAJD,EAAOA,IAAK,CAC5C,GAAIqE,GAAOtG,EAAMiC,EAGjBoD,GAAOtF,UAAUyJ,OAASnE,EAAOtF,UAAUyJ,WACQ,IAA/CpH,EAAQ5C,KAAK6F,EAAOtF,UAAUyJ,OAAQlD,IACxCjB,EAAOtF,UAAUyJ,OAAOnH,KAAKiE,EAE/B,IAAImD,GAAYrH,EAAQ5C,KAAK8G,EAAKrB,SAAUuD,EAG5C,IADAlC,EAAKrB,SAASyE,OAAOD,EAAW,GACJ,GAAxBnD,EAAKrB,SAASjE,OAAa,CAC7B,GAAI2I,GAAmBvH,EAAQ5C,KAAKgJ,EAAQnD,OAAOrF,MAAOsG,EAClC,KAApBqD,GACFnB,EAAQnD,OAAOrF,MAAM0J,OAAOC,EAAkB,IAGpDnB,EAAQrC,OAAO+B,GAIjB,QAASiB,GAAW9D,EAAQiB,GAE1B,GAAIjB,EAAOtF,UAAU6J,MAAO,CACrBvE,EAAOtF,UAAUC,QACpBqF,EAAOtF,UAAUC,SACnB,IAAI6J,KACJvD,GAAKpB,aAAa4E,QAAQ,SAASP,GACjCM,EAAON,EAAIzB,KAAOyB,EAAIxG,QAExBsC,EAAOtF,UAAUC,MAAMsG,EAAK7F,OAC1BA,KAAM6F,EAAK7F,KACXqB,KAAMwE,EAAKpB,aAAa6E,IAAI,SAASR,GAAM,MAAOA,GAAIzB,MACtD+B,OAAQA,EACRpE,QAASa,EAAKb,QACdN,SAAUmB,EAAKnB,SACf/F,OAAQkH,EAAKlH,OACb4K,KAAM1D,EAAKY,cAAgB,cAAgB,WAI3CZ,EAAK7F,OAEP4E,EAAOpF,QAAQqG,EAAK7F,MAAQ6F,EAAKC,OAEnC,IAAI0D,GAAY7H,EAAQ5C,KAAK6F,EAAOrF,MAAOsG,EAC1B,KAAb2D,GACF5E,EAAOrF,MAAM0J,OAAOO,EAAW,EACjC,KAAK,GAAIhI,GAAI,EAAGC,EAAIoE,EAAKrB,SAASjE,OAAYkB,EAAJD,EAAOA,IAC/CgI,EAAY7H,EAAQ5C,KAAK8G,EAAKrB,SAAShD,GAAGjC,MAAOsG,GAChC,IAAb2D,GACF3D,EAAKrB,SAAShD,GAAGjC,MAAM0J,OAAOO,EAAW,EAE7C3D,GAAKrB,SAASyE,OAAO,EAAGpD,EAAKrB,SAASjE,QAGxC,QAASkJ,GAAiB1B,EAASlC,EAAM6D,GACvC,IACE,GAAI5D,GAASD,EAAKqB,UAEpB,MAAMlI,GAEJ,WADA0K,GAAU7D,EAAM7G,GAGlB,MAAK8G,IAAYA,YAAkB7G,GAG1B6G,MAFP4D,GAAU7D,EAAM,GAAIrF,WAAU,4CAWlC,QAASmJ,GAAoB/E,EAAQ5E,EAAM4J,GACzC,GAAInK,GAAiBmF,EAAOvF,QAAQI,cACpC,OAAOA,GAAeO,GAAQ4J,EAAQhE,KAAK,SAASiE,GAElD,MADApK,GAAeO,GAAQuG,OAChBsD,GACN,SAAS7K,GAEV,KADAS,GAAeO,GAAQuG,OACjBvH,IAoKV,QAASuJ,GAAKR,EAAS2B,GAErB,GAAI9E,GAASmD,EAAQnD,MAErB,IAAKmD,EAAQxI,MAAMgB,OAKnB,IAAK,GAFDhB,GAAQwI,EAAQxI,MAAM6C,WAEjBZ,EAAI,EAAGA,EAAIjC,EAAMgB,OAAQiB,IAAK,CACrC,GAAIqE,GAAOtG,EAAMiC,GAEbsE,EAAS2D,EAAiB1B,EAASlC,EAAM6D,EAC7C,KAAK5D,EACH,MACFD,GAAKC,QACH9F,KAAM6F,EAAK7F,KACX8F,OAAQA,GAEVD,EAAKtB,OAAS,SAEdmE,EAAW9D,EAAQiB,IAIvB,QAASiE,GAAqBlF,EAAQiB,GAEpC,MAAOA,GAAKC,OAAOA,OAGrB,QAASiE,MAET,QAASrD,KACP,KAAM,IAAIlG,WAAU,sEA9lBtB,GAAIgG,GAAU,CA6ZdtH,GAAOgC,WAEL8I,YAAa9K,EAEb+K,OAAQ,SAASjK,EAAMrB,EAAQQ,GAE7B,GAAIC,KAAKC,QAAQI,eAAeO,GAC9B,KAAM,IAAIQ,WAAU,6BACtB,OAAOmJ,GAAoBvK,KAAMY,EAAM,GAAI6E,SAAQC,GACjDC,KAAM,YACNH,OAAQxF,KAAKC,QACb4F,WAAYjF,EACZkF,eAAgB/F,GAAWA,EAAQuF,aACnCS,aAAcxG,EACdyG,cAAejG,GAAWA,EAAQ6F,aAItCkF,SAAU,SAASlK,GACjB,GAAI4E,GAASxF,KAAKC,OAGlB,cAFOuF,GAAOnF,eAAeO,SACtB4E,GAAOlF,cAAcM,GACrB4E,EAAOpF,QAAQQ,SAAe4E,GAAOpF,QAAQQ,IAAQ,GAI9DJ,IAAK,SAASyH,GACZ,MAAKjI,MAAKC,QAAQG,QAAQ6H,IAE1B0C,EAAkB3K,KAAKC,QAAQG,QAAQ6H,MAAUjI,MAC1CA,KAAKC,QAAQG,QAAQ6H,GAAKvB,QAHjC,QAMFqE,IAAK,SAASnK,GACZ,QAASZ,KAAKC,QAAQG,QAAQQ,IAGhCoK,SAAU,SAASpK,EAAMqK,EAAYC,GACV,gBAAdD,KACTA,EAAaA,EAAWrK,KAG1B,IAAIV,GAAYF,IAGhB,OAAOyF,SAAQY,QAAQnG,EAAUqG,UAAU3F,EAAMqK,IAChDzE,KAAK,SAAS5F,GACb,GAAI4E,GAAStF,EAAUD,OAEvB,OAAIuF,GAAOpF,QAAQQ,IACjB+J,EAAkBnF,EAAOpF,QAAQQ,MAAW4E,EAAOvF,SAC5CuF,EAAOpF,QAAQQ,GAAM8F,QAGvBlB,EAAOnF,eAAeO,IAAS2J,EAAoBrK,EAAWU,EACnE2E,EAAWC,EAAQ5E,MAClB4F,KAAK,SAASC,GAEb,aADOjB,GAAOnF,eAAeO,GACtB8J,EAAqBlF,EAAQiB,SAM5CA,KAAM,SAAS7F,EAAMb,GACnB,GAAIyF,GAASxF,KAAKC,OAClB,OAAIuF,GAAOpF,QAAQQ,IACjB+J,EAAkBnF,EAAOpF,QAAQQ,MAAW4E,GACrCC,QAAQY,QAAQb,EAAOpF,QAAQQ,GAAM8F,SAEvClB,EAAOnF,eAAeO,IAAS2J,EAAoBvK,KAAMY,EAC9D2E,EAAWC,EAAQ5E,MAClB4F,KAAK,SAASC,GAEb,aADOjB,GAAOnF,eAAeO,GACtB8J,EAAqBlF,EAAQiB,OAI1CC,OAAQ,SAASnH,EAAQQ,GACvB,GAAI0G,GAAOvB,GACXuB,GAAKb,QAAU7F,GAAWA,EAAQ6F,OAClC,IAAI+C,GAAUC,EAAc5I,KAAKC,QAASwG,GACtC0E,EAAgB1F,QAAQY,QAAQ9G,GAChCiG,EAASxF,KAAKC,QACde,EAAI2H,EAAQD,KAAKlC,KAAK,WACxB,MAAOkE,GAAqBlF,EAAQiB,IAGtC,OADAK,GAAmBtB,EAAQiB,EAAM0E,GAC1BnK,GAGToK,UAAW,SAAU3G,GACnB,GAAkB,gBAAPA,GACT,KAAM,IAAIrD,WAAU,kBAItB,IAEIiK,GAFAZ,EAAI,GAAI5K,EAGZ,IAAI2E,OAAO8G,qBAA8B,MAAP7G,EAChC4G,EAAS7G,OAAO8G,oBAAoB7G,OAEjC,CACH4G,IACA,KAAK,GAAIpD,KAAOxD,GACd4G,EAAO7I,KAAKyF,GAGhB,IAAK,GAAI7F,GAAI,EAAGA,EAAIiJ,EAAOlK,OAAQiB,KAAK,SAAU6F,GAChD1H,EAAekK,EAAGxC,GAChBsD,cAAc,EACdC,YAAY,EACZhL,IAAK,WACH,MAAOiE,GAAIwD,QAGdoD,EAAOjJ,GAKV,OAHIoC,QAAOiH,mBACTjH,OAAOiH,kBAAkBhB,GAEpBA,GAGTiB,IAAK,SAAS9K,EAAM8F,GAClB,KAAMA,YAAkB7G,IACtB,KAAM,IAAIuB,WAAU,cAAgBR,EAAO,6BAC7CZ,MAAKC,QAAQG,QAAQQ,IACnB8F,OAAQA,IAQZH,UAAW,SAAS3F,EAAM+K,EAAcC,GACtC,MAAOhL,IAGTiG,OAAQ,SAASJ,GACf,MAAOA,GAAK7F,MAGdmG,MAAO,SAASN,KAGhBO,UAAW,SAASP,GAClB,MAAOA,GAAKlH,QAGd0H,YAAa,SAASR,KAIxB,IAAI2C,GAAatJ,EAAOgC,UAAUsJ,YAmDpC,IAAI3D,EA+CJhG,GAAYK,UAAYhC,EAAOgC,UAC/BrB,EAAaqB,UAAY,GAAIL,EAC3B,IAAIoK,EACJ,IAA6B,mBAAlBC,gBACTD,EAAmB,SAASE,EAAKC,EAAS1F,GA6BxC,QAASG,KACPuF,EAAQC,EAAIC,cAEd,QAAShD,KACP5C,EAAO,GAAItH,OAAM,aAAeiN,EAAI9G,OAAS,KAAO8G,EAAI9G,QAAU8G,EAAIE,WAAa,IAAMF,EAAIE,WAAc,IAAM,IAAM,IAAM,YAAcJ,IA5BzI3M,IACF2M,EAAMA,EAAIvK,QAAQ,KAAM,OAE1B,IAAIyK,GAAM,GAAIH,gBACVM,GAAa,EACbC,GAAY,CAChB,MAAM,mBAAqBJ,IAAM,CAE/B,GAAIK,GAAc,uBAAuBC,KAAKR,EAC1CO,KACFF,EAAaE,EAAY,KAAO1I,OAAOkB,SAAS0H,KAC5CF,EAAY,KACdF,GAAcE,EAAY,KAAO1I,OAAOkB,SAAS2H,WAGlDL,GAAuC,mBAAlBM,kBACxBT,EAAM,GAAIS,gBACVT,EAAIU,OAASlG,EACbwF,EAAIW,QAAU1D,EACd+C,EAAIY,UAAY3D,EAChB+C,EAAIa,WAAa,aACjBb,EAAIc,QAAU,EACdV,GAAY,GASdJ,EAAIe,mBAAqB,WACA,IAAnBf,EAAIgB,aACa,MAAfhB,EAAI9G,QAAiC,GAAd8G,EAAI9G,QAAe8G,EAAIC,aAChDzF,IAEAyC,MAIN+C,EAAIiB,KAAK,MAAOnB,GAAK,GAErBE,EAAIkB,iBAAiB,SAAU,+BAE3Bd,GACFe,WAAW,WACTnB,EAAIoB,QACH,GAELpB,EAAIoB,KAAK,WAGR,CAAA,GAAsB,mBAAXC,SA0Bd,KAAM,IAAIlM,WAAU,sCAzBpB,IAAImM,EACJ1B,GAAmB,SAASE,EAAKC,EAAS1F,GACxC,GAAwB,YAApByF,EAAIzK,OAAO,EAAG,GAChB,KAAM,IAAItC,OAAM,oBAAsB+M,EAAM,kEAM9C,OALAwB,GAAKA,GAAMD,QAAQ,MAEjBvB,EADE/H,EACI+H,EAAIvK,QAAQ,MAAO,MAAMF,OAAO,GAEhCyK,EAAIzK,OAAO,GACZiM,EAAGC,SAASzB,EAAK,SAASlN,EAAK4O,GACpC,GAAI5O,EACF,MAAOyH,GAAOzH,EAId,IAAI6O,GAAaD,EAAO,EACF,YAAlBC,EAAW,KACbA,EAAaA,EAAWpM,OAAO,IAEjC0K,EAAQ0B,MAShBjN,EAAaqB,UAAUiF,MAAQ,SAASN,GACtC,MAAO,IAAIhB,SAAQ,SAASY,EAASC,GACnCuF,EAAiBpF,EAAKb,QAASS,EAASC,KAM9C,IAiFIqH,GAjFArG,EAAY,WAKd,QAASA,GAAUb,GACjB,GAAI5C,GAAO7D,IAEX,OAAOyF,SAAQY,QAAQ1H,EAA4B,cAAnBkF,EAAK+J,WAA6B,KAAO/J,EAAK+J,cACtE/J,EAAKgK,cAAgBhK,GAAM,UAAUA,EAAK+J,aACjDpH,KAAK,SAASoH,GACTA,EAAWE,eACbF,EAAaA,EAAW,WAE1B,IAAIG,EASJ,OAPEA,GADEH,EAAWI,SACOC,EACbL,EAAWM,sBACEC,EAEAC,EAGf,2BAA6BL,EAAkBpO,KAAKkE,EAAM4C,EAAMmH,GAAc,SAAWnH,EAAK7F,KAAO,sBAAwB6F,EAAKb,QAAU,gBAIvJ,QAASqI,GAAiBxH,EAAM4H,GAC9B,GAAItO,GAAUC,KAAKsO,kBACnBvO,GAAQK,QAAU,cAClBL,EAAQwO,QAAS,EACUpH,SAAvBpH,EAAQyO,aACVzO,EAAQyO,WAAa,UACvBzO,EAAQ0O,SAAWhI,EAAKb,QACxB7F,EAAQ2O,eAAiBjI,EAAKnB,SAASqJ,UACvC5O,EAAQ8F,YAAa,CAErB,IAAI+I,GAAW,GAAIP,GAAQL,SAASjO,EAEpC,OAAO8O,GAAiBpI,EAAKlH,OAAQqP,EAAU7O,EAAQ0O,UAEzD,QAASI,GAAiBtP,EAAQqP,EAAUH,GAC1C,IACE,MAAOG,GAASE,QAAQvP,EAAQkP,GAElC,MAAM7O,GAEJ,KAAMA,GAAE,IAIZ,QAASwO,GAAe3H,EAAMsI,GAC5B,GAAIhP,GAAUC,KAAKgP,gBASnB,OARAjP,GAAQK,QAAU,SACQ+G,SAAtBpH,EAAQ4O,YACV5O,EAAQ4O,UAAY,UACtB5O,EAAQ2O,eAAiBjI,EAAKnB,SAASqJ,UACvC5O,EAAQ0O,SAAWhI,EAAKb,QACxB7F,EAAQkP,MAAO,EACflP,EAAQmP,KAAM,EAEPH,EAAMI,UAAU1I,EAAKlH,OAAQQ,GAASkP,KAG/C,QAASd,GAAoB1H,EAAM2I,GACjC,GAAIrP,GAAUC,KAAKqP,qBASnB,OARAtP,GAAQuP,OAASvP,EAAQuP,QAAUF,EAAGG,aAAaC,IACzBrI,SAAtBpH,EAAQ4O,YACV5O,EAAQ4O,WAAY,GAClB5O,EAAQ4O,YACV5O,EAAQ0P,iBAAkB,GAE5B1P,EAAQ2G,OAAS0I,EAAGM,WAAWjI,OAExB2H,EAAG9H,UAAUb,EAAKlH,OAAQQ,EAAS0G,EAAKb,SAGjD,MA1EA9F,GAAOgC,UAAU8L,WAAa,UA0EvBtG,MAMT,WAIE,QAASqI,GAAQnK,GACfgC,EAAY7I,EAAS8I,OACrB9I,EAAS8I,OAASjC,EAEpB,QAASoK,KACPjR,EAAS8I,OAASD,EAKpB,QAASqI,GAAUpJ,GACjB,GAAIqJ,GAAgBrJ,EAAKlH,OAAOwF,YAAY,KAE5C,OAAO0B,GAAKlH,QAEoC,oBAAzCkH,EAAKlH,OAAO+B,OAAOwO,EAAe,IACjC,mBAAqBrJ,EAAKb,SAAWa,EAAKnB,SAASqJ,UAAY,cAAgB,IAAM,KAEtFlI,EAAKnB,SAASqJ,WAAaoB,GAC5B,uDAAyDC,KAAKC,SAASC,mBAAmBzJ,EAAKnB,SAASqJ,cAAgB,IApBhI,GAAInH,GASAuI,EAAyB,mBAARC,KAgBrB,IAAIrM,GAAYvE,GAAawE,OAAOuM,QAAUvM,OAAOuM,OAAOC,UAC1DzC,EAAS,SAASlH,GAChB,IACEkJ,EAAQ3P,MACR,GAAIN,UAASmQ,EAAUpJ,IAAO9G,KAAKhB,GACnCiR,IAEF,MAAMhQ,GACJ,KAAMhB,GAAWgB,EAAG,cAAgB6G,EAAKb,eAM1C,IAAuB,mBAAZ7B,UAAyB,CACvC,GAAIsM,GAEAC,EAAUvM,SAASa,qBAAqB,SAC5C2L,cAAeD,EAAQA,EAAQnP,OAAS,GAExCwM,EAAS,SAASlH,GACX4J,IACHA,EAAOtM,SAASsM,MAAQtM,SAASyM,MAAQzM,SAAS0M,gBAEpD,IAAIlC,GAASxK,SAAS2M,cAAc,SACpCnC,GAAOoC,KAAOd,EAAUpJ,EACxB,IACI7G,GADAgN,EAAUhJ,OAAOgJ,OAUrB,IARAhJ,OAAOgJ,QAAU,SAASgE,GACxBhR,EAAIhB,EAAWgS,EAAI,cAAgBnK,EAAKb,UAE1C+J,EAAQ3P,MACRqQ,EAAKQ,YAAYtC,GACjB8B,EAAKS,YAAYvC,GACjBqB,IACAhM,OAAOgJ,QAAUA,EACbhN,EACF,KAAMA,QAGP,CAEH,GAAImR,GAAW,KACXC,EAAK1D,QAAQyD,EACjBpD,GAAS,SAASlH,GAChB,IACEkJ,EAAQ3P,MACRgR,EAAGC,iBAAiBpB,EAAUpJ,IAC9BmJ,IAEF,MAAMhQ,GACJ,KAAMhB,GAAWgB,EAAEsR,WAAY,cAAgBzK,EAAKb,eAe5DhE,EAAYE,UAAYrB,EAAaqB,UACrCJ,EAAeI,UAAY,GAAIF,EAE/B,IAAID,GAyDCwP,EAAc,eASf7N,KAgBA8N,EAAa,GAAI5N,GAAIC,IAEzB,WAEA1B,EAAgB,SAAS6I,GACvB,MAAO,YACLA,EAAYjL,KAAKK,MAGjBA,KAAKuD,QAAUE,EAAQnC,OAAO,EAAGmC,EAAQsB,YAAY,KAAO,GAG5D/E,KAAK0L,IAAI,SAAU1L,KAAKoL,kBAmB5BvJ,EAAK,YAAa,WAChB,MAAO,UAASjB,EAAMqK,GAEpB,MAAe,KAAXrK,EAAK,IAAwB,KAAXA,EAAK,GAClB,GAAI4C,GAAI5C,EAAMqK,GAAcmG,GAAY1N,KAC1C9C,KAkBXiB,EAAK,SAAU,SAASwP,GACtB,MAAO,UAASzQ,EAAMqK,EAAYC,GAChC,MAAOmG,GAAa1R,KAAKK,KAAMY,EAAMqK,EAAYC,GAAe1E,KAAK,SAASE,GAC5E,MAAOA,GAAOoH,aAAepH,EAAO,WAAaA,OAuCvDhF,EAAeI,UAAUwP,OAAS,SAASC,GAKvC,QAASC,GAAe/M,GACtB,IAAK,GAAIzD,KAAKyD,GACZ,OAAO,EAJb,GAAI8M,EAAIhO,QAAS,CAMf,GAAIiO,EAAexR,KAAKyR,WAAaD,EAAexR,KAAK0R,OAASF,EAAexR,KAAK2R,WAAaH,EAAexR,KAAK4R,SACrH,KAAM,IAAIxQ,WAAU,uEAEtBpB,MAAKuD,QAAUgO,EAAIhO,QAGnBF,EAAc1D,KAAKK,MAMrB,GAHIuR,EAAIM,sBACN7R,KAAK6R,oBAAsBN,EAAIM,qBAE7BN,EAAI7Q,MACN,IAAK,GAAIM,KAAKuQ,GAAI7Q,MAChBV,KAAKU,MAAMM,GAAKuQ,EAAI7Q,MAAMM,EAG9B,IAAIuQ,EAAIrH,IACN,IAAK,GAAIlJ,KAAKuQ,GAAIrH,IAAK,CACrB,GAAI4H,GAAIP,EAAIrH,IAAIlJ,EAGhB,IAAiB,gBAAN8Q,GAAgB,CACzB,GAAIC,GAAa/R,KAAKgS,cAAchR,EAGhChB,MAAK6R,qBAAoD,OAA7B7Q,EAAEM,OAAON,EAAEG,OAAS,EAAG,KACrD4Q,EAAaA,EAAWzQ,OAAO,EAAGyQ,EAAW5Q,OAAS,GAGxD,IAAI8Q,GAAW,EACf,KAAK,GAAIC,KAAOlS,MAAKyR,SACfM,EAAWzQ,OAAO,EAAG4Q,EAAI/Q,SAAW+Q,KAC/BH,EAAWG,EAAI/Q,SAAqC,KAA1B4Q,EAAWG,EAAI/Q,UAC3C8Q,EAAS/Q,MAAM,KAAKC,OAAS+Q,EAAIhR,MAAM,KAAKC,SACjD8Q,EAAWC,EAEXD,IAAYjS,KAAKyR,SAASQ,GAAUE,OACtCJ,EAAaA,EAAWzQ,OAAO,EAAGyQ,EAAW5Q,OAASnB,KAAKyR,SAASQ,GAAUE,KAAKhR,OAAS,GAE9F,IAAI+Q,GAAMlS,KAAKyR,SAASM,GAAc/R,KAAKyR,SAASM,MACpDG,GAAIhI,IAAM4H,MAGV9R,MAAKkK,IAAIlJ,GAAK8Q,EAKpB,GAAIP,EAAIE,SACN,IAAK,GAAIzQ,KAAKuQ,GAAIE,SAAU,CAC1B,GAAI/M,GAAO1E,KAAKgS,cAAchR,EAG1BhB,MAAK6R,qBAAoD,OAA7B7Q,EAAEM,OAAON,EAAEG,OAAS,EAAG,KACrDuD,EAAOA,EAAKpD,OAAO,EAAGoD,EAAKvD,OAAS,IAEtCnB,KAAKyR,SAAS/M,GAAO1E,KAAKyR,SAAS/M,MACnC,KAAK,GAAI0N,KAAKb,GAAIE,SAASzQ,GACzBhB,KAAKyR,SAAS/M,GAAM0N,GAAKb,EAAIE,SAASzQ,GAAGoR,GAI/C,GAAIb,EAAIK,QACN,IAAK,GAAI5Q,KAAKuQ,GAAIK,QAAS,CAEzB,IAAK,GADDS,MACKjQ,EAAI,EAAGA,EAAImP,EAAIK,QAAQ5Q,GAAGG,OAAQiB,IACzCiQ,EAAO7P,KAAKxC,KAAKgS,cAAcT,EAAIK,QAAQ5Q,GAAGoB,IAChDpC,MAAK4R,QAAQ5Q,GAAKqR,EAItB,IAAK,GAAIC,KAAKf,GAAK,CACjB,GAAIO,GAAIP,EAAIe,GACRC,GAAgB,CAEpB,IAAS,WAALD,GAAuB,OAALA,GAAmB,YAALA,GAAwB,WAALA,GAAuB,SAALA,EAGzE,GAAgB,gBAALR,IAAiBA,YAAa/O,OACvC/C,KAAKsS,GAAKR,MAEP,CACH9R,KAAKsS,GAAKtS,KAAKsS,QAEN,QAALA,GAAoB,YAALA,KACjBC,GAAgB,EAElB,KAAK,GAAIvR,KAAK8Q,GACH,QAALQ,GAAuB,KAARtR,EAAE,GACnBhB,KAAKsS,GAAGtR,GAAK8Q,EAAE9Q,GACRuR,EACPvS,KAAKsS,GAAGtS,KAAKgS,cAAchR,IAAM8Q,EAAE9Q,GAEnChB,KAAKsS,GAAGtR,GAAK8Q,EAAE9Q,SAWzB,WAYE,QAASwR,GAAgBhN,EAAQiB,GAC/B,MAAO,IAAIhB,SAAQ,SAASY,EAASC,GACnC,IACExC,cAAc2C,EAAKb,SAErB,MAAMhG,GACJ0G,EAAO1G,GAGT4F,EAAOiN,aAAahM,GAEfA,EAAKnB,SAASoN,YACjBpM,EAAOG,EAAKb,QAAU,+CAExBS,EAAQ,MAxBZ,GAAuB,mBAAZtC,UACT,GAAIsM,GAAOtM,SAASa,qBAAqB,QAAQ,EAGnD,IAAI4C,EAEJ9F,GAAeI,UAAU2Q,aAAe,WACtC9T,EAAS8I,OAASD,GAsBpB3F,EAAK,QAAS,SAASkF,GACrB,MAAO,UAASN,GACd,GAAIjB,GAASxF,IAEb,OAAKyG,GAAKnB,SAASqN,aAAgBvT,GAAcuE,GAG7CA,EACK6O,EAAgBhN,EAAQiB,GAE1B,GAAIhB,SAAQ,SAASY,EAASC,GAInC,QAASsM,GAASC,GACZC,EAAE7F,YAA8B,UAAhB6F,EAAE7F,YAA0C,YAAhB6F,EAAE7F,aAElD8F,IAKAvN,EAAOiN,aAAahM,GAGfA,EAAKnB,SAASoN,YACjBpM,EAAOG,EAAKb,QAAU,+CAExBS,EAAQ,KAGV,QAAS6C,GAAM2J,GACbE,IACAzM,EAAO,GAAItH,OAAM,yBAA2ByH,EAAKb,UAgBnD,QAASmN,KACHD,EAAEE,YACJF,EAAEE,YAAY,qBAAsBJ,IAEpCE,EAAEG,oBAAoB,OAAQL,GAAU,GACxCE,EAAEG,oBAAoB,QAAS/J,GAAO,IAExCmH,EAAKS,YAAYgC,GA7CnB,GAAIA,GAAI/O,SAAS2M,cAAc,SAC/BoC,GAAEI,OAAQ,EAwBNJ,EAAEK,YACJL,EAAEK,YAAY,qBAAsBP,IAGpCE,EAAEM,iBAAiB,OAAQR,GAAU,GACrCE,EAAEM,iBAAiB,QAASlK,GAAO,IAGrC1B,EAAY7I,EAAS8I,OACrB9I,EAAS8I,OAASjC,EAClBsN,EAAEO,IAAM5M,EAAKb,QACbyK,EAAKQ,YAAYiC,KA1CV/L,EAAMpH,KAAKK,KAAMyG,SAyEhC,WAwBE,QAAS6M,GAAW9N,EAAQ5E,EAAM+G,GAIhC,GAHA4L,GAAiB,EAGb3S,EAIFA,GAAQ4E,EAAOwM,eAAiBxM,EAAOe,WAAW5G,KAAK6F,EAAQ5E,GAC/D+G,EAAS/G,KAAOA,EACVA,IAAQ4E,GAAOgO,UACnBhO,EAAOgO,QAAQ5S,GAAQ+G,OAGtB,CACH,GAAI8L,EACF,KAAM,IAAIrS,WAAU,gNACtBqS,GAAe9L,GAiGnB,QAAS+L,GAAYC,EAAOnO,EAAQoO,GAGlC,GAFAA,EAAOD,EAAME,YAAcD,EAAOD,EAAME,gBAEa,IAAjDtR,EAAQ5C,KAAKiU,EAAOD,EAAME,YAAaF,GAA3C,CAGAC,EAAOD,EAAME,YAAYrR,KAAKmR,EAE9B,KAAK,GAAIvR,GAAI,EAAGC,EAAIsR,EAAMG,eAAe3S,OAAYkB,EAAJD,EAAOA,IAAK,CAC3D,GAAI2R,GAAUJ,EAAMG,eAAe1R,GAC/B4R,EAAWxO,EAAOgO,QAAQO,EAG9B,IAAKC,IAAYA,EAAS3K,UAA1B,CAIA,GAAI4K,GAAgBN,EAAME,YAAcG,EAASE,aAAeP,EAAMO,YAGtE,IAA4B/M,SAAxB6M,EAASH,YAA4BG,EAASH,WAAaI,EAAe,CAG5E,GAA4B9M,SAAxB6M,EAASH,aACXD,EAAOI,EAASH,YAAYhK,OAAOtH,EAAQ5C,KAAKiU,EAAOI,EAASH,YAAaG,GAAW,GAG9C,GAAtCJ,EAAOI,EAASH,YAAY1S,QAC9B,KAAM,IAAIC,WAAU,kCAGxB4S,GAASH,WAAaI,EAGxBP,EAAYM,EAAUxO,EAAQoO,MAIlC,QAASzK,GAAKvI,EAAM4E,GAClB,GAAI2O,GAAa3O,EAAOgO,QAAQ5S,EAGhC,KAAIuT,EAAWzN,OAAf,CAGAyN,EAAWN,WAAa,CAExB,IAAID,KAEJF,GAAYS,EAAY3O,EAAQoO,EAGhC,KAAK,GADDQ,KAAwBD,EAAWD,aAAeN,EAAOzS,OAAS,EAC7DiB,EAAIwR,EAAOzS,OAAS,EAAGiB,GAAK,EAAGA,IAAK,CAE3C,IAAK,GADDJ,GAAQ4R,EAAOxR,GACV2G,EAAI,EAAGA,EAAI/G,EAAMb,OAAQ4H,IAAK,CACrC,GAAI4K,GAAQ3R,EAAM+G,EAGdqL,GACFC,EAAsBV,EAAOnO,GAE7B8O,EAAkBX,EAAOnO,GAE7B4O,GAAuBA,IAK3B,QAASvU,MAOT,QAAS0U,GAAwB3T,EAAMN,GACrC,MAAOA,GAAcM,KAAUN,EAAcM,IAC3CA,KAAMA,EACNyE,gBACAmP,QAAS,GAAI3U,GACb4U,eAIJ,QAASJ,GAAsBV,EAAOnO,GAEpC,IAAImO,EAAMjN,OAAV,CAGA,GAAIpG,GAAgBkF,EAAOvF,QAAQK,cAC/BoG,EAASiN,EAAMjN,OAAS6N,EAAwBZ,EAAM/S,KAAMN,GAC5DkU,EAAUb,EAAMjN,OAAO8N,QAEvBE,EAAcf,EAAM/L,QAAQjI,KAAKhB,EAAU,SAASiC,EAAMsC,GAG5D,GAFAwD,EAAOiO,QAAS,EAEG,gBAAR/T,GACT,IAAK,GAAII,KAAKJ,GACZ4T,EAAQxT,GAAKJ,EAAKI,OAGpBwT,GAAQ5T,GAAQsC,CAGlB,KAAK,GAAId,GAAI,EAAGC,EAAIqE,EAAO+N,UAAUtT,OAAYkB,EAAJD,EAAOA,IAAK,CACvD,GAAIwS,GAAiBlO,EAAO+N,UAAUrS,EACtC,KAAKwS,EAAeD,OAAQ,CAC1B,GAAIE,GAAgBtS,EAAQ5C,KAAKiV,EAAevP,aAAcqB,EAC9DkO,GAAeE,QAAQD,GAAeL,IAK1C,MADA9N,GAAOiO,QAAS,EACTzR,GAMT,IAHAwD,EAAOoO,QAAUJ,EAAYI,QAC7BpO,EAAOoB,QAAU4M,EAAY5M,SAExBpB,EAAOoO,UAAYpO,EAAOoB,QAC7B,KAAM,IAAI1G,WAAU,oCAAsCuS,EAAM/S,KAIlE,KAAK,GAAIwB,GAAI,EAAGC,EAAIsR,EAAMG,eAAe3S,OAAYkB,EAAJD,EAAOA,IAAK,CAC3D,GAKI2S,GALAhB,EAAUJ,EAAMG,eAAe1R,GAC/B4R,EAAWxO,EAAOgO,QAAQO,GAC1BiB,EAAY1U,EAAcyT,EAK1BiB,GACFD,EAAaC,EAAUR,QAGhBR,IAAaA,EAASE,YAC7Ba,EAAaf,EAASiB,SAGdjB,GAKRK,EAAsBL,EAAUxO,GAChCwP,EAAYhB,EAAStN,OACrBqO,EAAaC,EAAUR,SANvBO,EAAavP,EAAOhF,IAAIuT,GAUtBiB,GAAaA,EAAUP,WACzBO,EAAUP,UAAUjS,KAAKkE,GACzBA,EAAOrB,aAAa7C,KAAKwS,IAGzBtO,EAAOrB,aAAa7C,KAAK,KAK3B,KAAK,GADD0S,GAAkBvB,EAAMuB,gBAAgB9S,GACnC2G,EAAI,EAAGoM,EAAMD,EAAgB/T,OAAYgU,EAAJpM,IAAWA,EAAG,CAC1D,GAAIzG,GAAQ4S,EAAgBnM,EACxBrC,GAAOoO,QAAQxS,IACjBoE,EAAOoO,QAAQxS,GAAOyS,MAO9B,QAASK,GAAUxU,EAAM4E,GACvB,GAAIgP,GACAb,EAAQnO,EAAOgO,QAAQ5S,EAE3B,IAAK+S,EAOCA,EAAMO,YACRmB,EAAgBzU,KAAU4E,GAElBmO,EAAMtK,WACdiL,EAAkBX,EAAOnO,GAE3BgP,EAAUb,EAAMjN,OAAO8N,YAXvB,IADAA,EAAUhP,EAAOhF,IAAII,IAChB4T,EACH,KAAM,IAAIxV,OAAM,6BAA+B4B,EAAO,IAa1D,SAAM+S,GAASA,EAAMO,cAAgBM,GAAWA,EAAQ1G,aAC/C0G,EAAQ,WAEVA,EAGT,QAASF,GAAkBX,EAAOnO,GAChC,IAAImO,EAAMjN,OAAV,CAGA,GAAI8N,MAEA9N,EAASiN,EAAMjN,QAAW8N,QAASA,EAASc,GAAI3B,EAAM/S,KAG1D,KAAK+S,EAAM4B,iBACT,IAAK,GAAInT,GAAI,EAAGC,EAAIsR,EAAMG,eAAe3S,OAAYkB,EAAJD,EAAOA,IAAK,CAC3D,GAAI2R,GAAUJ,EAAMG,eAAe1R,GAE/B4R,EAAWxO,EAAOgO,QAAQO,EAC1BC,IACFM,EAAkBN,EAAUxO,GAKlCmO,EAAMtK,WAAY,CAClB,IAAImM,GAAS7B,EAAM7L,QAAQnI,KAAKhB,EAAU,SAASiC,GACjD,IAAK,GAAIwB,GAAI,EAAGC,EAAIsR,EAAM1R,KAAKd,OAAYkB,EAAJD,EAAOA,IAC5C,GAAIuR,EAAM1R,KAAKG,IAAMxB,EAErB,MAAOwU,GAAUzB,EAAMG,eAAe1R,GAAIoD,EAE5C,MAAM,IAAIpE,WAAU,UAAYR,EAAO,mCACtC4T,EAAS9N,EAQZ,IANI8O,IACF9O,EAAO8N,QAAUgB,GAGnBhB,EAAU9N,EAAO8N,QAEbA,GAAWA,EAAQiB,WACrB9B,EAAMsB,SAAWT,MAEd,CAIH,GAHAb,EAAMsB,YAGgB,gBAAXT,IAAyC,kBAAXA,GACvC,GAAIkB,EAA0B,CAC5B,GAAI1M,EACJ,KAAK,GAAIhI,KAAKwT,IACRxL,EAAIxE,OAAOkR,yBAAyBlB,EAASxT,KAC/CT,EAAeoT,EAAMsB,SAAUjU,EAAGgI,OAEnC,CACH,GAAI2M,GAAiBnB,GAAWA,EAAQmB,cACxC,KAAK,GAAI3U,KAAKwT,KACPmB,GAAkBnB,EAAQmB,eAAe3U,MAC5C2S,EAAMsB,SAASjU,GAAKwT,EAAQxT,IAIpC2S,EAAMsB,SAAS,WAAaT,EAC5BjU,EAAeoT,EAAMsB,SAAU,gBAC7B/R,OAAO,MAcb,QAASmS,GAAgBxP,EAAY+P,EAAMpQ,GACzC,GAAImO,GAAQnO,EAAOgO,QAAQ3N,EAG3B,IAAK8N,IAASA,EAAMtK,WAAcsK,EAAMO,YAAxC,CAKA0B,EAAKpT,KAAKqD,EAEV,KAAK,GAAIzD,GAAI,EAAGC,EAAIsR,EAAMG,eAAe3S,OAAYkB,EAAJD,EAAOA,IAAK,CAC3D,GAAI2R,GAAUJ,EAAMG,eAAe1R,EACA,KAA/BG,EAAQ5C,KAAKiW,EAAM7B,KAChBvO,EAAOgO,QAAQO,GAGlBsB,EAAgBtB,EAAS6B,EAAMpQ,GAF/BA,EAAOhF,IAAIuT,IAMbJ,EAAMtK,YAGVsK,EAAMtK,WAAY,EAClBsK,EAAMjN,OAAOoB,QAAQnI,KAAKhB,KAhb5B,GAAI+W,IAA2B,CAC/B,KACElR,OAAOkR,0BAA2BhT,EAAG,GAAK,KAE5C,MAAM9C,GACJ8V,GAA2B,EAe7B,GAAIjC,GACAF,GAAiB,CAqBrB7R,GAAeI,UAAU6F,SAAW,SAAS/G,EAAMqB,EAAM2F,GASvD,MARmB,gBAARhH,KACTgH,EAAU3F,EACVA,EAAOrB,EACPA,EAAO,MAKa,iBAAXgH,GACF5H,KAAK6V,gBAAgBC,MAAM9V,KAAM+V,eAE1CzC,GAAWtT,KAAMY,GACfsT,aAAa,EACbjS,KAAMA,EACN2F,QAASA,KAGblG,EAAeI,UAAU+T,gBAAkB,SAASjV,EAAMqB,EAAM2F,EAASE,GACpD,gBAARlH,KACTkH,EAAUF,EACVA,EAAU3F,EACVA,EAAOrB,EACPA,EAAO,MAIT0S,EAAWtT,KAAMY,GACfsT,aAAa,EACbjS,KAAMA,EACN6F,QAASA,EACTyN,iBAAkB3N,KAoCtB7F,EAAgB,SAAS6I,GACvB,MAAO,YACLA,EAAYjL,KAAKK,MAEjBA,KAAKwT,WACLxT,KAAKC,QAAQK,oBAKjBuB,EAAK,eAAgB,SAAS4Q,GAC5B,MAAO,UAAShM,GACdgM,EAAa9S,KAAKK,KAAMyG,GAEpB8M,IAEEE,IACFhN,EAAKnB,SAASqO,MAAQF,GAExBhN,EAAKnB,SAAS0Q,OAASvP,EAAKnB,SAAS0Q,QAAU,UAC/CvP,EAAKnB,SAASoN,YAAa,EAC3Ba,GAAiB,EACjBE,EAAe,SA0ErBlT,EAAeV,EAAQ,YACrBqD,MAAO,WACL,MAAO,YAqOXrB,EAAK,SAAU,SAASoU,GACtB,MAAO,UAASrV,GAGd,aAFOZ,MAAKC,QAAQK,cAAcM,SAC3BZ,MAAKwT,QAAQ5S,GACbqV,EAAItW,KAAKK,KAAMY,KAI1B,IAAIsV,GAAgB,wHAEpBrU,GAAK,QAAS,SAASkF,GACrB,MAAO,UAASN,GACd,MAAIzG,MAAKwT,QAAQ/M,EAAK7F,OACpB6F,EAAKnB,SAAS0Q,OAAS,UAChB,KAITvC,EAAe,KACfF,GAAiB,EAEW,YAAxB9M,EAAKnB,SAAS0Q,SAChBvP,EAAKnB,SAASqN,YAAa,GAG7BlM,EAAKnB,SAASrD,KAAOwE,EAAKnB,SAASrD,SAE5B8E,EAAMpH,KAAKK,KAAMyG,OAI5B5E,EAAK,YAAa,SAASmF,GAEzB,MAAO,UAASP,GACd,MAAOhB,SAAQY,QAAQW,EAAUrH,KAAKK,KAAMyG,IAAOD,KAAK,SAASjH,GAS/D,MAPkC,gBAAvBkH,GAAKnB,SAASrD,OACvBwE,EAAKnB,SAASrD,KAAOwE,EAAKnB,SAASrD,KAAKf,MAAM,MAChDuF,EAAKnB,SAASrD,KAAOwE,EAAKnB,SAASrD,UAGP,YAAxBwE,EAAKnB,SAAS0Q,SAAyBvP,EAAKnB,SAAS0Q,QAAUvP,EAAKlH,OAAO4E,MAAM+R,MACnFzP,EAAKnB,SAAS0Q,OAAS,YAClBzW,OAKbsC,EAAK,cAAe,SAASoF,GAC3B,MAAO,UAASR,GACd,GAEIkN,GAFAnO,EAASxF,IAKb,IAAIwF,EAAOgO,QAAQ/M,EAAK7F,MACtB+S,EAAQnO,EAAOgO,QAAQ/M,EAAK7F,MAC5B+S,EAAM1R,KAAO0R,EAAM1R,KAAKe,OAAOyD,EAAKnB,SAASrD,UAI1C,IAAIwE,EAAKnB,SAASqO,MACrBA,EAAQlN,EAAKnB,SAASqO,UAGnB,IAAIlN,EAAKnB,SAASwC,QACrB6L,GACEO,aAAa,EACbjS,KAAMwE,EAAKnB,SAASrD,SACpB6F,QAASrB,EAAKnB,SAASwC,QACvByN,iBAAkB9O,EAAKnB,SAASiQ,sBAK/B,IAA4B,YAAxB9O,EAAKnB,SAAS0Q,QAAgD,OAAxBvP,EAAKnB,SAAS0Q,QAA2C,OAAxBvP,EAAKnB,SAAS0Q,OAAiB,CAM7G,GALAvC,EAAe,KACfF,GAAiB,EAEjB5F,EAAOhO,KAAK6F,EAAQiB,IAEf8M,IAAmB9M,EAAKnB,SAASoN,WACpC,KAAM,IAAItR,WAAUqF,EAAK7F,KAAO,mDAE9B6S,GACFE,EAAQF,EAERhN,EAAKnB,SAAS+M,QAAS,GAEpBsB,GAASnO,EAAOgO,QAAQ/M,EAAK7F,QAChC+S,EAAQnO,EAAOgO,QAAQ/M,EAAK7F,OAE9B6S,EAAe,KACfF,GAAiB,EAIdI,IACHA,GACEO,aAAa,EACbjS,KAAMwE,EAAKnB,SAASrD,KACpB6F,QAAS,WACP,MAAOtC,GAAO4F,iBAKpB5F,EAAOgO,QAAQ/M,EAAK7F,MAAQ+S,CAE5B,IAAIwC,GAAUnU,EAAM2R,EAAM1R,KAE1B0R,GAAM1R,KAAOkU,EAAQjU,MACrByR,EAAMuB,gBAAkBiB,EAAQhU,QAChCwR,EAAM/S,KAAO6F,EAAK7F,IAIlB,KAAK,GADDwV,MACKhU,EAAI,EAAGC,EAAIsR,EAAM1R,KAAKd,OAAYkB,EAAJD,EAAOA,IAC5CgU,EAAkB5T,KAAKiD,QAAQY,QAAQb,EAAOe,UAAUoN,EAAM1R,KAAKG,GAAIqE,EAAK7F,OAE9E,OAAO6E,SAAQ0C,IAAIiO,GAAmB5P,KAAK,SAASsN,GAIlD,MAFAH,GAAMG,eAAiBA,GAGrB7R,KAAM0R,EAAM1R,KACZ6F,QAAS,WAYP,MATAqB,GAAK1C,EAAK7F,KAAM4E,GAGhB6P,EAAgB5O,EAAK7F,QAAU4E,GAG/BA,EAAOgO,QAAQ/M,EAAK7F,MAAQuG,OAGrB3B,EAAO4F,UAAUuI,EAAMO,YAAcP,EAAMjN,OAAO8N,QAAUb,EAAMsB,oBAUrF,WAEE,GAAIoB,GAAW,gLAEXC,EAAsB,wBACtBC,EAAoB,mBAExB1U,GAAK,YAAa,SAASmF,GACzB,MAAO,UAASP,GACd,GAAIjB,GAASxF,IACb,OAAOgH,GAAUrH,KAAK6F,EAAQiB,GAC7BD,KAAK,SAASjH,GAEb,GAA4B,OAAxBkH,EAAKnB,SAAS0Q,QAA2C,OAAxBvP,EAAKnB,SAAS0Q,SAAoBvP,EAAKnB,SAAS0Q,QAAUzW,EAAO4E,MAAMkS,GAU1G,MATA5P,GAAKnB,SAAS0Q,OAAS,MAIvBxQ,EAAOgR,kBAAoBhR,EAAOgR,oBAAqB,EACnDhR,EAAOqI,eACTrI,EAAOqI,aAAa2I,kBAAoBhR,EAAOgR,oBAAqB,GAG/DlP,EAAU3H,KAAK6F,EAAQiB,GAC7BD,KAAK,SAASjH,GAGb,MADAkH,GAAKnB,SAASqJ,UAAYxH,OACnB5H,GA+BX,IA1BIiG,EAAOgR,qBAAsB,GAAS/P,EAAK7F,MAAQ4E,EAAOwM,cAAcxM,EAAOoI,cAE7ErO,EAAO4B,OAAS,MAClBsF,EAAKnB,SAAS0Q,OAASvP,EAAKnB,SAAS0Q,QAAU,SAErB,YAAtBxQ,EAAOoI,aACTnH,EAAKnB,SAASkP,QAAU,WACA,eAAtBhP,EAAOoI,aACTnH,EAAKnB,SAASkP,QAAU,OAG5BhP,EAAOgR,mBAAoB,GAIzBhR,EAAOiR,4BAA6B,IAClChQ,EAAK7F,MAAQ4E,EAAOwM,cAAc,oBAC/BvL,EAAK7F,MAAQ4E,EAAOwM,cAAc,8BACnCzS,EAAO4B,OAAS,MAClBsF,EAAKnB,SAAS0Q,OAASvP,EAAKnB,SAAS0Q,QAAU,UAEjDxQ,EAAOiR,0BAA2B,GAKV,YAAxBhQ,EAAKnB,SAAS0Q,QAAwBxQ,EAAOiR,4BAA6B,EAAM,CAClF,IAAK9X,EAAS+X,iBAAmBjQ,EAAKlH,OAAO4E,MAAMmS,GAEjD,MADA9Q,GAAOiR,yBAA2BjR,EAAOiR,2BAA4B,EAC9DjR,EAAO,UAAU,mBAAmBgB,KAAK,WAC9C,MAAOjH,IAGX,KAAKZ,EAASgY,cAAgBlQ,EAAKlH,OAAO4E,MAAMoS,GAE9C,MADA/Q,GAAOiR,yBAA2BjR,EAAOiR,2BAA4B,EAC9DjR,EAAO,UAAU,0BAA0BgB,KAAK,WACrD,MAAOjH,KAKb,MAAOA,UAgBf,IAAIqX,GAA8B,mBAAR/S,MAAsB,OAAS,QAEzDhC,GAAK,eAAgB,SAAS4Q,GAC5B,MAAO,UAAShM,GACd,GAA4B,UAAxBA,EAAKnB,SAAS0Q,OAAoB,CACpCvP,EAAKnB,SAASoN,YAAa,CAC3B,IAAImE,GAAc5T,EAAqBwD,EAAKnB,SAASkP,QAAS7V,EAC9D8H,GAAKnB,SAASwC,QAAU,WACtB,MAAO+O,IAGX,MAAOpE,GAAa9S,KAAKK,KAAMyG,MAInC5E,EAAK,QAAS,SAASkF,GACrB,MAAO,UAASN,GAWd,MAVIA,GAAKnB,SAASkP,UAChB/N,EAAKnB,SAAS0Q,OAAS,UAIG,UAAxBvP,EAAKnB,SAAS0Q,SACXvP,EAAKnB,SAASkP,SAAY/N,EAAKnB,SAASwR,SACtCrQ,EAAKnB,SAASrD,MAAqC,GAA7BwE,EAAKnB,SAASrD,KAAKd,SAChDsF,EAAKnB,SAASqN,YAAa,GAEtB5L,EAAMpH,KAAKK,KAAMyG,MAU5B5E,EAAK,cAAe,SAASoF,GAC3B,MAAO,UAASR,GACd,GAAIjB,GAASxF,IAOb,IALKyG,EAAKnB,SAAS0Q,SACjBvP,EAAKnB,SAAS0Q,OAAS,UAIrBvP,EAAKnB,SAASwR,SACZrQ,EAAKnB,SAASwR,kBAAmB/T,OAAO,CAE1C,IAAK,GADD+T,MACK1U,EAAI,EAAGA,EAAIqE,EAAKnB,SAASwR,QAAQ3V,OAAQiB,IAChD0U,EAAQrQ,EAAKnB,SAASwR,QAAQ1U,IAAMqE,EAAKnB,SAASwR,QAAQ1U,EAC5DqE,GAAKnB,SAASwR,QAAUA,EAK5B,GAA4B,UAAxBrQ,EAAKnB,SAAS0Q,SAAuBvP,EAAKnB,SAASoN,WAAY,CAEjE,IAAK,GAAIqE,KAAKtQ,GAAKnB,SAASwR,QAC1BrQ,EAAKnB,SAASrD,KAAKO,KAAKiE,EAAKnB,SAASwR,QAAQC,GAEhDtQ,GAAKnB,SAASwC,QAAU,SAASwF,EAASkH,EAAS9N,GAEjD,GAAIoQ,EACJ,IAAIrQ,EAAKnB,SAASwR,QAAS,CACzBA,IACA,KAAK,GAAIC,KAAKtQ,GAAKnB,SAASwR,QAC1BA,EAAQC,GAAKzJ,EAAQ7G,EAAKnB,SAASwR,QAAQC,IAG/C,GAAIC,GAAavQ,EAAKnB,SAASkP,QAC3ByC,EAAiBzR,EAAOhF,IAAI,oBAAoB0W,cAAcxQ,EAAO4O,GAAI0B,EAAYF,EAErFE,KACFvQ,EAAKlH,QAAU,KAAOqX,EAAe,KAAOI,EAAa,QAAUA,EAAa,IAGlF,IAAInM,GAASlM,EAASkM,OAClBsM,EAAWxY,EAAS2O,OAWxB,OATA3O,GAASkM,OAAS1D,OAClBxI,EAAS+H,OAASS,OAClBxI,EAAS6V,QAAUrN,OAEnBwG,EAAOhO,KAAK6F,EAAQiB,GAEpB9H,EAAS2O,QAAU6J,EACnBxY,EAASkM,OAASA,EAEXoM,KAGX,MAAOhQ,GAAYtH,KAAKK,KAAMyG,MAGlC1E,EAAgB,SAAS6I,GACvB,MAAO,YAWL,QAASwM,GAAcC,GACrB,GAAI7S,OAAO8S,KACT9S,OAAO8S,KAAK3Y,GAAUsL,QAAQoN,OAE9B,KAAK,GAAIN,KAAKpY,GACPgX,EAAehW,KAAKhB,EAAUoY,IAEnCM,EAASN,GAIf,QAASQ,GAAmBF,GAC1BD,EAAc,SAASI,GACrB,GAAoD,IAAhDjV,EAAQ5C,KAAK8X,EAAoBD,GAArC,CAEA,IACE,GAAItU,GAAQvE,EAAS6Y,GAEvB,MAAO5X,GACL6X,EAAmBjV,KAAKgV,GAE1BH,EAASG,EAAYtU,MA/BzB,GAAIsC,GAASxF,IACb4K,GAAYjL,KAAK6F,EAEjB,IAKIkS,GALA/B,EAAiBnR,OAAO1C,UAAU6T,eAGlC8B,GAAsB,KAAM,iBAAkB,eAAgB,gBAAiB,SAAU,WAAY,wBAAyB,oBAAqB,kBA6BvJjS,GAAOkG,IAAI,mBAAoBlG,EAAO4F,WACpC8L,cAAe,SAASrR,EAAYmR,EAAYF,GAE9C,GAAIa,EACJ,IAAIb,EAAS,CACXa,IACA,KAAK,GAAIZ,KAAKD,GACZa,EAAWZ,GAAKD,EAAQC,GACxBpY,EAASoY,GAAKD,EAAQC,GAc1B,MATKC,KACHU,KAEAH,EAAmB,SAAS3W,EAAMsC,GAChCwU,EAAe9W,GAAQsC,KAKpB,WACL,GAAI2T,EAEJ,IAAIG,EACFH,EAAc5T,EAAqB+T,EAAYrY,OAE5C,CACH,GAAIiZ,GACAC,EACArD,IAEJ+C,GAAmB,SAAS3W,EAAMsC,GAC5BwU,EAAe9W,KAAUsC,GAET,mBAATA,KAEXsR,EAAQ5T,GAAQsC,EAEW,mBAAhB0U,GACJC,GAAmBD,IAAiB1U,IACvC2U,GAAkB,GAGpBD,EAAe1U,KAGnB2T,EAAcgB,EAAkBrD,EAAUoD,EAI5C,GAAID,EACF,IAAK,GAAIZ,KAAKY,GACZhZ,EAASoY,GAAKY,EAAWZ,EAG7B,OAAOF,WASjB,WAQE,QAASiB,GAAWvY,GAClBwY,EAAgBC,UAAY,CAE5B,IAAI/V,KAGA1C,GAAO4B,OAAS5B,EAAO2B,MAAM,MAAMC,OAAS,MAC9C5B,EAASA,EAAOiC,QAAQyW,EAAc,IAIxC,KAFA,GAAI9T,GAEGA,EAAQ4T,EAAgBxL,KAAKhN,IAClC0C,EAAKO,KAAK2B,EAAM,GAAG7C,OAAO,EAAG6C,EAAM,GAAGhD,OAAS,GAEjD,OAAOc,GAnBT,GAAIiW,GAAkB,gIAElBH,EAAkB,iHAClBE,EAAe,0CAmBnB,IAAqB,mBAAVrU,SAA4C,mBAAZG,WAA2BH,OAAOkB,SAC3E,GAAIqT,GAAerT,SAAS2H,SAAW,KAAO3H,SAASsT,UAAYtT,SAASuT,KAAO,IAAMvT,SAASuT,KAAO,GAE3GtW,GAAgB,SAAS6I,GACvB,MAAO,YACLA,EAAYjL,KAAKK,MAGK,mBAAXsN,UAA0BA,QAAQjH,SAA6B,mBAAXpC,WAC7DjE,KAAKsY,aAAehL,YAI1BzL,EAAK,cAAe,SAASoF,GAC3B,MAAO,UAASR,GACd,GAAIjB,GAASxF,IAQb,IAPKyG,EAAKnB,SAAS0Q,SACjBkC,EAAgBF,UAAY,EAC5BD,EAAgBC,UAAY,GACxBD,EAAgBxL,KAAK9F,EAAKlH,SAAW2Y,EAAgB3L,KAAK9F,EAAKlH,WACjEkH,EAAKnB,SAAS0Q,OAAS,QAGC,OAAxBvP,EAAKnB,SAAS0Q,OAAiB,CACjC,GAAIuC,GAAW9R,EAAKnB,SAASrD,QAC7BwE,GAAKnB,SAASrD,KAAOsW,EAASvV,OAAO8U,EAAWrR,EAAKlH,QAErD,KAAK,GAAIwX,KAAKtQ,GAAKnB,SAASwR,QAC1BrQ,EAAKnB,SAASrD,KAAKO,KAAKiE,EAAKnB,SAASwR,QAAQC,GAEhDtQ,GAAKnB,SAASiQ,kBAAmB,EAEjC9O,EAAKnB,SAASwC,QAAU,SAASwF,EAASkH,EAAS9N,GAEjD,IAAK,GAAItE,GAAI,EAAGA,EAAImW,EAASpX,OAAQiB,IACnCkL,EAAQiL,EAASnW,GACnB,IAAIwD,GAAUa,EAAKb,SAAW,GAE1B4S,EAAU5S,EAAQ1E,MAAM,IAC5BsX,GAAQC,MACRD,EAAUA,EAAQE,KAAK,KAEnBP,GAAgBvS,EAAQtE,OAAO,EAAG6W,EAAahX,UAAYgX,GAC7DvS,EAAUA,EAAQtE,OAAO6W,EAAahX,QACtCqX,EAAUA,EAAQlX,OAAO6W,EAAahX,SAEP,YAAxByE,EAAQtE,OAAO,EAAG,KACzBsE,EAAUA,EAAQtE,OAAO,GACzBkX,EAAUA,EAAQlX,OAAO,GAGrB0C,IACF4B,EAAUA,EAAQtE,OAAO,GACzBkX,EAAUA,EAAQlX,OAAO,IAK7B,IAAIuJ,GAASlM,EAASkM,MACtBlM,GAASkM,OAAS1D,OAElBxI,EAASga,cACPnE,QAASA,EACToE,MAAOtL,EAASkH,EAAS9N,EAAQd,EAAS4S,EAAS7Z,GAGrD,IAAImY,GAAU,EACd,IAAIrQ,EAAKnB,SAASwR,QAChB,IAAK,GAAIC,KAAKtQ,GAAKnB,SAASwR,QAC1BA,GAAW,OAASC,EAAI,eAAiBtQ,EAAKnB,SAASwR,QAAQC,GAAK,KAGxEtQ,GAAKlH,OAAS,uEAAyEuX,EACjFrQ,EAAKlH,OAAS,uDAEpBoO,EAAOhO,KAAK6F,EAAQiB,GAEpB9H,EAASga,aAAexR,OACxBxI,EAASkM,OAASA,GAItB,MAAO5D,GAAYtH,KAAK6F,EAAQiB,SAStC1E,EAAgB,SAAS6I,GACvB,MAAO,YAYL,QAASkN,GAAWvY,EAAQsZ,GAG1BtZ,EAASA,EAAOiC,QAAQyW,EAAc,GAGtC,IAAIa,GAASvZ,EAAO4E,MAAM4U,GACtBC,GAAgBF,EAAO,GAAG5X,MAAM,KAAK2X,IAAiB,WAAWrX,QAAQyX,EAAS,IAGlFC,EAAeC,EAAcH,KAAkBG,EAAcH,GAAgB,GAAII,QAAOC,EAAgBL,EAAeM,EAAgB,KAE3IJ,GAAalB,UAAY,CAKzB,KAHA,GAEI7T,GAFAlC,KAGGkC,EAAQ+U,EAAa3M,KAAKhN,IAC/B0C,EAAKO,KAAK2B,EAAM,IAAMA,EAAM,GAE9B,OAAOlC,GAOT,QAASqL,GAAQpL,EAAOmV,EAAUkC,EAASC,GAEzC,GAAoB,gBAATtX,MAAuBA,YAAiBa,QACjD,MAAOuK,GAAQwI,MAAM,KAAM/S,MAAMjB,UAAU+H,OAAOlK,KAAKoW,UAAW,EAAGA,UAAU5U,OAAS,GAK1F,IAFoB,gBAATe,IAAwC,kBAAZmV,KACrCnV,GAASA,MACPA,YAAiBa,QAWhB,CAAA,GAAoB,gBAATb,GAAmB,CACjC,GAAIwE,GAASlB,EAAOhF,IAAIgF,EAAOwM,cAAc9P,EAAOsX,GACpD,KAAK9S,EACH,KAAM,IAAI1H,OAAM,sCAAwCkD,EAAQ,WAAasX,EAAU,KACzF,OAAO9S,GAAOoH,aAAepH,EAAO,WAAaA,EAIjD,KAAM,IAAItF,WAAU,mBAjBpB,IAAK,GADDqY,MACKrX,EAAI,EAAGA,EAAIF,EAAMf,OAAQiB,IAChCqX,EAAgBjX,KAAKgD,EAAO,UAAUtD,EAAME,GAAIoX,GAClD/T,SAAQ0C,IAAIsR,GAAiBjT,KAAK,SAASpG,GACrCiX,GACFA,EAASvB,MAAM,KAAM1V,IACtBmZ,GAeP,QAAS1O,GAAOjK,EAAMqB,EAAMyX,GACP,gBAAR9Y,KACT8Y,EAAUzX,EACVA,EAAOrB,EACPA,EAAO,MAEHqB,YAAgBc,SACpB2W,EAAUzX,EACVA,GAAQ,UAAW,UAAW,UAAU4H,OAAO,EAAG6P,EAAQvY,SAGtC,kBAAXuY,KACTA,EAAU,SAAUA,GAClB,MAAO,YAAa,MAAOA,KAC1BA,IAGyBvS,SAA1BlF,EAAKA,EAAKd,OAAS,IACrBc,EAAKwW,KAGP,IAAII,GAAcc,EAAcC,CAEsB,MAAjDf,EAAetW,EAAQ5C,KAAKsC,EAAM,cAErCA,EAAK4H,OAAOgP,EAAc,GAIrBjY,IACHqB,EAAOA,EAAKe,OAAO8U,EAAW4B,EAAQxI,WAAY2H,MAGA,KAAjDc,EAAepX,EAAQ5C,KAAKsC,EAAM,aACrCA,EAAK4H,OAAO8P,EAAc,GAEwB,KAA/CC,EAAcrX,EAAQ5C,KAAKsC,EAAM,YACpCA,EAAK4H,OAAO+P,EAAa,EAE3B,IAAI/O,IACFjK,KAAMA,EACNqB,KAAMA,EACN6F,QAAS,SAAS+R,EAAKrF,EAAS9N,GAkB5B,QAASoT,GAAkB5X,EAAOmV,EAAUkC,GAC1C,MAAoB,gBAATrX,IAAwC,kBAAZmV,GAC9BwC,EAAI3X,GACNoL,EAAQ3N,KAAK6F,EAAQtD,EAAOmV,EAAUkC,EAAS7S,EAAO4O,IAlBjE,IAAK,GADDyE,MACK3X,EAAI,EAAGA,EAAIH,EAAKd,OAAQiB,IAC/B2X,EAAUvX,KAAKqX,EAAI5X,EAAKG,IAE1BsE,GAAOsT,IAAMtT,EAAO4O,GAEpB5O,EAAO4K,OAAS,aAGG,IAAfsI,GACFG,EAAUlQ,OAAO+P,EAAa,EAAGlT,GAEf,IAAhBiT,GACFI,EAAUlQ,OAAO8P,EAAc,EAAGnF,GAEhB,IAAhBqE,IAMFiB,EAAkBG,MAAQ,SAASrZ,GAEjC,GAAIsZ,GAAqB1U,EAAOqM,qBAA0D,OAAnCjR,EAAKU,OAAOV,EAAKO,OAAS,EAAG,GAChF4K,EAAMvG,EAAOwM,cAAcpR,EAAM8F,EAAO4O,GAG5C,OAFI4E,IAAuD,OAAjCnO,EAAIzK,OAAOyK,EAAI5K,OAAS,EAAG,KACnD4K,EAAMA,EAAIzK,OAAO,EAAGyK,EAAI5K,OAAS,IAC5B4K,GAETgO,EAAUlQ,OAAOgP,EAAc,EAAGiB,GAIpC,IAAIK,GAAaxb,EAAS2O,OAC1B3O,GAAS2O,QAAUA,CAEnB,IAAIkI,GAASkE,EAAQ5D,MAAsB,IAAhB6D,EAAqBhb,EAAW6V,EAASuF,EAOpE,OALApb,GAAS2O,QAAU6M,EAEE,mBAAV3E,IAAyB9O,IAClC8O,EAAS9O,EAAO8N,SAEG,mBAAVgB,GACFA,EADT,QAMJ,IAAK5U,EAcgB,GAAfqB,EAAKd,QAAgBiZ,EAAWC,YAAeD,EAAWE,UAQxDF,EAAWC,YAAcD,EAAWC,WAAWzZ,MACjD4E,EAAOqQ,gBAAgBuE,EAAWC,WAAWzZ,KAAMwZ,EAAWC,WAAWpY,MAAM,EAAOmY,EAAWC,WAAWvS,SAE9GsS,EAAWC,WAAa,MAVxBD,EAAWC,WAAaxP,EAc1BuP,EAAWE,UAAW,EAGtB9U,EAAOqQ,gBAAgBjV,EAAMiK,EAAO5I,MAAM,EAAO4I,EAAO/C,aAhC/C,CAET,GAAIsS,EAAWC,WACb,KAAM,IAAIjZ,WAAU,wCACtBgZ,GAAWC,WAAaxP,GAkC5B,QAAS0P,GAAa/U,GACpB4U,EAAWC,WAAa,KACxBD,EAAWE,UAAW,CAGtB,IAAIE,GAAY7b,EAAS+H,OACrB+T,EAAa9b,EAAS6V,QACtBkG,EAAY/b,EAASkM,MAMzB,OAJAlM,GAAS+H,OAASS,OAClBxI,EAAS6V,QAAUrN,OACnBxI,EAASkM,OAASA,EAEX,WACLlM,EAASkM,OAAS6P,EAClB/b,EAAS+H,OAAS8T,EAClB7b,EAAS6V,QAAUiG,GAvNvB,GAAIjV,GAASxF,IACb4K,GAAYjL,KAAKK,KAEjB,IAAIiY,GAAe,2CACfoB,EAAgB,kCAChBC,EAAiB,6CACjBP,EAAiB,eACjBE,EAAU,aAEVE,IA2LJtO,GAAO8P,MAuBP,IAAIP,IACFE,UAAU,EACVD,WAAY,KAGd7U,GAAOkG,IAAI,gBAAiBlG,EAAO4F,WACjCmP,aAAcA,EACdjN,QAASA,EACTzC,OAAQA,EACRuP,WAAYA,KAEd5U,EAAOoV,UAAY/P,EACnBrF,EAAOqV,WAAavN,KAOxB,WAIE,GAAIwN,GAAW,yRAGfjZ,GAAK,eAAgB,SAAS4Q,GAC5B,MAAO,UAAShM,GACdgM,EAAa9S,KAAKK,KAAMyG,EAExB,IAAI2T,GAAapa,KAAKQ,IAAI,iBAAiB4Z,YACvCA,EAAWC,YAAcD,EAAWE,YACtC7T,EAAKnB,SAAS0Q,OAAS;AACvBvP,EAAKnB,SAASoN,YAAa,EAC3B0H,EAAWE,UAAW,GAGpBF,EAAWC,aACb5T,EAAKnB,SAASrD,KAAOwE,EAAKnB,SAASrD,KAAOwE,EAAKnB,SAASrD,KAAKe,OAAOoX,EAAWC,WAAWpY,MAAQmY,EAAWC,WAAWpY,KACxHwE,EAAKnB,SAASwC,QAAUsS,EAAWC,WAAWvS,QAC9CsS,EAAWC,WAAa,SAK9BxY,EAAK,QAAS,SAASkF,GACrB,MAAO,UAASN,GAKd,MAJ6B,QAAzBA,EAAKnB,SAAS0Q,SAChBvP,EAAKnB,SAASqN,YAAa,GACzBlM,EAAKnB,SAASqN,YAChB3S,KAAKQ,IAAI,iBAAiB+Z,aAAava,MAClC+G,EAAMpH,KAAKK,KAAMyG,MAI5B5E,EAAK,cAAe,SAASoF,GAC3B,MAAO,UAASR,GACd,GAAIjB,GAASxF,IAEb,IAA4B,OAAxByG,EAAKnB,SAAS0Q,SAAoBvP,EAAKnB,SAAS0Q,QAAUvP,EAAKlH,OAAO4E,MAAM2W,GAAW,CAGzF,GAFArU,EAAKnB,SAAS0Q,OAAS,MAElBxQ,EAAOuV,SAAWvV,EAAOsC,WAAY,EAqBxCrB,EAAKnB,SAASwC,QAAU,WACtB,MAAOrB,GAAKnB,SAAS0V,sBAtBwB,CAC/C,GAAIC,GAAejb,KAAKQ,IAAI,iBAAiB+Z,aAAa/U,EAE1DmI,GAAOhO,KAAK6F,EAAQiB,GAEpBwU,EAAazV,EAEb,IAAI4U,GAAapa,KAAKQ,IAAI,iBAAiB4Z,UAE3C,KAAKA,EAAWC,aAAeD,EAAWE,SACxC,KAAM,IAAIlZ,WAAU,cAAgBqF,EAAK7F,KAAO,kBAE9CwZ,GAAWC,aACb5T,EAAKnB,SAASrD,KAAOwE,EAAKnB,SAASrD,KAAOwE,EAAKnB,SAASrD,KAAKe,OAAOoX,EAAWC,WAAWpY,MAAQmY,EAAWC,WAAWpY,KACxHwE,EAAKnB,SAASwC,QAAUsS,EAAWC,WAAWvS,SAGhDsS,EAAWE,UAAW,EACtBF,EAAWC,WAAa,KAQ1B,MAAOpT,GAAYtH,KAAK6F,EAAQiB,GAGlC,MAAOQ,GAAYtH,KAAK6F,EAAQiB,SAmBtC1E,EAAgB,SAAS6I,GACvB,MAAO,YACLA,EAAYjL,KAAKK,MACjBA,KAAKkK,UAITrI,EAAK,YAAa,SAAS0E,GACzB,MAAO,UAAS3F,EAAMqK,EAAYC,GAChC,GAAyB,KAArBtK,EAAKU,OAAO,EAAG,IAAkC,KAArBV,EAAKU,OAAO,EAAG,KAAcV,EAAKuD,MAAMgN,GAAc,CACpF,GAAI+J,GAAWC,EAAkB,CAGjC,KAAK,GAAIna,KAAKhB,MAAKkK,IACjB,GAAItJ,EAAKU,OAAO,EAAGN,EAAEG,SAAWH,IAAMJ,EAAKO,QAAUH,EAAEG,QAA4B,KAAlBP,EAAKI,EAAEG,SAAiB,CACvF,GAAIia,GAAiBpa,EAAEE,MAAM,KAAKC,MAClC,IAAsBga,GAAlBC,EACF,QACFF,GAAYla,EACZma,EAAkBC,EAIlBF,IACFta,EAAOZ,KAAKkK,IAAIgR,GAAata,EAAKU,OAAO4Z,EAAU/Z,SAGvD,MAAOoF,GAAU5G,KAAKK,KAAMY,EAAMqK,EAAYC,MAQlDrJ,EAAK,YAAa,SAAS0E,GAEzB,MAAO,UAAS3F,EAAMqK,GACpB,GAAI8G,GAAaxL,EAAU5G,KAAKK,KAAMY,EAAMqK,EAG5C,OAAIjL,MAAK+K,IAAIgH,GACJA,EAELA,EAAW5N,MAAMgN,IAEfnR,KAAK6R,qBAAsE,OAA/CE,EAAWzQ,OAAOyQ,EAAW5Q,OAAS,EAAG,KACvE4Q,GAAc,OACTA,IAITA,EAAapR,EAAWX,KAAKU,MAAOqR,IAAeA,EAG/C/R,KAAK6R,qBAAsE,OAA/CE,EAAWzQ,OAAOyQ,EAAW5Q,OAAS,EAAG,KACvE4Q,GAAc,OAGK,KAAjBA,EAAW,IAA8B,KAAjBA,EAAW,GAC9B,GAAIvO,GAAIuO,EAAYX,GAAY1N,KAGhC,GAAIF,GAAIuO,EAAY1O,EAAc1D,KAAKK,OAAO0D,SAyD3D,WASE,QAAS2X,GAAWza,GAClB,IAAK,GAAII,KAAKhB,MAAKyR,SACjB,GAAI7Q,EAAKU,OAAO,EAAGN,EAAEG,UAAYH,IAAMJ,EAAKO,SAAWH,EAAEG,QAA6B,MAAnBP,EAAKI,EAAEG,SACxE,MAAOH,GAIb,QAASsa,GAAiB9V,EAAQ+V,GAChC,GAAIC,GAAYhW,EAAOiM,SAAS8J,EAEhC,OAAKC,GAAUC,IAKRjW,EAAO,UAAUgW,EAAUtR,IAAI,SAAW,cAAeqR,GAC/D/U,KAAK,SAASiV,GAEb,GAAIvJ,KACJ,KAAK,GAAIlR,KAAKwa,GACF,QAANxa,EAAoB,QAANA,IAChBkR,EAAIlR,GAAKwa,EAAUxa,GAEvBkR,GAAIhI,MACJ,KAAK,GAAIlJ,KAAKwa,GAAUtR,IACtBgI,EAAIhI,IAAIlJ,GAAKwa,EAAUtR,IAAIlJ,EAE7B,KAAK,GAAIpB,KAAK4b,GAAUC,IACtB,GAAIA,EAAI7b,GAAI,CACV,GAAI8b,GAAYF,EAAUC,IAAI7b,EAC1B8b,GAAUvJ,OACZD,EAAIC,KAAOuJ,EAAUvJ,KACvB,KAAK,GAAI1H,KAAKiR,GAAUxR,IACtBgI,EAAIhI,IAAIO,GAAKiR,EAAUxR,IAAIO,GAOjC,MAFAjF,GAAOiM,SAAS8J,GAAWrJ,EAEpBA,IA7BAzM,QAAQY,QAAQmV,GAiC3B,QAASG,GAASzR,EAAKtJ,GACrB,GAAIsa,GAAWC,EAAkB,CAEjC,KAAK,GAAIna,KAAKkJ,GACZ,GAAItJ,EAAKU,OAAO,EAAGN,EAAEG,SAAWH,IAAMJ,EAAKO,QAAUH,EAAEG,QAA4B,KAAlBP,EAAKI,EAAEG,SAAiB,CACvF,GAAIia,GAAiBpa,EAAEE,MAAM,KAAKC,MAClC,IAAsBga,GAAlBC,EACF,QACFF,GAAYla,EACZma,EAAkBC,EAGtB,MAAIF,GACKhR,EAAIgR,GAAata,EAAKU,OAAO4Z,EAAU/Z,QADhD,OA/DFY,EAAgB,SAAS6I,GACvB,MAAO,YACLA,EAAYjL,KAAKK,MACjBA,KAAKyR,eAgET/P,EAAeI,UAAUkQ,cAAgBtQ,EAAeI,UAAUyE,UAElE1E,EAAK,YAAa,SAAS0E,GACzB,MAAO,UAAS3F,EAAMqK,GAEpB,GAAIA,EACF,GAAI2Q,GAAgBP,EAAW1b,KAAKK,KAAMiL,IACtCjL,KAAK6R,qBAAsE,OAA/C5G,EAAW3J,OAAO2J,EAAW9J,OAAS,EAAG,IACrEka,EAAW1b,KAAKK,KAAMiL,EAAW3J,OAAO,EAAG2J,EAAW9J,OAAS,GAGrE,IAAIya,GAA6B,MAAZhb,EAAK,GAAY,CACpC,GAAIib,GAAY7b,KAAKyR,SAASmK,GAAe1R,GACzC2R,KACFjb,EAAO+a,EAASE,EAAWjb,IAASA,EAGpB,MAAZA,EAAK,KACPqK,EAAa2Q,EAAgB,MAInC,GAAI1B,GAAqBla,KAAK6R,qBAA0D,OAAnCjR,EAAKU,OAAOV,EAAKO,OAAS,EAAG,GAG9E4Q,EAAaxL,EAAU5G,KAAKK,KAAMY,EAAMqK,EAGO,QAA/C8G,EAAWzQ,OAAOyQ,EAAW5Q,OAAS,EAAG,KAC3C+Y,GAAqB,GACnBA,IACFnI,EAAaA,EAAWzQ,OAAO,EAAGyQ,EAAW5Q,OAAS,GAGxD,IAAIoa,GAAUF,EAAW1b,KAAKK,KAAM+R,GAEhCvM,EAASxF,IAEb,OAAIub,GACKD,EAAiBtb,KAAMub,GAC7B/U,KAAK,SAAS0L,GAKb,GAHIqJ,IAAYxJ,GAAcG,EAAIC,OAChCJ,GAAc,KAAgC,MAAzBG,EAAIC,KAAK7Q,OAAO,EAAG,GAAa4Q,EAAIC,KAAK7Q,OAAO,GAAK4Q,EAAIC,OAEvC,KAArCJ,EAAWzQ,OAAOia,EAAQpa,QAC5B,MAAO4Q,EAIT,IAAI+J,GAAmB,EAClB5J,GAAIR,MAASQ,EAAIR,KAAKK,EAAWzQ,OAAOia,EAAQpa,OAAS,MAGxD,oBAAsB+Q,GACpBA,EAAI4J,oBAAqB,GAAyD,IAAhD/J,EAAW7Q,MAAM,KAAKuX,MAAM1T,YAAY,OAC5E+W,EAAmB,IAAM5J,EAAI4J,kBAGxB5B,IACP4B,EAAmB,OAKvB,IAAIC,GAAU,IAAMhK,EAAWzQ,OAAOia,EAAQpa,QAC1C6a,EAASL,EAASzJ,EAAIhI,IAAK6R,IAAYD,GAAoBH,EAASzJ,EAAIhI,IAAK6R,EAAUD,EAO3F,OANIE,GACFjK,EAAoC,MAAvBiK,EAAO1a,OAAO,EAAG,GAAaia,EAAUS,EAAO1a,OAAO,GAAKiF,EAAU5G,KAAK6F,EAAQwW,GAE/FjK,GAAc+J,EAGT/J,KAKPmI,IACFnI,GAAc,OAETA,MAIXlQ,EAAK,SAAU,SAASgF,GACtB,MAAO,UAASJ,GACd,GAAIjB,GAASxF,IACb,OAAOyF,SAAQY,QAAQQ,EAAOlH,KAAKK,KAAMyG,IACxCD,KAAK,SAASZ,GACb,GAAI2V,GAAUF,EAAW1b,KAAK6F,EAAQiB,EAAK7F,KAC3C,IAAI2a,EAAS,CACX,GAAIrJ,GAAM1M,EAAOiM,SAAS8J,EAU1B,IAPIrJ,EAAI8D,SACNvP,EAAKnB,SAAS0Q,OAASvP,EAAKnB,SAAS0Q,QAAU9D,EAAI8D,QAGjD9D,EAAI1M,SACNiB,EAAKnB,SAASE,OAASiB,EAAKnB,SAASE,QAAU0M,EAAI1M,QAEjD0M,EAAIR,KAAM,CAEZ,GAEIuK,GAFAvK,KACAwK,EAAY,CAEhB,KAAK,GAAIxV,KAAUwL,GAAIR,KAErB,GADAuK,EAAgBvV,EAAOnE,QAAQ,KACT,KAAlB0Z,GAEAvV,EAAOpF,OAAO,EAAG2a,KAAmBxV,EAAK7F,KAAKU,OAAO,EAAG2a,IACrDvV,EAAOpF,OAAO2a,EAAgB,KAAOxV,EAAK7F,KAAKU,OAAOmF,EAAK7F,KAAKO,OAASuF,EAAOvF,OAAS8a,EAAgB,GAAI,CAClH,GAAIE,GAAQzV,EAAOxF,MAAM,KAAKC,MAC1Bgb,GAAQD,IACVE,UAAYD,GACdtZ,EAAW6O,EAAMQ,EAAIR,KAAKhL,GAASwV,GAAaC,GAIpD,GAAIE,GAAYnK,EAAIR,KAAKjL,EAAK7F,KAAKU,OAAOia,EAAQpa,OAAS,GACvDkb,IACFxZ,EAAW6O,EAAM2K,GAGf3K,EAAK4K,OAAoC,MAA3B5K,EAAK4K,MAAMhb,OAAO,EAAG,KACrCoQ,EAAK4K,MAAQf,EAAU7J,EAAK4K,MAAMhb,OAAO,IACvCoQ,EAAKlM,QAAsC,MAA5BkM,EAAKlM,OAAOlE,OAAO,EAAG,KACvCoQ,EAAKlM,OAAS+V,EAAU7J,EAAKlM,OAAOlE,OAAO,IAE7CuB,EAAW4D,EAAKnB,SAAUoM,IAI9B,MAAO9L,WAaf,WAGE,QAAS2W,GAAgBhW,EAAW3F,EAAMqK,EAAYuR,GACpD,GAEIC,GAFAjX,EAASxF,IAGTiL,IAA+D,KAAhDwR,EAAoBxR,EAAW1I,QAAQ,QACxD0I,EAAaA,EAAW3J,OAAO,EAAGmb,GAGpC,IAAIC,GAAc9b,EAAKmE,YAAY,IACnC,IAAmB,IAAf2X,EAAmB,CACrB,GAAIC,GAAe/b,EAAKU,OAAO,EAAGob,GAC9BE,EAAahc,EAAKU,OAAOob,EAAc,IAAMC,EAAarb,OAAOqb,EAAa5X,YAAY,KAAO,GAKjG+W,EAAmBtW,EAAOqM,qBAA0E,OAAnD8K,EAAarb,OAAOqb,EAAaxb,OAAS,EAAG,EAElG,OAAIqb,IACFG,EAAenX,EAAOwM,cAAc2K,EAAc1R,GAClD2R,EAAapX,EAAOwM,cAAc4K,EAAY3R,GAE1C6Q,GAAuE,OAAnDa,EAAarb,OAAOqb,EAAaxb,OAAS,EAAG,KACnEwb,EAAeA,EAAarb,OAAO,EAAGqb,EAAaxb,OAAS,IAEvDwb,EAAe,IAAMC,GAGrBnX,QAAQ0C,KACb3C,EAAOe,UAAUoW,EAAc1R,GAC/BzF,EAAOe,UAAUqW,EAAY3R,KAE9BzE,KAAK,SAASuL,GAIb,MAHA4K,GAAe5K,EAAW,GACtB+J,GAAuE,OAAnDa,EAAarb,OAAOqb,EAAaxb,OAAS,EAAG,KACnEwb,EAAeA,EAAarb,OAAO,EAAGqb,EAAaxb,OAAS,IACvDwb,EAAe,IAAM5K,EAAW,KAK3C,MAAOxL,GAAU5G,KAAK6F,EAAQ5E,EAAMqK,GAKxCpJ,EAAK,YAAa,SAAS0E,GACzB,MAAO,UAAS3F,EAAMqK,GACpB,MAAOsR,GAAgB5c,KAAKK,KAAMuG,EAAW3F,EAAMqK,GAAY,MAInEpJ,EAAK,gBAAiB,SAASmQ,GAC7B,MAAO,UAASpR,EAAMqK,GACpB,MAAOsR,GAAgB5c,KAAKK,KAAMgS,EAAepR,EAAMqK,GAAY,MAIvEpJ,EAAK,SAAU,SAASgF,GACtB,MAAO,UAASJ,GACd,GAAIjB,GAASxF,KAETY,EAAO6F,EAAK7F,KAGZic,EAAoBjc,EAAKmE,YAAY,IAMzC,OALyB,IAArB8X,IACFpW,EAAKnB,SAASE,OAAS5E,EAAKU,OAAOub,EAAoB,GACvDpW,EAAK7F,KAAOA,EAAKU,OAAO,EAAGub,IAGtBhW,EAAOlH,KAAK6F,EAAQiB,GAC1BD,KAAK,SAASZ,GACb,GAAIkX,GAASrW,EAAKnB,SAASE,MAE3B,KAAKsX,EACH,MAAOlX,EAGT,IAAIJ,EAAOgO,SAAWhO,EAAOgO,QAAQ5S,GACnC,MAAOgF,EAET,IAAIiI,GAAerI,EAAOqI,cAAgBrI,CAG1C,OAAOqI,GAAa,UAAUiP,GAC7BtW,KAAK,SAASuW,GAMb,MAJAtW,GAAKnB,SAASyX,aAAeA,EAC7BtW,EAAKnB,SAAS0X,eAAiBpc,EAE/B6F,EAAKb,QAAUA,EACXmX,EAAalW,OACRkW,EAAalW,OAAOlH,KAAK6F,EAAQiB,GAEnCb,SAMf/D,EAAK,QAAS,SAASkF,GACrB,MAAO,UAASN,GACd,GAAIjB,GAASxF,IACb,OAAIyG,GAAKnB,SAASyX,cAAgBtW,EAAKnB,SAASyX,aAAahW,OAC3DN,EAAKnB,SAASqN,YAAa,EACpBlM,EAAKnB,SAASyX,aAAahW,MAAMpH,KAAK6F,EAAQiB,EAAM,SAASA,GAClE,MAAOM,GAAMpH,KAAK6F,EAAQiB,MAIrBM,EAAMpH,KAAK6F,EAAQiB,MAKhC5E,EAAK,YAAa,SAASmF,GACzB,MAAO,UAASP,GACd,GAAIjB,GAASxF,IACb,OAAIyG,GAAKnB,SAASyX,cAAgBtW,EAAKnB,SAASyX,aAAa/V,UACpDvB,QAAQY,QAAQI,EAAKnB,SAASyX,aAAa/V,UAAUrH,KAAK6F,EAAQiB,IAAOD,KAAK,SAASyW,GAG5F,MAFqB,gBAAVA,KACTxW,EAAKlH,OAAS0d,GACTjW,EAAUrH,KAAK6F,EAAQiB,KAGzBO,EAAUrH,KAAK6F,EAAQiB,MAIpC5E,EAAK,cAAe,SAASoF,GAC3B,MAAO,UAASR,GACd,GAAIjB,GAASxF,KAOT2O,EAAYlI,EAAKnB,SAASqJ,SAG9B,IAAIA,GAAiC,gBAAbA,GAAuB,CAC7C,GAAIuO,GAAezW,EAAK7F,KAAKM,MAAM,KAAK,EAGxCyN,GAAUwO,KAAOD,EAAe,cAG3BvO,EAAUyO,SAAuC,GAA5BzO,EAAUyO,QAAQjc,SAC1CwN,EAAUyO,SAAWF,IACvBzW,EAAKnB,SAASqJ,UAAY0O,KAAKC,UAAU3O,GAG3C,MAAIlI,GAAKnB,SAASyX,cAAgBtW,EAAKnB,SAASyX,aAAa9V,YACpDxB,QAAQY,QAAQI,EAAKnB,SAASyX,aAAa9V,YAAYtH,KAAK6F,EAAQiB,IAAOD,KAAK,SAASyW,GAK9F,MAJAxW,GAAKnB,SAAS0Q,OAAS,UACvBvP,EAAKnB,SAASwC,QAAU,WACtB,MAAOmV,IAEFhW,EAAYtH,KAAK6F,EAAQiB,KAG3BQ,EAAYtH,KAAK6F,EAAQiB,SAaxC,WAEE5E,EAAK,QAAS,SAASkF,GACrB,MAAO,UAASN,GACd,GAAI6V,GAAQ7V,EAAKnB,SAASgX,MACtBiB,EAAY9W,EAAKnB,SAASrD,QAC9B,OAAIqa,IACF7V,EAAKnB,SAAS0Q,OAAS,UACvBhW,KAAKwT,QAAQ/M,EAAK7F,OAChBsT,aAAa,EACbjS,KAAMsb,EAAUva,QAAQsZ,IACxB1U,QAAS,SAAS4V,GAChB,OACE1I,SAAU,SAASpO,GACjB,IAAK,GAAI1F,KAAK0F,GACZ8W,EAAQxc,EAAG0F,EAAO1F,MAEtB8G,QAAS,gBAIR,IAGFf,EAAMpH,KAAKK,KAAMyG,SA8C9B,WA8CE,QAASgX,GAAgBnO,EAAQtO,EAAGkC,GAGlC,IAFA,GACIwa,GADAva,EAASnC,EAAEE,MAAM,KAEdiC,EAAOhC,OAAS,GACrBuc,EAAUva,EAAOC,QACjBkM,EAASA,EAAOoO,GAAWpO,EAAOoO,MAEpCA,GAAUva,EAAOC,QACXsa,IAAWpO,KACfA,EAAOoO,GAAWxa,GArDtBnB,EAAgB,SAAS6I,GACvB,MAAO,YACL5K,KAAK0R,QACL9G,EAAYjL,KAAKK,SAIrB6B,EAAK,SAAU,SAASgF,GACtB,MAAO,UAASJ,GACd,GAQIwV,GARAvK,EAAO1R,KAAK0R,KACZ9Q,EAAO6F,EAAK7F,KAMZsb,EAAY,CAEhB,KAAK,GAAIxV,KAAUgL,GAEjB,GADAuK,EAAgB1Z,EAAQ5C,KAAK+G,EAAQ,KACf,KAAlBuV,GAEAvV,EAAOpF,OAAO,EAAG2a,KAAmBrb,EAAKU,OAAO,EAAG2a,IAChDvV,EAAOpF,OAAO2a,EAAgB,KAAOrb,EAAKU,OAAOV,EAAKO,OAASuF,EAAOvF,OAAS8a,EAAgB,GAAI,CACxG,GAAIE,GAAQzV,EAAOxF,MAAM,KAAKC,MAC1Bgb,GAAQD,IACVE,UAAYD,GACdtZ,EAAW4D,EAAKnB,SAAUoM,EAAKhL,GAASwV,GAAaC,GAQzD,MAHIzK,GAAK9Q,IACPiC,EAAW4D,EAAKnB,SAAUoM,EAAK9Q,IAE1BiG,EAAOlH,KAAKK,KAAMyG,KAM7B,IAAIkX,GAAY,uFACZC,EAAgB,uEAcpB/b,GAAK,YAAa,SAASmF,GACzB,MAAO,UAASP,GAEd,GAAIiL,GAAOjL,EAAKlH,OAAO4E,MAAMwZ,EAC7B,IAAIjM,EAGF,IAAK,GAFDmM,GAAYnM,EAAK,GAAGvN,MAAMyZ,GAErBxb,EAAI,EAAGA,EAAIyb,EAAU1c,OAAQiB,IAAK,CACzC,GAAIsb,GAAUG,EAAUzb,GACpB+S,EAAMuI,EAAQvc,OAEd2c,EAAYJ,EAAQpc,OAAO,EAAG,EAIlC,IAHkC,KAA9Boc,EAAQpc,OAAO6T,EAAM,EAAG,IAC1BA,IAEe,KAAb2I,GAAiC,KAAbA,EAAxB,CAGA,GAAIC,GAAaL,EAAQpc,OAAO,EAAGoc,EAAQvc,OAAS,GAChD6c,EAAWD,EAAWzc,OAAO,EAAGyc,EAAWxb,QAAQ,KAEvD,IAAIyb,EAAU,CACZ,GAAIC,GAAYF,EAAWzc,OAAO0c,EAAS7c,OAAS,EAAG4c,EAAW5c,OAAS6c,EAAS7c,OAAS,EAE9C,OAA3C6c,EAAS1c,OAAO0c,EAAS7c,OAAS,EAAG,KACvC6c,EAAWA,EAAS1c,OAAO,EAAG0c,EAAS7c,OAAS,GAChDsF,EAAKnB,SAAS0Y,GAAYvX,EAAKnB,SAAS0Y,QAItCvX,EAAKnB,SAAS0Y,YAAqBjb,OACrC0D,EAAKnB,SAAS0Y,GAAUxb,KAAKyb,GAE7BR,EAAgBhX,EAAKnB,SAAU0Y,EAAUC,OAG3CxX,GAAKnB,SAASyY,IAAc,GAKlC,MAAO/W,GAAUrH,KAAKK,KAAMyG,SAkBlC,WAcE,QAASyX,GAAe1Y,EAAQ6M,GAC9B,MAAO5M,SAAQY,QAAQb,EAAOe,UAAU8L,IACvC7L,KAAK,SAASuL,GAGb,MAFAvM,GAAO2Y,eAAepM,IAAc,EACpCvM,EAAOoM,QAAQG,GAAcvM,EAAOoM,QAAQG,IAAevM,EAAOoM,QAAQS,GACnE7M,EAAOiB,KAAKsL,KAEpBvL,KAAK,WACJ,MAAO,KAhBXzE,EAAgB,SAAS6I,GACvB,MAAO,YACLA,EAAYjL,KAAKK,MACjBA,KAAK4R,WACL5R,KAAKme,qBAiBTtc,EAAK,SAAU,SAASgF,GACtB,MAAO,UAASJ,GAId,OAHIA,EAAK7F,OAAQZ,MAAKme,gBAAkB1X,EAAK7F,OAAQZ,MAAK4R,WACxDnL,EAAKnB,SAAS+M,QAAS,GAElBxL,EAAOlH,KAAKK,KAAMyG,MAI7B5E,EAAK,QAAS,SAASkF,GACrB,MAAO,UAASN,GACd,GAAIjB,GAASxF,IACb,IAAIwF,EAAOuE,MACT,MAAOhD,GAAMpH,KAAK6F,EAAQiB,EAG5B,IAAIA,EAAK7F,OAAQ4E,GAAOgO,QACtB,MAAO,EAGT,KAAK,GAAI7Q,KAAK6C,GAAO2Y,eACnB,GAAkD,IAA9C5b,EAAQ5C,KAAK6F,EAAOoM,QAAQjP,GAAI8D,EAAK7F,MACvC,MAAOsd,GAAe1Y,EAAQ7C,EAIlC,KAAK,GAAIA,KAAK6C,GAAOoM,QACnB,GAAkD,IAA9CrP,EAAQ5C,KAAK6F,EAAOoM,QAAQjP,GAAI8D,EAAK7F,MACvC,MAAOsd,GAAe1Y,EAAQ7C,EAGlC,OAAOoE,GAAMpH,KAAK6F,EAAQiB,SAyBhC,WACE1E,EAAgB,SAAS6I,GACvB,MAAO,YACLA,EAAYjL,KAAKK,MACjBA,KAAK2R,eAIT9P,EAAK,SAAU,SAASgF,GACtB,MAAO,UAASJ,GACd,GAAIjB,GAASxF,KAETiC,EAAOuD,EAAOmM,SAASlL,EAAK7F,KAChC,IAAIqB,EACF,IAAK,GAAIG,GAAI,EAAGA,EAAIH,EAAKd,OAAQiB,IAC/BoD,EAAO,UAAUvD,EAAKG,GAE1B,OAAOyE,GAAOlH,KAAK6F,EAAQiB,SA2CjC,WAEE,GAAI2X,GAAmB,oBAEvBrc,GAAgB,SAAS6I,GACvB,MAAO,YACLA,EAAYjL,KAAKK,MAGjBA,KAAK0L,IAAI,cAAe1L,KAAKoL,WAC3BiT,QAASjf,QAKfyC,EAAK,YAAa,SAAS0E,GACzB,MAAO,UAAS3F,EAAMqK,EAAYC,GAChC,GAAI1F,GAASxF,KACTse,EAAmB1d,EAAKuD,MAAMia,EAClC,IAAIE,EAAkB,CACpB,GAAIC,GAAyC,KAA1BD,EAAiB,GAAG,GAEnCE,EAAkBD,EAAeD,EAAiB,GAAGhd,OAAO,EAAGgd,EAAiB,GAAGnd,OAAS,GAAKmd,EAAiB,GAAGhd,OAAO,EAEhI,IAA0B,KAAtBkd,EAAgB,IAA6C,IAAhCA,EAAgBjc,QAAQ,KACvD,KAAM,IAAInB,WAAU,qBAAuBkd,EAAiB,GAAK,0DAEnE,IAAIG,GACAC,EAAuBF,EAAgBjc,QAAQ,IACvB,KAAxBmc,IACFD,EAAkBD,EAAgBld,OAAOod,EAAuB,GAChEF,EAAkBA,EAAgBld,OAAO,EAAGod,GAG9C,IAAIC,IAAmBJ,GAAsC,KAAtBC,EAAgB,EACnDG,KACFH,EAAkBA,EAAgBld,OAAO,GAE3C,IAAIuM,GAAerI,EAAOqI,cAAgBrI,CAE1C,OAAOqI,GAAa,UAAU2Q,EAAiBvT,EAAYC,GAC1D1E,KAAK,SAASiE,GACb,MAAwBtD,UAApBsX,EAEc,gBAALhU,GACFA,EAEAA,EAAE,WAGNxH,EAAqBwb,EAAiBhU,KAE9CjE,KAAK,SAASoY,GACb,GAAIL,EAAc,CAChB,GAA8B,gBAAnBK,GACT,KAAM,IAAIxd,WAAU,2BAA6Bod,EAAkB,gCACrE5d,GAAOA,EAAKY,QAAQ4c,EAAkBQ,OAEnC,CACH,GAA8B,iBAAnBA,GACT,KAAM,IAAIxd,WAAU,2BAA6Bod,EAAkB,iCACjEG,KACFC,GAAkBA,GAIlBhe,EAHGge,EAGIhe,EAAKY,QAAQ4c,EAAkB,IAF/B,SAIX,MAAO7X,GAAU5G,KAAK6F,EAAQ5E,EAAMqK,EAAYC,KAIpD,MAAOzF,SAAQY,QAAQE,EAAU5G,KAAK6F,EAAQ5E,EAAMqK,EAAYC,UAIjEzD,EAAS,GAAI/F,GAClB+F,EAAOmD,YAAclJ,EAEI,gBAAZ8S,WACT9N,OAAO8N,QAAU1U,GAEnBnB,EAASkgB,QAAUlgB,EAASkgB,YAC5BlgB,EAASkgB,QAAQ/e,OAASnB,EAASkgB,QAAQ/e,QAAUA,EACrDnB,EAASkgB,QAAQC,OAASngB,EAASkgB,QAAQC,QAAUngB,EACrDA,EAASogB,eAAiBjf,EAErB2H,IACHA,EAAS,GAAIhH,GACbgH,EAAOmD,YAAcnK,GAGA,gBAAZ+T,WACT9N,OAAO8N,QAAU/M,GAEnB9I,EAAS8I,OAASA,GAEF,mBAAR5D,MAAsBA,KAAOib,QAGvC,IACE,GAAIE,GAA+B,mBAAf/Z,cAA8D,SAAhC,GAAIzB,KAAI,YAAYiJ,SAExE,MAAM7M,IAEN,GAAuB,mBAAZ6F,UAA4BuZ,EA8BrCtgB,QA5BA,IAAwB,mBAAbqF,UAA0B,CACnC,GAAIuM,GAAUvM,SAASa,qBAAqB,SAC5C2L,cAAeD,EAAQA,EAAQnP,OAAS,EACxC,IAAI8d,GAAU1O,aAAa8C,IACvB6L,EAAWD,EAAQ3d,OAAO,EAAG2d,EAAQla,YAAY,KAAO,EAC5DnB,QAAOub,kBAAoBzgB,EAC3BqF,SAASqb,MACP,uCAA8CF,EAAW,sCAIxD,IAA6B,mBAAlBpb,eAA+B,CAC7C,GAAIob,GAAW,EACf,KACE,KAAM,IAAIlgB,OAAM,KAChB,MAAOY,GACPA,EAAEP,MAAMmC,QAAQ,iCAAkC,SAASiJ,EAAGsB,GAC5DmT,EAAWnT,EAAIvK,QAAQ,YAAa,OAGxCsC,cAAcob,EAAW,uBACzBxgB,QAGAA"} \ No newline at end of file +{"version":3,"sources":["system.src.js"],"names":["bootstrap","__global","addToError","err","msg","newErr","Error","message","fileName","lineNumber","isBrowser","stack","__eval","source","debugName","context","Function","call","e","Module","Loader","options","this","_loader","loaderObj","loads","modules","importPromises","moduleRecords","defineProperty","get","SystemLoader","paths","applyPaths","name","wildcard","pathMatch","maxSlashCount","p","pathParts","split","length","TypeError","slashCount","substr","outPath","replace","LoaderProto","SystemJSLoader","systemJSConstructor","SystemProto","hook","prototype","hookConstructor","group","deps","names","indices","i","l","index","indexOf","push","extend","a","b","prepend","extendMeta","val","Array","concat","readMemberExpression","value","pParts","shift","getBaseURLObj","baseURLCache","baseURL","URL","baseURI","href","isWorker","window","self","importScripts","document","isWindows","process","platform","match","console","assert","item","thisLen","Object","obj","prop","opt","getElementsByTagName","bases","location","lastIndexOf","cwd","URLPolyfill","createLoad","status","linkSets","dependencies","metadata","loadModule","loader","Promise","asyncStartLoadPartwayThrough","step","address","moduleName","moduleMetadata","moduleSource","moduleAddress","requestLoad","request","refererName","refererAddress","resolve","reject","normalize","then","load","module","proceedToLocate","proceedToFetch","locate","proceedToTranslate","fetch","translate","instantiate","instantiateResult","undefined","anonCnt","isDeclarative","transpile","transpiled","curSystem","System","curRegister","register","declare","depsList","execute","loadPromises","depLoad","key","addLoadToLinkSet","all","updateLinkSetOnLoad","exc","exception","linkSetFailed","stepState","existingLoad","done","linkSet","createLinkSet","startingLoad","loadingCount","j","d","doLink","error","link","_newModule","evaluated","finishLoad","abrupt","checkError","pLoad","dep","failed","linkIndex","splice","globalLoadsIndex","trace","depMap","forEach","map","kind","loadIndex","doDynamicExecute","linkError","createImportPromise","promise","m","evaluateLoadedModule","doEnsureEvaluated","constructor","define","delete","has","import","parentName","parentAddress","sourcePromise","newModule","pNames","getOwnPropertyNames","configurable","enumerable","preventExtensions","set","referrerName","referrerAddress","fetchTextFromURL","XMLHttpRequest","url","fulfill","xhr","responseText","statusText","sameDomain","doTimeout","domainCheck","exec","host","protocol","XDomainRequest","onload","onerror","ontimeout","onprogress","timeout","onreadystatechange","readyState","open","setRequestHeader","setTimeout","send","require","fs","readFile","data","dataString","__exec","transpiler","pluginLoader","__useDefault","transpileFunction","Compiler","traceurTranspile","createLanguageService","typescriptTranspile","babelTranspile","traceur","traceurOptions","script","sourceMaps","filename","inputSourceMap","sourceMap","compiler","doTraceurCompile","compile","babel","babelOptions","code","ast","transform","ts","typescriptOptions","target","ScriptTarget","ES5","inlineSourceMap","ModuleKind","preExec","postExec","getSource","lastLineIndex","hasBtoa","btoa","unescape","encodeURIComponent","chrome","extension","head","scripts","$__curScript","body","documentElement","createElement","text","_e","appendChild","removeChild","vmModule","vm","runInThisContext","toString","absURLRegEx","baseURIObj","systemImport","packageProperties","config","cfg","checkHasConfig","packages","meta","depCache","bundles","defaultJSExtensions","v","normalized","normalizeSync","pkgMatch","pkg","main","q","warn","bundle","c","normalizeProp","webWorkerImport","onScriptLoad","registered","scriptLoad","complete","evt","s","cleanup","detachEvent","removeEventListener","async","attachEvent","addEventListener","src","doRegister","calledRegister","defined","anonRegister","buildGroups","entry","groups","groupIndex","normalizedDeps","depName","depEntry","depGroupIndex","declarative","startEntry","curGroupDeclarative","linkDeclarativeModule","linkDynamicModule","getOrCreateModuleRecord","exports","importers","declaration","locked","importerModule","importerIndex","setters","depExports","depModule","esModule","originalIndices","len","getModule","ensureEvaluated","id","executingRequire","output","__esModule","getOwnPropertyDescriptor","hasOwnProperty","seen","registerDynamic","apply","arguments","format","del","registerRegEx","grouped","normalizePromises","esmRegEx","traceurRuntimeRegEx","babelHelpersRegEx","_loadedTranspiler","_loadedTranspilerRuntime","$traceurRuntime","babelHelpers","__globalName","globalValue","globals","g","exportName","retrieveGlobal","prepareGlobal","cRequire","forEachGlobal","callback","keys","forEachGlobalValue","globalName","ignoredGlobalProps","globalSnapshot","oldGlobals","singleGlobal","multipleExports","getCJSDeps","cjsRequireRegEx","lastIndex","commentRegEx","cjsExportsRegEx","windowOrigin","hostname","port","_nodeRequire","metaDeps","dirname","pop","join","__cjsWrapper","args","requireIndex","params","fnBracketRegEx","requireAlias","wsRegEx","requireRegEx","requireRegExs","RegExp","cjsRequirePre","cjsRequirePost","errback","referer","dynamicRequires","factory","exportsIndex","moduleIndex","req","contextualRequire","depValues","uri","toUrl","defaultJSExtension","curRequire","lastModule","anonDefine","isBundle","createDefine","oldModule","oldExports","oldDefine","amd","amdDefine","amdRequire","amdRegEx","builder","builderExecute","removeDefine","bestMatch","bestMatchLength","curMatchLength","getPackage","applyMap","envMap","pkgName","pkgMap","mapped","env","negate","createPackageNormalize","sync","parentPackage","parentMap","defaultExtension","subPath","wildcardIndex","bestDepth","depth","bestDetph","exactMeta","alias","normalizePlugin","parentPluginIndex","pluginIndex","argumentName","pluginName","pluginSyntaxIndex","plugin","loaderModule","loaderArgument","result","originalName","file","sources","JSON","stringify","aliasDeps","_export","setMetaProperty","curPart","metaRegEx","metaPartRegEx","metaParts","firstChar","metaString","metaName","metaValue","loadFromBundle","loadedBundles_","conditionalRegEx","browser","conditionalMatch","substitution","conditionModule","conditionExport","conditionExportIndex","booleanNegation","conditionValue","Reflect","global","LoaderPolyfill","hasURL","curPath","basePath","systemJSBootstrap","write"],"mappings":"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"} \ No newline at end of file diff --git a/dist/system.src.js b/dist/system.src.js index 5a7ced96..081c8c28 100644 --- a/dist/system.src.js +++ b/dist/system.src.js @@ -1,5 +1,5 @@ /* - * SystemJS v0.18.8 + * SystemJS v0.18.9 */ (function() { function bootstrap() {(function(__global) { @@ -1000,13 +1000,6 @@ SystemLoader.prototype = new LoaderProto(); var fetchTextFromURL; if (typeof XMLHttpRequest != 'undefined') { fetchTextFromURL = function(url, fulfill, reject) { - // percent encode just '#' in urls - // according to https://github.com/jorendorff/js-loaders/blob/master/browser-loader.js#L238 - // we should encode everything, but it breaks for servers that don't expect it - // like in (https://github.com/systemjs/systemjs/issues/168) - if (isBrowser) - url = url.replace(/#/g, '%23'); - var xhr = new XMLHttpRequest(); var sameDomain = true; var doTimeout = false; @@ -1451,6 +1444,7 @@ hook('import', function(systemImport) { For easy normalization canonicalization with latest URL support. */ +var packageProperties = ['main', 'format', 'defaultExtension', 'meta', 'map']; SystemJSLoader.prototype.config = function(cfg) { // always configure baseURL first @@ -1518,8 +1512,11 @@ SystemJSLoader.prototype.config = function(cfg) { prop = prop.substr(0, prop.length - 3); this.packages[prop]= this.packages[prop] || {}; - for (var q in cfg.packages[p]) + for (var q in cfg.packages[p]) { + if (indexOf.call(packageProperties, q) == -1 && typeof console != 'undefined' && console.warn) + console.warn('"' + q + '" is not a valid package configuration option in package ' + p); this.packages[prop][q] = cfg.packages[p][q]; + } } } @@ -3038,6 +3035,10 @@ hook('normalize', function(normalize) { if (this.has(normalized)) return normalized; + // percent encode just '#' in urls + if (isBrowser) + normalized = normalized.replace(/#/g, '%23'); + if (normalized.match(absURLRegEx)) { // defaultJSExtensions backwards compatibility if (this.defaultJSExtensions && normalized.substr(normalized.length - 3, 3) != '.js') @@ -3084,11 +3085,11 @@ hook('normalize', function(normalize) { * './vendor/another.js': './another/index.js', * // test.js / test -> lib/test.js * './test.js': './lib/test.js', - * }, - * env: { - * 'browser': { - * main: 'browser.js' - * } + * + * // environment-specific map configurations + * './index.js': { + * '~browser': './index-node.js' + * } * } * } * }; @@ -3106,6 +3107,7 @@ hook('normalize', function(normalize) { * - defaultJSExtensions applies after map when defaultExtension is not set * - if a meta value is available for a module, map and defaultExtension are skipped * - like global map, package map also applies to subpaths (sizzle/x, ./vendor/another/sub) + * - condition module map is '@env' module in package or '@system-env' globally * * In addition, the following meta properties will be allowed to be package * -relative as well in the package meta config: @@ -3130,43 +3132,6 @@ hook('normalize', function(normalize) { } } - function getPackageConfig(loader, pkgName) { - var pkgConfig = loader.packages[pkgName]; - - if (!pkgConfig.env) - return Promise.resolve(pkgConfig); - - // check environment conditions - // default environment condition is '@env' in package or '@system-env' globally - return loader['import'](pkgConfig.map['@env'] || '@system-env', pkgName) - .then(function(env) { - // derived config object - var pkg = {}; - for (var p in pkgConfig) - if (p !== 'map' & p !== 'env') - pkg[p] = pkgConfig[p]; - - pkg.map = {}; - for (var p in pkgConfig.map) - pkg.map[p] = pkgConfig.map[p]; - - for (var e in pkgConfig.env) { - if (env[e]) { - var envConfig = pkgConfig.env[e]; - if (envConfig.main) - pkg.main = envConfig.main; - for (var m in envConfig.map) - pkg.map[m] = envConfig.map[m]; - } - } - - // store the derived environment config so we have this cached for next time - loader.packages[pkgName] = pkg; - - return pkg; - }); - } - function applyMap(map, name) { var bestMatch, bestMatchLength = 0; @@ -3179,13 +3144,38 @@ hook('normalize', function(normalize) { bestMatchLength = curMatchLength; } } - if (bestMatch) - return map[bestMatch] + name.substr(bestMatch.length); + + return bestMatch; } - SystemJSLoader.prototype.normalizeSync = SystemJSLoader.prototype.normalize; + function envMap(loader, pkgName, pkgMap, name) { + var map = applyMap(pkgMap, name); + var mapped = pkgMap[map]; - hook('normalize', function(normalize) { + // conditional package map + if (mapped) { + if (typeof mapped == 'object') { + return loader['import'](pkgMap['@env'] || '@system-env', pkgName) + .then(function(env) { + // first map condition to match is used + for (var e in mapped) { + var negate = e[0] == '~'; + + var value = readMemberExpression(negate ? e.substr(1) : e, env); + + if (!negate && value || negate && !value) + return mapped[e] + name.substr(map.length); + } + }); + } + // normal map + else { + return mapped + name.substr(map.length); + } + } + } + + function createPackageNormalize(normalize, sync) { return function(name, parentName) { // apply contextual package map first if (parentName) { @@ -3197,11 +3187,15 @@ hook('normalize', function(normalize) { if (parentPackage && name[0] !== '.') { var parentMap = this.packages[parentPackage].map; if (parentMap) { - name = applyMap(parentMap, name) || name; + var map = applyMap(parentMap, name); - // relative maps are package-relative - if (name[0] === '.') - parentName = parentPackage + '/'; + if (map) { + name = parentMap[map] + name.substr(map.length); + + // relative maps are package-relative + if (name[0] === '.') + parentName = parentPackage + '/'; + } } } @@ -3222,40 +3216,50 @@ hook('normalize', function(normalize) { var loader = this; if (pkgName) { - return getPackageConfig(this, pkgName) - .then(function(pkg) { - // main - if (pkgName === normalized && pkg.main) - normalized += '/' + (pkg.main.substr(0, 2) == './' ? pkg.main.substr(2) : pkg.main); + var pkg = loader.packages[pkgName]; + // main + if (pkgName === normalized && pkg.main) + normalized += '/' + (pkg.main.substr(0, 2) == './' ? pkg.main.substr(2) : pkg.main); - if (normalized.substr(pkgName.length) == '/') - return normalized; + if (normalized.substr(pkgName.length) == '/') + return normalized; - // defaultExtension & defaultJSExtension - // if we have meta for this package, don't do defaultExtensions - var defaultExtension = ''; - if (!pkg.meta || !pkg.meta[normalized.substr(pkgName.length + 1)]) { - // apply defaultExtension + // defaultExtension & defaultJSExtension + // if we have meta for this package, don't do defaultExtensions + var defaultExtension = ''; + if (!pkg.meta || !pkg.meta[normalized.substr(pkgName.length + 1)]) { + // apply defaultExtension - if ('defaultExtension' in pkg) { - if (pkg.defaultExtension !== false && normalized.split('/').pop().lastIndexOf('.') == -1) - defaultExtension = '.' + pkg.defaultExtension; - } - // apply defaultJSExtensions if defaultExtension not set - else if (defaultJSExtension) { - defaultExtension = '.js'; - } + if ('defaultExtension' in pkg) { + if (pkg.defaultExtension !== false && normalized.split('/').pop().lastIndexOf('.') == -1) + defaultExtension = '.' + pkg.defaultExtension; } + // apply defaultJSExtensions if defaultExtension not set + else if (defaultJSExtension) { + defaultExtension = '.js'; + } + } - // apply submap checking without then with defaultExtension - var subPath = '.' + normalized.substr(pkgName.length); - var mapped = applyMap(pkg.map, subPath) || defaultExtension && applyMap(pkg.map, subPath + defaultExtension); + // sync normalize does not apply package map + if (sync || !pkg.map) + return normalized + defaultExtension; + + var subPath = '.' + normalized.substr(pkgName.length); + + // apply submap checking without then with defaultExtension + return Promise.resolve(envMap(loader, pkgName, pkg.map, subPath)) + .then(function(mapped) { + if (mapped) + return mapped; + + if (defaultExtension) + return envMap(loader, pkgName, pkg.map, subPath + defaultExtension); + }) + .then(function(mapped) { if (mapped) normalized = mapped.substr(0, 2) == './' ? pkgName + mapped.substr(1) : normalize.call(loader, mapped); else normalized += defaultExtension; - - return normalized; }); } @@ -3266,6 +3270,16 @@ hook('normalize', function(normalize) { return normalized; }; + } + + SystemJSLoader.prototype.normalizeSync = SystemJSLoader.prototype.normalize; + + hook('normalizeSync', function(normalize) { + return createPackageNormalize(normalize, true); + }); + + hook('normalize', function(normalize) { + return createPackageNormalize(normalize, false); }); hook('locate', function(locate) { @@ -3600,7 +3614,7 @@ hook('normalize', function(normalize) { var bestDepth = 0; var wildcardIndex; for (var module in meta) { - wildcardIndex = indexOf.call(module, '*'); + wildcardIndex = module.indexOf('*'); if (wildcardIndex === -1) continue; if (module.substr(0, wildcardIndex) === name.substr(0, wildcardIndex) diff --git a/package.json b/package.json index 80efaf27..870ab335 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "systemjs", - "version": "0.18.8", + "version": "0.18.9", "description": "System loader extension for flexible AMD & CommonJS support", "repository": { "type": "git",