From 4af3d2990836a7b9265928c34fc61b8f23253080 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Farkas=20J=C3=B3zsef?=
Date: Tue, 13 Dec 2016 22:59:03 +0100
Subject: [PATCH] gh-pages deploy on 13th December 2016
---
images/favicon.ico | Bin 0 -> 15086 bytes
index.html | 3 +-
uhk.js | 35874 ++++++++--------
uhk.js.map | 2 +-
vendor/font-awesome/css/font-awesome.min.css | 4 +-
vendor/font-awesome/fonts/FontAwesome.otf | Bin 124988 -> 134808 bytes
.../fonts/fontawesome-webfont.eot | Bin 76518 -> 165742 bytes
.../fonts/fontawesome-webfont.svg | 3350 +-
.../fonts/fontawesome-webfont.ttf | Bin 152796 -> 165548 bytes
.../fonts/fontawesome-webfont.woff | Bin 90412 -> 98024 bytes
.../fonts/fontawesome-webfont.woff2 | Bin 71896 -> 77160 bytes
11 files changed, 21077 insertions(+), 18156 deletions(-)
create mode 100644 images/favicon.ico
diff --git a/images/favicon.ico b/images/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..eed7bc9f04f0486c92c89ec9723c707adbb4942d
GIT binary patch
literal 15086
zcmeHOS!h&O7`~#=hYE^NwQqqc^v$SQ6p;k?1t0W9K_!bK!3D+T#RaEn65CpQ)ix~%
zqQ;dP+P(-)>Wd~dDxyZEDVl92nMr1!xp&rn-#F)bGh1eJCIfTe%Qpk~B
zCz3Qxnl6==N{CCOwuO>ZAxTn6N%;3{N%{|Yvk~)o!wgAkL4mJP1|m`|!2D2H@F7a{
zcgd0^GnOu0S_XUv`~z5k01(VEXp^?dfn3VSEfIH=nG1Xaya)V1t~tlEM=s<wtJV@GUTv#>-^&AlF9B2XZe5
z-T{-zOtt6a%ys5_ppe>Lv?DolUFrrzUZKTZ;BGEp{^Q_Yh+{{LlS1Y$>QIaecm5aq
zuGn|QF;E->#WA261K3vwOG`^r#^S|`Cv8WTNk=z1C9_Y1{=lkLtLzO84Fji7pYGM^
zbZ?2q#>Rh}nwt9Jp}D!a@4$fr!xa@3-gtKSjAd9hmLA$Ud-m)EFz@KmqlUF>*E-29
zo^Ix&j{g1o_v?Fmdq=!puR9nF${Hw0Cxpx8vK>2iY&e!3=AAfkVwhzT=+W9!(>|Y1
zdGqFt33WG+W2`zrf3UW;cEp4L{b`36FJ2g`s;cbT{${$my4wEo<;#(@6+>_g0USrk
zRa*z@U%q^~{NTX@J&FY~v4MVb9Y20t&oM4+FwHzZ%S1Q1kt4Zk+lTepy?eLO;c(b9
z)E^S>=;$z3R#qy4Khww?&4zBf-EP~tbLWIUVEbTxa@=ryXB=!co2#a##>#dfm}Xwa
zia#ijF{ei(`qz8$;>E1APncui-o1OHWo2aw)*MfJd%F?&8I4PA-N_aFRX-cXlIQyM
z>jT;{nWkk~c3rx3$=KT3YE~45Yf09^wQJV~(XSpcKFR;~?b})9PqKkPz(-__cvum+
zlC$8C*mLL3oxyC|`BeJAHH!b;yLStQf1$VkjT<-KYsU}g0_H?k$G^p5aXx(b&_pnu
z&9QXl%9VcY{KZ-nz@Ewg8`)U@z0aRNAK$ZQ&p6&&9)fA)jX}RR(|TY%5bM9XmqT9!
zvFCJPT=fqQ4h|!X0p-Bmw;E0ETfdR|at5=8CuU~KDdrPbjOf#>ot{VqziNv~f>lE1L5YZSb*ypg(v{_^s2
zFZ8=n&Xo>UuU_p&f5y}=>O$L@K
zyl3WWbi$C*G4&;eM1Y>y}Er0yDw<(XO@$m2bqp8+S3
zZM%{B9I){dAnxg~-mO3`-}SUb4xa$x2!>41=0)8k1eMP%=?TYdvA93+~>e#n$pB-lzNz2pD{rmUr@T>Uq!pkb&fAnjhYr~eA3kiy`Cv-iY3t<4lNQz(hUBVmKN1M)6kQSeKAi`rNR0e!}SlI
zIdg{fPw70$Xf(?3Dcb-m(!5iUO7Nlo$6!Bnj=E*b7H3yimkIuBJN(a1Es!Ti;?bi=
zmb$t+p5=2r^D_;33(DCbn-DAmdGqGYn_XfpCJ>w$cIf7GEr
z`2F>34(lw&%rCGR`VK`*{}6xY;`@^}_`NwV;v1Olz;D670e&lI^V@*BsFS*D0QLJD
zeuG(^@FeKqCLpw&K1EvC>4Z(%rk{dti4s8dQ^fdhEO4F!@P9hS0MUnVku1%F-vU
z-n~J3GFkDQGL$u@AR}Z&oQbT^k@pyLHNbO1+>=s){g=9zWm@}e*|KFkQw)t`_>}{=
z!{@?#%7MMA^U0GZ&ZkeGIHNDaLhz=N!N1fpq5&WyKs!b^dbh&CzAB
HGEw$_V`|dd
literal 0
HcmV?d00001
diff --git a/index.html b/index.html
index e1ca0cca..0897d5c9 100644
--- a/index.html
+++ b/index.html
@@ -2,10 +2,11 @@
-
+
Ultimate Hacking Keyboard Configurator
+
diff --git a/uhk.js b/uhk.js
index 31fc7f3b..3139309a 100644
--- a/uhk.js
+++ b/uhk.js
@@ -7627,6 +7627,15 @@
(factory());
}(this, (function () { 'use strict';
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+
+
var Zone$1 = (function (global) {
if (global.Zone) {
throw new Error('Zone already loaded.');
@@ -7637,37 +7646,46 @@
this._parent = parent;
this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';
this._properties = zoneSpec && zoneSpec.properties || {};
- this._zoneDelegate = new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);
+ this._zoneDelegate =
+ new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);
}
Zone.assertZonePatched = function () {
if (global.Promise !== ZoneAwarePromise) {
- throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` " +
- "has been overwritten.\n" +
- "Most likely cause is that a Promise polyfill has been loaded " +
- "after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. " +
- "If you must load one, do so before loading zone.js.)");
+ throw new Error('Zone.js has detected that ZoneAwarePromise `(window|global).Promise` ' +
+ 'has been overwritten.\n' +
+ 'Most likely cause is that a Promise polyfill has been loaded ' +
+ 'after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. ' +
+ 'If you must load one, do so before loading zone.js.)');
}
};
Object.defineProperty(Zone, "current", {
- get: function () { return _currentZone; },
+ get: function () {
+ return _currentZone;
+ },
enumerable: true,
configurable: true
});
Object.defineProperty(Zone, "currentTask", {
- get: function () { return _currentTask; },
+ get: function () {
+ return _currentTask;
+ },
enumerable: true,
configurable: true
});
Object.defineProperty(Zone.prototype, "parent", {
- get: function () { return this._parent; },
+ get: function () {
+ return this._parent;
+ },
enumerable: true,
configurable: true
});
Object.defineProperty(Zone.prototype, "name", {
- get: function () { return this._name; },
+ get: function () {
+ return this._name;
+ },
enumerable: true,
configurable: true
});
@@ -7738,8 +7756,8 @@
Zone.prototype.runTask = function (task, applyThis, applyArgs) {
task.runCount++;
if (task.zone != this)
- throw new Error('A task can only be run in the zone which created it! (Creation: ' +
- task.zone.name + '; Execution: ' + this.name + ')');
+ throw new Error('A task can only be run in the zone which created it! (Creation: ' + task.zone.name +
+ '; Execution: ' + this.name + ')');
var previousTask = _currentTask;
_currentTask = task;
var oldZone = _currentZone;
@@ -7788,40 +7806,51 @@
this._parentDelegate = parentDelegate;
this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);
this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);
- this._interceptZS = zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);
- this._interceptDlgt = zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);
+ this._interceptZS =
+ zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);
+ this._interceptDlgt =
+ zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);
this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);
- this._invokeDlgt = zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);
- this._handleErrorZS = zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);
- this._handleErrorDlgt = zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);
- this._scheduleTaskZS = zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);
- this._scheduleTaskDlgt = zoneSpec && (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);
- this._invokeTaskZS = zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);
- this._invokeTaskDlgt = zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);
- this._cancelTaskZS = zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);
- this._cancelTaskDlgt = zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);
+ this._invokeDlgt =
+ zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);
+ this._handleErrorZS =
+ zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);
+ this._handleErrorDlgt =
+ zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);
+ this._scheduleTaskZS =
+ zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);
+ this._scheduleTaskDlgt =
+ zoneSpec && (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);
+ this._invokeTaskZS =
+ zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);
+ this._invokeTaskDlgt =
+ zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);
+ this._cancelTaskZS =
+ zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);
+ this._cancelTaskDlgt =
+ zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);
this._hasTaskZS = zoneSpec && (zoneSpec.onHasTask ? zoneSpec : parentDelegate._hasTaskZS);
- this._hasTaskDlgt = zoneSpec && (zoneSpec.onHasTask ? parentDelegate : parentDelegate._hasTaskDlgt);
+ this._hasTaskDlgt =
+ zoneSpec && (zoneSpec.onHasTask ? parentDelegate : parentDelegate._hasTaskDlgt);
}
ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {
- return this._forkZS
- ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec)
- : new Zone(targetZone, zoneSpec);
+ return this._forkZS ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec) :
+ new Zone(targetZone, zoneSpec);
};
ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {
- return this._interceptZS
- ? this._interceptZS.onIntercept(this._interceptDlgt, this.zone, targetZone, callback, source)
- : callback;
+ return this._interceptZS ?
+ this._interceptZS.onIntercept(this._interceptDlgt, this.zone, targetZone, callback, source) :
+ callback;
};
ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {
- return this._invokeZS
- ? this._invokeZS.onInvoke(this._invokeDlgt, this.zone, targetZone, callback, applyThis, applyArgs, source)
- : callback.apply(applyThis, applyArgs);
+ return this._invokeZS ?
+ this._invokeZS.onInvoke(this._invokeDlgt, this.zone, targetZone, callback, applyThis, applyArgs, source) :
+ callback.apply(applyThis, applyArgs);
};
ZoneDelegate.prototype.handleError = function (targetZone, error) {
- return this._handleErrorZS
- ? this._handleErrorZS.onHandleError(this._handleErrorDlgt, this.zone, targetZone, error)
- : true;
+ return this._handleErrorZS ?
+ this._handleErrorZS.onHandleError(this._handleErrorDlgt, this.zone, targetZone, error) :
+ true;
};
ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {
try {
@@ -7847,12 +7876,13 @@
};
ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {
try {
- return this._invokeTaskZS
- ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this.zone, targetZone, task, applyThis, applyArgs)
- : task.callback.apply(applyThis, applyArgs);
+ return this._invokeTaskZS ?
+ this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this.zone, targetZone, task, applyThis, applyArgs) :
+ task.callback.apply(applyThis, applyArgs);
}
finally {
- if (targetZone == this.zone && (task.type != 'eventTask') && !(task.data && task.data.isPeriodic)) {
+ if (targetZone == this.zone && (task.type != 'eventTask') &&
+ !(task.data && task.data.isPeriodic)) {
this._updateTaskCount(task.type, -1);
}
}
@@ -7875,7 +7905,8 @@
return value;
};
ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {
- return this._hasTaskZS && this._hasTaskZS.onHasTask(this._hasTaskDlgt, this.zone, targetZone, isEmpty);
+ return this._hasTaskZS &&
+ this._hasTaskZS.onHasTask(this._hasTaskDlgt, this.zone, targetZone, isEmpty);
};
ZoneDelegate.prototype._updateTaskCount = function (type, count) {
var counts = this._taskCounts;
@@ -7932,12 +7963,14 @@
return this.data.handleId;
}
else {
- return this.toString();
+ return Object.prototype.toString.call(this);
}
};
return ZoneTask;
}());
- function __symbol__(name) { return '__zone_symbol__' + name; }
+ function __symbol__(name) {
+ return '__zone_symbol__' + name;
+ }
var symbolSetTimeout = __symbol__('setTimeout');
var symbolPromise = __symbol__('Promise');
@@ -7992,7 +8025,9 @@
var _loop_1 = function() {
var uncaughtPromiseError = _uncaughtPromiseErrors.shift();
try {
- uncaughtPromiseError.zone.runGuarded(function () { throw uncaughtPromiseError; });
+ uncaughtPromiseError.zone.runGuarded(function () {
+ throw uncaughtPromiseError;
+ });
}
catch (e) {
consoleError(e);
@@ -8008,8 +8043,12 @@
function isThenable(value) {
return value && value.then;
}
- function forwardResolution(value) { return value; }
- function forwardRejection(rejection) { return ZoneAwarePromise.reject(rejection); }
+ function forwardResolution(value) {
+ return value;
+ }
+ function forwardRejection(rejection) {
+ return ZoneAwarePromise.reject(rejection);
+ }
var symbolState = __symbol__('state');
var symbolValue = __symbol__('value');
var source = 'Promise.then';
@@ -8042,7 +8081,8 @@
if (queue.length == 0 && state == REJECTED) {
promise[symbolState] = REJECTED_NO_CATCH;
try {
- throw new Error("Uncaught (in promise): " + value);
+ throw new Error('Uncaught (in promise): ' + value +
+ (value && value.stack ? '\n' + value.stack : ''));
}
catch (e) {
var error_1 = e;
@@ -8106,9 +8146,16 @@
ZoneAwarePromise.race = function (values) {
var resolve;
var reject;
- var promise = new this(function (res, rej) { resolve = res; reject = rej; });
- function onResolve(value) { promise && (promise = null || resolve(value)); }
- function onReject(error) { promise && (promise = null || reject(error)); }
+ var promise = new this(function (res, rej) {
+ _a = [res, rej], resolve = _a[0], reject = _a[1];
+ var _a;
+ });
+ function onResolve(value) {
+ promise && (promise = null || resolve(value));
+ }
+ function onReject(error) {
+ promise && (promise = null || reject(error));
+ }
for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {
var value = values_1[_i];
if (!isThenable(value)) {
@@ -8121,7 +8168,10 @@
ZoneAwarePromise.all = function (values) {
var resolve;
var reject;
- var promise = new this(function (res, rej) { resolve = res; reject = rej; });
+ var promise = new this(function (res, rej) {
+ resolve = res;
+ reject = rej;
+ });
var count = 0;
var resolvedValues = [];
for (var _i = 0, values_2 = values; _i < values_2.length; _i++) {
@@ -8168,13 +8218,14 @@
global.Promise = ZoneAwarePromise;
function patchThen(NativePromise) {
var NativePromiseProtototype = NativePromise.prototype;
- var NativePromiseThen = NativePromiseProtototype[__symbol__('then')]
- = NativePromiseProtototype.then;
+ var NativePromiseThen = NativePromiseProtototype[__symbol__('then')] =
+ NativePromiseProtototype.then;
NativePromiseProtototype.then = function (onResolve, onReject) {
var nativePromise = this;
return new ZoneAwarePromise(function (resolve, reject) {
NativePromiseThen.call(nativePromise, resolve, reject);
- }).then(onResolve, onReject);
+ })
+ .then(onResolve, onReject);
};
}
if (NativePromise) {
@@ -8191,7 +8242,8 @@
}
// ignore output to prevent error;
fetchPromise.then(function () { return null; }, function () { return null; });
- if (fetchPromise.constructor != NativePromise) {
+ if (fetchPromise.constructor != NativePromise &&
+ fetchPromise.constructor != ZoneAwarePromise) {
patchThen(fetchPromise.constructor);
}
}
@@ -8202,9 +8254,11 @@
})(typeof window === 'object' && window || typeof self === 'object' && self || global);
/**
- * Suppress closure compiler errors about unknown 'process' variable
- * @fileoverview
- * @suppress {undefinedVars}
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
*/
var zoneSymbol = Zone['__symbol__'];
var _global$1 = typeof window === 'object' && window || typeof self === 'object' && self || global;
@@ -8239,10 +8293,7 @@
var isNode = (typeof process !== 'undefined' && {}.toString.call(process) === '[object process]');
var isBrowser = !isNode && !isWebWorker && !!(typeof window !== 'undefined' && window['HTMLElement']);
function patchProperty(obj, prop) {
- var desc = Object.getOwnPropertyDescriptor(obj, prop) || {
- enumerable: true,
- configurable: true
- };
+ var desc = Object.getOwnPropertyDescriptor(obj, prop) || { enumerable: true, configurable: true };
// A property descriptor cannot have getter/setter and be writable
// deleting the writable and value properties avoids this error:
//
@@ -8271,7 +8322,8 @@
this[_prop] = null;
}
};
- // The getter would return undefined for unassigned properties but the default value of an unassigned property is null
+ // The getter would return undefined for unassigned properties but the default value of an
+ // unassigned property is null
desc.get = function () {
return this[_prop] || null;
};
@@ -8305,9 +8357,7 @@
for (var i = 0; i < eventTasks.length; i++) {
var eventTask = eventTasks[i];
var data = eventTask.data;
- if (data.handler === handler
- && data.useCapturing === capture
- && data.eventName === name) {
+ if (data.handler === handler && data.useCapturing === capture && data.eventName === name) {
if (remove) {
eventTasks.splice(i, 1);
}
@@ -8360,13 +8410,14 @@
// In cross site contexts (such as WebDriver frameworks like Selenium),
// accessing the handler object here will cause an exception to be thrown which
// will fail tests prematurely.
- validZoneHandler = handler && handler.toString() === "[object FunctionWrapper]";
+ validZoneHandler = handler && handler.toString() === '[object FunctionWrapper]';
}
catch (e) {
// Returning nothing here is fine, because objects in a cross-site context are unusable
return;
}
- // Ignore special listeners of IE11 & Edge dev tools, see https://github.com/angular/zone.js/issues/150
+ // Ignore special listeners of IE11 & Edge dev tools, see
+ // https://github.com/angular/zone.js/issues/150
if (!delegate || validZoneHandler) {
return target[addFnSymbol](eventName, handler, useCapturing);
}
@@ -8447,7 +8498,8 @@
case 4:
this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);
break;
- default: throw new Error('Arg list too long.');
+ default:
+ throw new Error('Arg list too long.');
}
};
var instance = new OriginalClass(function () { });
@@ -8499,7 +8551,7 @@
}
function patchMethod(target, name, patchFn) {
var proto = target;
- while (proto && !proto.hasOwnProperty(name)) {
+ while (proto && Object.getOwnPropertyNames(proto).indexOf(name) === -1) {
proto = Object.getPrototypeOf(proto);
}
if (!proto && target[name]) {
@@ -8515,36 +8567,90 @@
return delegate;
}
- var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';
- var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex'.split(',');
- var EVENT_TARGET = 'EventTarget';
- function eventTargetPatch(_global) {
- var apis = [];
- var isWtf = _global['wtf'];
- if (isWtf) {
- // Workaround for: https://github.com/google/tracing-framework/issues/555
- apis = WTF_ISSUE_555.split(',').map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+ function patchTimer(window, setName, cancelName, nameSuffix) {
+ var setNative = null;
+ var clearNative = null;
+ setName += nameSuffix;
+ cancelName += nameSuffix;
+ var tasksByHandleId = {};
+ function scheduleTask(task) {
+ var data = task.data;
+ data.args[0] = function () {
+ task.invoke.apply(this, arguments);
+ delete tasksByHandleId[data.handleId];
+ };
+ data.handleId = setNative.apply(window, data.args);
+ tasksByHandleId[data.handleId] = task;
+ return task;
}
- else if (_global[EVENT_TARGET]) {
- apis.push(EVENT_TARGET);
- }
- else {
- // Note: EventTarget is not available in all browsers,
- // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget
- apis = NO_EVENT_TARGET;
- }
- for (var i = 0; i < apis.length; i++) {
- var type = _global[apis[i]];
- patchEventTargetMethods(type && type.prototype);
+ function clearTask(task) {
+ delete tasksByHandleId[task.data.handleId];
+ return clearNative(task.data.handleId);
}
+ setNative =
+ patchMethod(window, setName, function (delegate) { return function (self, args) {
+ if (typeof args[0] === 'function') {
+ var zone = Zone.current;
+ var options = {
+ handleId: null,
+ isPeriodic: nameSuffix === 'Interval',
+ delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 : null,
+ args: args
+ };
+ var task = zone.scheduleMacroTask(setName, args[0], options, scheduleTask, clearTask);
+ if (!task) {
+ return task;
+ }
+ // Node.js must additionally support the ref and unref functions.
+ var handle = task.data.handleId;
+ if (handle.ref && handle.unref) {
+ task.ref = handle.ref.bind(handle);
+ task.unref = handle.unref.bind(handle);
+ }
+ return task;
+ }
+ else {
+ // cause an error by calling it directly.
+ return delegate.apply(window, args);
+ }
+ }; });
+ clearNative =
+ patchMethod(window, cancelName, function (delegate) { return function (self, args) {
+ var task = typeof args[0] === 'number' ? tasksByHandleId[args[0]] : args[0];
+ if (task && typeof task.type === 'string') {
+ if (task.cancelFn && task.data.isPeriodic || task.runCount === 0) {
+ // Do not cancel already canceled functions
+ task.zone.cancelTask(task);
+ }
+ }
+ else {
+ // cause an error by calling it directly.
+ delegate.apply(window, args);
+ }
+ }; });
}
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
/*
* This is necessary for Chrome and Chrome mobile, to enable
* things like redefining `createdCallback` on an element.
*/
var _defineProperty = Object[zoneSymbol('defineProperty')] = Object.defineProperty;
- var _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] = Object.getOwnPropertyDescriptor;
+ var _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] =
+ Object.getOwnPropertyDescriptor;
var _create = Object.create;
var unconfigurablesKey = zoneSymbol('unconfigurables');
function propertyPatch() {
@@ -8606,7 +8712,8 @@
}
catch (e) {
if (desc.configurable) {
- // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's retry with the original flag value
+ // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's
+ // retry with the original flag value
if (typeof originalConfigurableFlag == 'undefined') {
delete desc.configurable;
}
@@ -8633,40 +8740,45 @@
}
}
- function registerElementPatch(_global) {
- if (!isBrowser || !('registerElement' in _global.document)) {
- return;
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+ var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';
+ var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex'
+ .split(',');
+ var EVENT_TARGET = 'EventTarget';
+ function eventTargetPatch(_global) {
+ var apis = [];
+ var isWtf = _global['wtf'];
+ if (isWtf) {
+ // Workaround for: https://github.com/google/tracing-framework/issues/555
+ apis = WTF_ISSUE_555.split(',').map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);
+ }
+ else if (_global[EVENT_TARGET]) {
+ apis.push(EVENT_TARGET);
+ }
+ else {
+ // Note: EventTarget is not available in all browsers,
+ // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget
+ apis = NO_EVENT_TARGET;
+ }
+ for (var i = 0; i < apis.length; i++) {
+ var type = _global[apis[i]];
+ patchEventTargetMethods(type && type.prototype);
}
- var _registerElement = document.registerElement;
- var callbacks = [
- 'createdCallback',
- 'attachedCallback',
- 'detachedCallback',
- 'attributeChangedCallback'
- ];
- document.registerElement = function (name, opts) {
- if (opts && opts.prototype) {
- callbacks.forEach(function (callback) {
- var source = 'Document.registerElement::' + callback;
- if (opts.prototype.hasOwnProperty(callback)) {
- var descriptor = Object.getOwnPropertyDescriptor(opts.prototype, callback);
- if (descriptor && descriptor.value) {
- descriptor.value = Zone.current.wrap(descriptor.value, source);
- _redefineProperty(opts.prototype, callback, descriptor);
- }
- else {
- opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source);
- }
- }
- else if (opts.prototype[callback]) {
- opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source);
- }
- });
- }
- return _registerElement.apply(document, [name, opts]);
- };
}
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
// we have to patch the instance since the proto is non-configurable
function apply(_global) {
var WS = _global.WebSocket;
@@ -8700,7 +8812,15 @@
}
}
- var eventNames = 'copy cut paste abort blur focus canplay canplaythrough change click contextmenu dblclick drag dragend dragenter dragleave dragover dragstart drop durationchange emptied ended input invalid keydown keypress keyup load loadeddata loadedmetadata loadstart message mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup pause play playing progress ratechange reset scroll seeked seeking select show stalled submit suspend timeupdate volumechange waiting mozfullscreenchange mozfullscreenerror mozpointerlockchange mozpointerlockerror error webglcontextrestored webglcontextlost webglcontextcreationerror'.split(' ');
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+ var eventNames = 'copy cut paste abort blur focus canplay canplaythrough change click contextmenu dblclick drag dragend dragenter dragleave dragover dragstart drop durationchange emptied ended input invalid keydown keypress keyup load loadeddata loadedmetadata loadstart message mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup pause play playing progress ratechange reset scroll seeked seeking select show stalled submit suspend timeupdate volumechange waiting mozfullscreenchange mozfullscreenerror mozpointerlockchange mozpointerlockerror error webglcontextrestored webglcontextlost webglcontextcreationerror'
+ .split(' ');
function propertyDescriptorPatch(_global) {
if (isNode) {
return;
@@ -8734,8 +8854,8 @@
}
}
function canPatchViaPropertyDescriptor() {
- if (isBrowser && !Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'onclick')
- && typeof Element !== 'undefined') {
+ if (isBrowser && !Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') &&
+ typeof Element !== 'undefined') {
// WebKit https://bugs.webkit.org/show_bug.cgi?id=134364
// IDL interface attributes are not configurable
var desc = Object.getOwnPropertyDescriptor(Element.prototype, 'onclick');
@@ -8761,7 +8881,7 @@
var _loop_1 = function(i) {
var property = eventNames[i];
var onproperty = 'on' + property;
- document.addEventListener(property, function (event) {
+ self.addEventListener(property, function (event) {
var elt = event.target, bound, source;
if (elt) {
source = elt.constructor['name'] + '.' + onproperty;
@@ -8785,61 +8905,49 @@
}
- function patchTimer(window, setName, cancelName, nameSuffix) {
- var setNative = null;
- var clearNative = null;
- setName += nameSuffix;
- cancelName += nameSuffix;
- function scheduleTask(task) {
- var data = task.data;
- data.args[0] = task.invoke;
- data.handleId = setNative.apply(window, data.args);
- return task;
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+ function registerElementPatch(_global) {
+ if (!isBrowser || !('registerElement' in _global.document)) {
+ return;
}
- function clearTask(task) {
- return clearNative(task.data.handleId);
- }
- setNative = patchMethod(window, setName, function (delegate) { return function (self, args) {
- if (typeof args[0] === 'function') {
- var zone = Zone.current;
- var options = {
- handleId: null,
- isPeriodic: nameSuffix === 'Interval',
- delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 : null,
- args: args
- };
- var task = zone.scheduleMacroTask(setName, args[0], options, scheduleTask, clearTask);
- if (!task) {
- return task;
- }
- // Node.js must additionally support the ref and unref functions.
- var handle = task.data.handleId;
- if (handle.ref && handle.unref) {
- task.ref = handle.ref.bind(handle);
- task.unref = handle.unref.bind(handle);
- }
- return task;
+ var _registerElement = document.registerElement;
+ var callbacks = ['createdCallback', 'attachedCallback', 'detachedCallback', 'attributeChangedCallback'];
+ document.registerElement = function (name, opts) {
+ if (opts && opts.prototype) {
+ callbacks.forEach(function (callback) {
+ var source = 'Document.registerElement::' + callback;
+ if (opts.prototype.hasOwnProperty(callback)) {
+ var descriptor = Object.getOwnPropertyDescriptor(opts.prototype, callback);
+ if (descriptor && descriptor.value) {
+ descriptor.value = Zone.current.wrap(descriptor.value, source);
+ _redefineProperty(opts.prototype, callback, descriptor);
+ }
+ else {
+ opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source);
+ }
+ }
+ else if (opts.prototype[callback]) {
+ opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source);
+ }
+ });
}
- else {
- // cause an error by calling it directly.
- return delegate.apply(window, args);
- }
- }; });
- clearNative = patchMethod(window, cancelName, function (delegate) { return function (self, args) {
- var task = args[0];
- if (task && typeof task.type === 'string') {
- if (task.cancelFn && task.data.isPeriodic || task.runCount === 0) {
- // Do not cancel already canceled functions
- task.zone.cancelTask(task);
- }
- }
- else {
- // cause an error by calling it directly.
- delegate.apply(window, args);
- }
- }; });
+ return _registerElement.apply(document, [name, opts]);
+ };
}
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
var set = 'set';
var clear = 'clear';
var blockingMethods = ['alert', 'prompt', 'confirm'];
@@ -8890,8 +8998,7 @@
sendNative.apply(data.target, data.args);
return task;
}
- function placeholderCallback() {
- }
+ function placeholderCallback() { }
function clearTask(task) {
var data = task.data;
// Note - ideally, we would call data.target.removeEventListener here, but it's too late
@@ -8910,13 +9017,7 @@
return sendNative.apply(self, args);
}
else {
- var options = {
- target: self,
- isPeriodic: false,
- delay: null,
- args: args,
- aborted: false
- };
+ var options = { target: self, isPeriodic: false, delay: null, args: args, aborted: false };
return zone.scheduleMacroTask('XMLHttpRequest.send', placeholderCallback, options, scheduleTask, clearTask);
}
}; });
@@ -8929,15 +9030,13 @@
}
task.zone.cancelTask(task);
}
- // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no task to cancel. Do nothing.
+ // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no task
+ // to cancel. Do nothing.
}; });
}
/// GEO_LOCATION
if (_global['navigator'] && _global['navigator'].geolocation) {
- patchPrototype(_global['navigator'].geolocation, [
- 'getCurrentPosition',
- 'watchPosition'
- ]);
+ patchPrototype(_global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']);
}
})));
@@ -9137,7 +9236,7 @@
/* WEBPACK VAR INJECTION */(function(process) {"use strict";
var platform_browser_dynamic_1 = __webpack_require__(311);
var app_module_1 = __webpack_require__(333);
- process.stdout = __webpack_require__(647)();
+ process.stdout = __webpack_require__(657)();
platform_browser_dynamic_1.platformBrowserDynamic().bootstrapModule(app_module_1.AppModule);
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(309)))
@@ -9147,7 +9246,7 @@
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(global) {/**
- * @license Angular v2.1.0
+ * @license Angular v2.2.3
* (c) 2010-2016 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -9249,47 +9348,6 @@
_global.assert = function assert(condition) {
// TODO: to be fixed properly via #2830, noop for now
};
- var NumberWrapper = (function () {
- function NumberWrapper() {
- }
- NumberWrapper.toFixed = function (n, fractionDigits) { return n.toFixed(fractionDigits); };
- NumberWrapper.equal = function (a, b) { return a === b; };
- NumberWrapper.parseIntAutoRadix = function (text) {
- var result = parseInt(text);
- if (isNaN(result)) {
- throw new Error('Invalid integer literal when parsing ' + text);
- }
- return result;
- };
- NumberWrapper.parseInt = function (text, radix) {
- if (radix == 10) {
- if (/^(\-|\+)?[0-9]+$/.test(text)) {
- return parseInt(text, radix);
- }
- }
- else if (radix == 16) {
- if (/^(\-|\+)?[0-9ABCDEFabcdef]+$/.test(text)) {
- return parseInt(text, radix);
- }
- }
- else {
- var result = parseInt(text, radix);
- if (!isNaN(result)) {
- return result;
- }
- }
- throw new Error('Invalid integer literal when parsing ' + text + ' in base ' + radix);
- };
- Object.defineProperty(NumberWrapper, "NaN", {
- get: function () { return NaN; },
- enumerable: true,
- configurable: true
- });
- NumberWrapper.isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };
- NumberWrapper.isNaN = function (value) { return isNaN(value); };
- NumberWrapper.isInteger = function (value) { return Number.isInteger(value); };
- return NumberWrapper;
- }());
/**
* @license
@@ -9349,15 +9407,14 @@
exports.__platform_browser_dynamic_private__ = __platform_browser_dynamic_private__;
}));
-
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
/***/ },
/* 312 */
/***/ function(module, exports, __webpack_require__) {
- /* WEBPACK VAR INJECTION */(function(global) {/**
- * @license Angular v2.1.0
+ /**
+ * @license Angular v2.2.3
* (c) 2010-2016 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -9417,10 +9474,11 @@
* `[@trigger]="stateExp"`)
*/
var BoundElementPropertyAst = (function () {
- function BoundElementPropertyAst(name, type, securityContext, value, unit, sourceSpan) {
+ function BoundElementPropertyAst(name, type, securityContext, needsRuntimeSecurityContext, value, unit, sourceSpan) {
this.name = name;
this.type = type;
this.securityContext = securityContext;
+ this.needsRuntimeSecurityContext = needsRuntimeSecurityContext;
this.value = value;
this.unit = unit;
this.sourceSpan = sourceSpan;
@@ -9447,18 +9505,22 @@
this.handler = handler;
this.sourceSpan = sourceSpan;
}
+ BoundEventAst.calcFullName = function (name, target, phase) {
+ if (target) {
+ return target + ":" + name;
+ }
+ else if (phase) {
+ return "@" + name + "." + phase;
+ }
+ else {
+ return name;
+ }
+ };
BoundEventAst.prototype.visit = function (visitor, context) {
return visitor.visitEvent(this, context);
};
Object.defineProperty(BoundEventAst.prototype, "fullName", {
- get: function () {
- if (this.target) {
- return this.target + ":" + this.name;
- }
- else {
- return this.name;
- }
- },
+ get: function () { return BoundEventAst.calcFullName(this.name, this.target, this.phase); },
enumerable: true,
configurable: true
});
@@ -9664,52 +9726,89 @@
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
- var globalScope;
- if (typeof window === 'undefined') {
- if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {
- // TODO: Replace any with WorkerGlobalScope from lib.webworker.d.ts #3492
- globalScope = self;
- }
- else {
- globalScope = global;
- }
+ var $EOF = 0;
+ var $TAB = 9;
+ var $LF = 10;
+ var $VTAB = 11;
+ var $FF = 12;
+ var $CR = 13;
+ var $SPACE = 32;
+ var $BANG = 33;
+ var $DQ = 34;
+ var $HASH = 35;
+ var $$ = 36;
+ var $PERCENT = 37;
+ var $AMPERSAND = 38;
+ var $SQ = 39;
+ var $LPAREN = 40;
+ var $RPAREN = 41;
+ var $STAR = 42;
+ var $PLUS = 43;
+ var $COMMA = 44;
+ var $MINUS = 45;
+ var $PERIOD = 46;
+ var $SLASH = 47;
+ var $COLON = 58;
+ var $SEMICOLON = 59;
+ var $LT = 60;
+ var $EQ = 61;
+ var $GT = 62;
+ var $QUESTION = 63;
+ var $0 = 48;
+ var $9 = 57;
+ var $A = 65;
+ var $E = 69;
+ var $F = 70;
+ var $X = 88;
+ var $Z = 90;
+ var $LBRACKET = 91;
+ var $BACKSLASH = 92;
+ var $RBRACKET = 93;
+ var $CARET = 94;
+ var $_ = 95;
+ var $a = 97;
+ var $e = 101;
+ var $f = 102;
+ var $n = 110;
+ var $r = 114;
+ var $t = 116;
+ var $u = 117;
+ var $v = 118;
+ var $x = 120;
+ var $z = 122;
+ var $LBRACE = 123;
+ var $BAR = 124;
+ var $RBRACE = 125;
+ var $NBSP = 160;
+ var $BT = 96;
+ function isWhitespace(code) {
+ return (code >= $TAB && code <= $SPACE) || (code == $NBSP);
}
- else {
- globalScope = window;
+ function isDigit(code) {
+ return $0 <= code && code <= $9;
}
- // Need to declare a new variable for global here since TypeScript
- // exports the original value of the symbol.
- var global$1 = globalScope;
- // TODO: remove calls to assert in production environment
- // Note: Can't just export this and import in in other files
- // as `assert` is a reserved keyword in Dart
- global$1.assert = function assert(condition) {
- // TODO: to be fixed properly via #2830, noop for now
- };
+ function isAsciiLetter(code) {
+ return code >= $a && code <= $z || code >= $A && code <= $Z;
+ }
+ function isAsciiHexDigit(code) {
+ return code >= $a && code <= $f || code >= $A && code <= $F || isDigit(code);
+ }
+
function isPresent(obj) {
- return obj !== undefined && obj !== null;
+ return obj != null;
}
function isBlank(obj) {
- return obj === undefined || obj === null;
- }
- function isString(obj) {
- return typeof obj === 'string';
- }
- function isStringMap(obj) {
- return typeof obj === 'object' && obj !== null;
+ return obj == null;
}
var STRING_MAP_PROTO = Object.getPrototypeOf({});
function isStrictStringMap(obj) {
- return isStringMap(obj) && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;
- }
- function isArray(obj) {
- return Array.isArray(obj);
+ return typeof obj === 'object' && obj !== null && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;
}
function stringify(token) {
if (typeof token === 'string') {
return token;
}
- if (token === undefined || token === null) {
+ if (token == null) {
return '' + token;
}
if (token.overriddenName) {
@@ -9722,20 +9821,9 @@
var newLineIndex = res.indexOf('\n');
return newLineIndex === -1 ? res : res.substring(0, newLineIndex);
}
- var StringJoiner = (function () {
- function StringJoiner(parts) {
- if (parts === void 0) { parts = []; }
- this.parts = parts;
- }
- StringJoiner.prototype.add = function (part) { this.parts.push(part); };
- StringJoiner.prototype.toString = function () { return this.parts.join(''); };
- return StringJoiner;
- }());
var NumberWrapper = (function () {
function NumberWrapper() {
}
- NumberWrapper.toFixed = function (n, fractionDigits) { return n.toFixed(fractionDigits); };
- NumberWrapper.equal = function (a, b) { return a === b; };
NumberWrapper.parseIntAutoRadix = function (text) {
var result = parseInt(text);
if (isNaN(result)) {
@@ -9743,54 +9831,12 @@
}
return result;
};
- NumberWrapper.parseInt = function (text, radix) {
- if (radix == 10) {
- if (/^(\-|\+)?[0-9]+$/.test(text)) {
- return parseInt(text, radix);
- }
- }
- else if (radix == 16) {
- if (/^(\-|\+)?[0-9ABCDEFabcdef]+$/.test(text)) {
- return parseInt(text, radix);
- }
- }
- else {
- var result = parseInt(text, radix);
- if (!isNaN(result)) {
- return result;
- }
- }
- throw new Error('Invalid integer literal when parsing ' + text + ' in base ' + radix);
- };
- Object.defineProperty(NumberWrapper, "NaN", {
- get: function () { return NaN; },
- enumerable: true,
- configurable: true
- });
NumberWrapper.isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };
- NumberWrapper.isNaN = function (value) { return isNaN(value); };
- NumberWrapper.isInteger = function (value) { return Number.isInteger(value); };
return NumberWrapper;
}());
- function normalizeBlank(obj) {
- return isBlank(obj) ? null : obj;
- }
- function normalizeBool(obj) {
- return isBlank(obj) ? false : obj;
- }
function isJsObject(o) {
return o !== null && (typeof o === 'function' || typeof o === 'object');
}
- function evalExpression(sourceUrl, expr, declarations, vars) {
- var fnBody = declarations + "\nreturn " + expr + "\n//# sourceURL=" + sourceUrl;
- var fnArgNames = [];
- var fnArgValues = [];
- for (var argName in vars) {
- fnArgNames.push(argName);
- fnArgValues.push(vars[argName]);
- }
- return new (Function.bind.apply(Function, [void 0].concat(fnArgNames.concat(fnBody))))().apply(void 0, fnArgValues);
- }
function isPrimitive(obj) {
return !isJsObject(obj);
}
@@ -9798,246 +9844,1729 @@
return s.replace(/([.*+?^=!:${}()|[\]\/\\])/g, '\\$1');
}
- // Safari and Internet Explorer do not support the iterable parameter to the
- // Map constructor. We work around that by manually adding the items.
- var createMapFromPairs = (function () {
- try {
- if (new Map([[1, 2]]).size === 1) {
- return function createMapFromPairs(pairs) { return new Map(pairs); };
+ function assertArrayOfStrings(identifier, value) {
+ if (!_angular_core.isDevMode() || isBlank(value)) {
+ return;
+ }
+ if (!Array.isArray(value)) {
+ throw new Error("Expected '" + identifier + "' to be an array of strings.");
+ }
+ for (var i = 0; i < value.length; i += 1) {
+ if (typeof value[i] !== 'string') {
+ throw new Error("Expected '" + identifier + "' to be an array of strings.");
}
}
- catch (e) {
+ }
+ var INTERPOLATION_BLACKLIST_REGEXPS = [
+ /^\s*$/,
+ /[<>]/,
+ /^[{}]$/,
+ /&(#|[a-z])/i,
+ /^\/\//,
+ ];
+ function assertInterpolationSymbols(identifier, value) {
+ if (isPresent(value) && !(Array.isArray(value) && value.length == 2)) {
+ throw new Error("Expected '" + identifier + "' to be an array, [start, end].");
}
- return function createMapAndPopulateFromPairs(pairs) {
- var map = new Map();
- for (var i = 0; i < pairs.length; i++) {
- var pair = pairs[i];
- map.set(pair[0], pair[1]);
- }
- return map;
- };
- })();
- var _clearValues = (function () {
- if ((new Map()).keys().next) {
- return function _clearValues(m) {
- var keyIterator = m.keys();
- var k;
- while (!((k = keyIterator.next()).done)) {
- m.set(k.value, null);
+ else if (_angular_core.isDevMode() && !isBlank(value)) {
+ var start_1 = value[0];
+ var end_1 = value[1];
+ // black list checking
+ INTERPOLATION_BLACKLIST_REGEXPS.forEach(function (regexp) {
+ if (regexp.test(start_1) || regexp.test(end_1)) {
+ throw new Error("['" + start_1 + "', '" + end_1 + "'] contains unusable interpolation symbol.");
}
- };
- }
- else {
- return function _clearValuesWithForeEach(m) {
- m.forEach(function (v, k) { m.set(k, null); });
- };
- }
- })();
- // Safari doesn't implement MapIterator.next(), which is used is Traceur's polyfill of Array.from
- // TODO(mlaval): remove the work around once we have a working polyfill of Array.from
- var _arrayFromMap = (function () {
- try {
- if ((new Map()).values().next) {
- return function createArrayFromMap(m, getValues) {
- return getValues ? Array.from(m.values()) : Array.from(m.keys());
- };
- }
- }
- catch (e) {
- }
- return function createArrayFromMapWithForeach(m, getValues) {
- var res = new Array(m.size), i = 0;
- m.forEach(function (v, k) {
- res[i] = getValues ? v : k;
- i++;
});
- return res;
- };
- })();
- var MapWrapper = (function () {
- function MapWrapper() {
}
- MapWrapper.createFromStringMap = function (stringMap) {
- var result = new Map();
- for (var prop in stringMap) {
- result.set(prop, stringMap[prop]);
+ }
+
+ var InterpolationConfig = (function () {
+ function InterpolationConfig(start, end) {
+ this.start = start;
+ this.end = end;
+ }
+ InterpolationConfig.fromArray = function (markers) {
+ if (!markers) {
+ return DEFAULT_INTERPOLATION_CONFIG;
+ }
+ assertInterpolationSymbols('interpolation', markers);
+ return new InterpolationConfig(markers[0], markers[1]);
+ };
+ ;
+ return InterpolationConfig;
+ }());
+ var DEFAULT_INTERPOLATION_CONFIG = new InterpolationConfig('{{', '}}');
+
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+ var __extends$1 = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ var ParserError = (function () {
+ function ParserError(message, input, errLocation, ctxLocation) {
+ this.input = input;
+ this.errLocation = errLocation;
+ this.ctxLocation = ctxLocation;
+ this.message = "Parser Error: " + message + " " + errLocation + " [" + input + "] in " + ctxLocation;
+ }
+ return ParserError;
+ }());
+ var ParseSpan = (function () {
+ function ParseSpan(start, end) {
+ this.start = start;
+ this.end = end;
+ }
+ return ParseSpan;
+ }());
+ var AST = (function () {
+ function AST(span) {
+ this.span = span;
+ }
+ AST.prototype.visit = function (visitor, context) {
+ if (context === void 0) { context = null; }
+ return null;
+ };
+ AST.prototype.toString = function () { return 'AST'; };
+ return AST;
+ }());
+ /**
+ * Represents a quoted expression of the form:
+ *
+ * quote = prefix `:` uninterpretedExpression
+ * prefix = identifier
+ * uninterpretedExpression = arbitrary string
+ *
+ * A quoted expression is meant to be pre-processed by an AST transformer that
+ * converts it into another AST that no longer contains quoted expressions.
+ * It is meant to allow third-party developers to extend Angular template
+ * expression language. The `uninterpretedExpression` part of the quote is
+ * therefore not interpreted by the Angular's own expression parser.
+ */
+ var Quote = (function (_super) {
+ __extends$1(Quote, _super);
+ function Quote(span, prefix, uninterpretedExpression, location) {
+ _super.call(this, span);
+ this.prefix = prefix;
+ this.uninterpretedExpression = uninterpretedExpression;
+ this.location = location;
+ }
+ Quote.prototype.visit = function (visitor, context) {
+ if (context === void 0) { context = null; }
+ return visitor.visitQuote(this, context);
+ };
+ Quote.prototype.toString = function () { return 'Quote'; };
+ return Quote;
+ }(AST));
+ var EmptyExpr = (function (_super) {
+ __extends$1(EmptyExpr, _super);
+ function EmptyExpr() {
+ _super.apply(this, arguments);
+ }
+ EmptyExpr.prototype.visit = function (visitor, context) {
+ if (context === void 0) { context = null; }
+ // do nothing
+ };
+ return EmptyExpr;
+ }(AST));
+ var ImplicitReceiver = (function (_super) {
+ __extends$1(ImplicitReceiver, _super);
+ function ImplicitReceiver() {
+ _super.apply(this, arguments);
+ }
+ ImplicitReceiver.prototype.visit = function (visitor, context) {
+ if (context === void 0) { context = null; }
+ return visitor.visitImplicitReceiver(this, context);
+ };
+ return ImplicitReceiver;
+ }(AST));
+ /**
+ * Multiple expressions separated by a semicolon.
+ */
+ var Chain = (function (_super) {
+ __extends$1(Chain, _super);
+ function Chain(span, expressions) {
+ _super.call(this, span);
+ this.expressions = expressions;
+ }
+ Chain.prototype.visit = function (visitor, context) {
+ if (context === void 0) { context = null; }
+ return visitor.visitChain(this, context);
+ };
+ return Chain;
+ }(AST));
+ var Conditional = (function (_super) {
+ __extends$1(Conditional, _super);
+ function Conditional(span, condition, trueExp, falseExp) {
+ _super.call(this, span);
+ this.condition = condition;
+ this.trueExp = trueExp;
+ this.falseExp = falseExp;
+ }
+ Conditional.prototype.visit = function (visitor, context) {
+ if (context === void 0) { context = null; }
+ return visitor.visitConditional(this, context);
+ };
+ return Conditional;
+ }(AST));
+ var PropertyRead = (function (_super) {
+ __extends$1(PropertyRead, _super);
+ function PropertyRead(span, receiver, name) {
+ _super.call(this, span);
+ this.receiver = receiver;
+ this.name = name;
+ }
+ PropertyRead.prototype.visit = function (visitor, context) {
+ if (context === void 0) { context = null; }
+ return visitor.visitPropertyRead(this, context);
+ };
+ return PropertyRead;
+ }(AST));
+ var PropertyWrite = (function (_super) {
+ __extends$1(PropertyWrite, _super);
+ function PropertyWrite(span, receiver, name, value) {
+ _super.call(this, span);
+ this.receiver = receiver;
+ this.name = name;
+ this.value = value;
+ }
+ PropertyWrite.prototype.visit = function (visitor, context) {
+ if (context === void 0) { context = null; }
+ return visitor.visitPropertyWrite(this, context);
+ };
+ return PropertyWrite;
+ }(AST));
+ var SafePropertyRead = (function (_super) {
+ __extends$1(SafePropertyRead, _super);
+ function SafePropertyRead(span, receiver, name) {
+ _super.call(this, span);
+ this.receiver = receiver;
+ this.name = name;
+ }
+ SafePropertyRead.prototype.visit = function (visitor, context) {
+ if (context === void 0) { context = null; }
+ return visitor.visitSafePropertyRead(this, context);
+ };
+ return SafePropertyRead;
+ }(AST));
+ var KeyedRead = (function (_super) {
+ __extends$1(KeyedRead, _super);
+ function KeyedRead(span, obj, key) {
+ _super.call(this, span);
+ this.obj = obj;
+ this.key = key;
+ }
+ KeyedRead.prototype.visit = function (visitor, context) {
+ if (context === void 0) { context = null; }
+ return visitor.visitKeyedRead(this, context);
+ };
+ return KeyedRead;
+ }(AST));
+ var KeyedWrite = (function (_super) {
+ __extends$1(KeyedWrite, _super);
+ function KeyedWrite(span, obj, key, value) {
+ _super.call(this, span);
+ this.obj = obj;
+ this.key = key;
+ this.value = value;
+ }
+ KeyedWrite.prototype.visit = function (visitor, context) {
+ if (context === void 0) { context = null; }
+ return visitor.visitKeyedWrite(this, context);
+ };
+ return KeyedWrite;
+ }(AST));
+ var BindingPipe = (function (_super) {
+ __extends$1(BindingPipe, _super);
+ function BindingPipe(span, exp, name, args) {
+ _super.call(this, span);
+ this.exp = exp;
+ this.name = name;
+ this.args = args;
+ }
+ BindingPipe.prototype.visit = function (visitor, context) {
+ if (context === void 0) { context = null; }
+ return visitor.visitPipe(this, context);
+ };
+ return BindingPipe;
+ }(AST));
+ var LiteralPrimitive = (function (_super) {
+ __extends$1(LiteralPrimitive, _super);
+ function LiteralPrimitive(span, value) {
+ _super.call(this, span);
+ this.value = value;
+ }
+ LiteralPrimitive.prototype.visit = function (visitor, context) {
+ if (context === void 0) { context = null; }
+ return visitor.visitLiteralPrimitive(this, context);
+ };
+ return LiteralPrimitive;
+ }(AST));
+ var LiteralArray = (function (_super) {
+ __extends$1(LiteralArray, _super);
+ function LiteralArray(span, expressions) {
+ _super.call(this, span);
+ this.expressions = expressions;
+ }
+ LiteralArray.prototype.visit = function (visitor, context) {
+ if (context === void 0) { context = null; }
+ return visitor.visitLiteralArray(this, context);
+ };
+ return LiteralArray;
+ }(AST));
+ var LiteralMap = (function (_super) {
+ __extends$1(LiteralMap, _super);
+ function LiteralMap(span, keys, values) {
+ _super.call(this, span);
+ this.keys = keys;
+ this.values = values;
+ }
+ LiteralMap.prototype.visit = function (visitor, context) {
+ if (context === void 0) { context = null; }
+ return visitor.visitLiteralMap(this, context);
+ };
+ return LiteralMap;
+ }(AST));
+ var Interpolation = (function (_super) {
+ __extends$1(Interpolation, _super);
+ function Interpolation(span, strings, expressions) {
+ _super.call(this, span);
+ this.strings = strings;
+ this.expressions = expressions;
+ }
+ Interpolation.prototype.visit = function (visitor, context) {
+ if (context === void 0) { context = null; }
+ return visitor.visitInterpolation(this, context);
+ };
+ return Interpolation;
+ }(AST));
+ var Binary = (function (_super) {
+ __extends$1(Binary, _super);
+ function Binary(span, operation, left, right) {
+ _super.call(this, span);
+ this.operation = operation;
+ this.left = left;
+ this.right = right;
+ }
+ Binary.prototype.visit = function (visitor, context) {
+ if (context === void 0) { context = null; }
+ return visitor.visitBinary(this, context);
+ };
+ return Binary;
+ }(AST));
+ var PrefixNot = (function (_super) {
+ __extends$1(PrefixNot, _super);
+ function PrefixNot(span, expression) {
+ _super.call(this, span);
+ this.expression = expression;
+ }
+ PrefixNot.prototype.visit = function (visitor, context) {
+ if (context === void 0) { context = null; }
+ return visitor.visitPrefixNot(this, context);
+ };
+ return PrefixNot;
+ }(AST));
+ var MethodCall = (function (_super) {
+ __extends$1(MethodCall, _super);
+ function MethodCall(span, receiver, name, args) {
+ _super.call(this, span);
+ this.receiver = receiver;
+ this.name = name;
+ this.args = args;
+ }
+ MethodCall.prototype.visit = function (visitor, context) {
+ if (context === void 0) { context = null; }
+ return visitor.visitMethodCall(this, context);
+ };
+ return MethodCall;
+ }(AST));
+ var SafeMethodCall = (function (_super) {
+ __extends$1(SafeMethodCall, _super);
+ function SafeMethodCall(span, receiver, name, args) {
+ _super.call(this, span);
+ this.receiver = receiver;
+ this.name = name;
+ this.args = args;
+ }
+ SafeMethodCall.prototype.visit = function (visitor, context) {
+ if (context === void 0) { context = null; }
+ return visitor.visitSafeMethodCall(this, context);
+ };
+ return SafeMethodCall;
+ }(AST));
+ var FunctionCall = (function (_super) {
+ __extends$1(FunctionCall, _super);
+ function FunctionCall(span, target, args) {
+ _super.call(this, span);
+ this.target = target;
+ this.args = args;
+ }
+ FunctionCall.prototype.visit = function (visitor, context) {
+ if (context === void 0) { context = null; }
+ return visitor.visitFunctionCall(this, context);
+ };
+ return FunctionCall;
+ }(AST));
+ var ASTWithSource = (function (_super) {
+ __extends$1(ASTWithSource, _super);
+ function ASTWithSource(ast, source, location, errors) {
+ _super.call(this, new ParseSpan(0, isBlank(source) ? 0 : source.length));
+ this.ast = ast;
+ this.source = source;
+ this.location = location;
+ this.errors = errors;
+ }
+ ASTWithSource.prototype.visit = function (visitor, context) {
+ if (context === void 0) { context = null; }
+ return this.ast.visit(visitor, context);
+ };
+ ASTWithSource.prototype.toString = function () { return this.source + " in " + this.location; };
+ return ASTWithSource;
+ }(AST));
+ var TemplateBinding = (function () {
+ function TemplateBinding(span, key, keyIsVar, name, expression) {
+ this.span = span;
+ this.key = key;
+ this.keyIsVar = keyIsVar;
+ this.name = name;
+ this.expression = expression;
+ }
+ return TemplateBinding;
+ }());
+ var RecursiveAstVisitor = (function () {
+ function RecursiveAstVisitor() {
+ }
+ RecursiveAstVisitor.prototype.visitBinary = function (ast, context) {
+ ast.left.visit(this);
+ ast.right.visit(this);
+ return null;
+ };
+ RecursiveAstVisitor.prototype.visitChain = function (ast, context) { return this.visitAll(ast.expressions, context); };
+ RecursiveAstVisitor.prototype.visitConditional = function (ast, context) {
+ ast.condition.visit(this);
+ ast.trueExp.visit(this);
+ ast.falseExp.visit(this);
+ return null;
+ };
+ RecursiveAstVisitor.prototype.visitPipe = function (ast, context) {
+ ast.exp.visit(this);
+ this.visitAll(ast.args, context);
+ return null;
+ };
+ RecursiveAstVisitor.prototype.visitFunctionCall = function (ast, context) {
+ ast.target.visit(this);
+ this.visitAll(ast.args, context);
+ return null;
+ };
+ RecursiveAstVisitor.prototype.visitImplicitReceiver = function (ast, context) { return null; };
+ RecursiveAstVisitor.prototype.visitInterpolation = function (ast, context) {
+ return this.visitAll(ast.expressions, context);
+ };
+ RecursiveAstVisitor.prototype.visitKeyedRead = function (ast, context) {
+ ast.obj.visit(this);
+ ast.key.visit(this);
+ return null;
+ };
+ RecursiveAstVisitor.prototype.visitKeyedWrite = function (ast, context) {
+ ast.obj.visit(this);
+ ast.key.visit(this);
+ ast.value.visit(this);
+ return null;
+ };
+ RecursiveAstVisitor.prototype.visitLiteralArray = function (ast, context) {
+ return this.visitAll(ast.expressions, context);
+ };
+ RecursiveAstVisitor.prototype.visitLiteralMap = function (ast, context) { return this.visitAll(ast.values, context); };
+ RecursiveAstVisitor.prototype.visitLiteralPrimitive = function (ast, context) { return null; };
+ RecursiveAstVisitor.prototype.visitMethodCall = function (ast, context) {
+ ast.receiver.visit(this);
+ return this.visitAll(ast.args, context);
+ };
+ RecursiveAstVisitor.prototype.visitPrefixNot = function (ast, context) {
+ ast.expression.visit(this);
+ return null;
+ };
+ RecursiveAstVisitor.prototype.visitPropertyRead = function (ast, context) {
+ ast.receiver.visit(this);
+ return null;
+ };
+ RecursiveAstVisitor.prototype.visitPropertyWrite = function (ast, context) {
+ ast.receiver.visit(this);
+ ast.value.visit(this);
+ return null;
+ };
+ RecursiveAstVisitor.prototype.visitSafePropertyRead = function (ast, context) {
+ ast.receiver.visit(this);
+ return null;
+ };
+ RecursiveAstVisitor.prototype.visitSafeMethodCall = function (ast, context) {
+ ast.receiver.visit(this);
+ return this.visitAll(ast.args, context);
+ };
+ RecursiveAstVisitor.prototype.visitAll = function (asts, context) {
+ var _this = this;
+ asts.forEach(function (ast) { return ast.visit(_this, context); });
+ return null;
+ };
+ RecursiveAstVisitor.prototype.visitQuote = function (ast, context) { return null; };
+ return RecursiveAstVisitor;
+ }());
+
+ exports.TokenType;
+ (function (TokenType) {
+ TokenType[TokenType["Character"] = 0] = "Character";
+ TokenType[TokenType["Identifier"] = 1] = "Identifier";
+ TokenType[TokenType["Keyword"] = 2] = "Keyword";
+ TokenType[TokenType["String"] = 3] = "String";
+ TokenType[TokenType["Operator"] = 4] = "Operator";
+ TokenType[TokenType["Number"] = 5] = "Number";
+ TokenType[TokenType["Error"] = 6] = "Error";
+ })(exports.TokenType || (exports.TokenType = {}));
+ var KEYWORDS = ['var', 'let', 'null', 'undefined', 'true', 'false', 'if', 'else', 'this'];
+ var Lexer = (function () {
+ function Lexer() {
+ }
+ Lexer.prototype.tokenize = function (text) {
+ var scanner = new _Scanner(text);
+ var tokens = [];
+ var token = scanner.scanToken();
+ while (token != null) {
+ tokens.push(token);
+ token = scanner.scanToken();
+ }
+ return tokens;
+ };
+ Lexer.decorators = [
+ { type: _angular_core.Injectable },
+ ];
+ /** @nocollapse */
+ Lexer.ctorParameters = [];
+ return Lexer;
+ }());
+ var Token = (function () {
+ function Token(index, type, numValue, strValue) {
+ this.index = index;
+ this.type = type;
+ this.numValue = numValue;
+ this.strValue = strValue;
+ }
+ Token.prototype.isCharacter = function (code) {
+ return this.type == exports.TokenType.Character && this.numValue == code;
+ };
+ Token.prototype.isNumber = function () { return this.type == exports.TokenType.Number; };
+ Token.prototype.isString = function () { return this.type == exports.TokenType.String; };
+ Token.prototype.isOperator = function (operater) {
+ return this.type == exports.TokenType.Operator && this.strValue == operater;
+ };
+ Token.prototype.isIdentifier = function () { return this.type == exports.TokenType.Identifier; };
+ Token.prototype.isKeyword = function () { return this.type == exports.TokenType.Keyword; };
+ Token.prototype.isKeywordLet = function () { return this.type == exports.TokenType.Keyword && this.strValue == 'let'; };
+ Token.prototype.isKeywordNull = function () { return this.type == exports.TokenType.Keyword && this.strValue == 'null'; };
+ Token.prototype.isKeywordUndefined = function () {
+ return this.type == exports.TokenType.Keyword && this.strValue == 'undefined';
+ };
+ Token.prototype.isKeywordTrue = function () { return this.type == exports.TokenType.Keyword && this.strValue == 'true'; };
+ Token.prototype.isKeywordFalse = function () { return this.type == exports.TokenType.Keyword && this.strValue == 'false'; };
+ Token.prototype.isKeywordThis = function () { return this.type == exports.TokenType.Keyword && this.strValue == 'this'; };
+ Token.prototype.isError = function () { return this.type == exports.TokenType.Error; };
+ Token.prototype.toNumber = function () { return this.type == exports.TokenType.Number ? this.numValue : -1; };
+ Token.prototype.toString = function () {
+ switch (this.type) {
+ case exports.TokenType.Character:
+ case exports.TokenType.Identifier:
+ case exports.TokenType.Keyword:
+ case exports.TokenType.Operator:
+ case exports.TokenType.String:
+ case exports.TokenType.Error:
+ return this.strValue;
+ case exports.TokenType.Number:
+ return this.numValue.toString();
+ default:
+ return null;
+ }
+ };
+ return Token;
+ }());
+ function newCharacterToken(index, code) {
+ return new Token(index, exports.TokenType.Character, code, String.fromCharCode(code));
+ }
+ function newIdentifierToken(index, text) {
+ return new Token(index, exports.TokenType.Identifier, 0, text);
+ }
+ function newKeywordToken(index, text) {
+ return new Token(index, exports.TokenType.Keyword, 0, text);
+ }
+ function newOperatorToken(index, text) {
+ return new Token(index, exports.TokenType.Operator, 0, text);
+ }
+ function newStringToken(index, text) {
+ return new Token(index, exports.TokenType.String, 0, text);
+ }
+ function newNumberToken(index, n) {
+ return new Token(index, exports.TokenType.Number, n, '');
+ }
+ function newErrorToken(index, message) {
+ return new Token(index, exports.TokenType.Error, 0, message);
+ }
+ var EOF = new Token(-1, exports.TokenType.Character, 0, '');
+ var _Scanner = (function () {
+ function _Scanner(input) {
+ this.input = input;
+ this.peek = 0;
+ this.index = -1;
+ this.length = input.length;
+ this.advance();
+ }
+ _Scanner.prototype.advance = function () {
+ this.peek = ++this.index >= this.length ? $EOF : this.input.charCodeAt(this.index);
+ };
+ _Scanner.prototype.scanToken = function () {
+ var input = this.input, length = this.length;
+ var peek = this.peek, index = this.index;
+ // Skip whitespace.
+ while (peek <= $SPACE) {
+ if (++index >= length) {
+ peek = $EOF;
+ break;
+ }
+ else {
+ peek = input.charCodeAt(index);
+ }
+ }
+ this.peek = peek;
+ this.index = index;
+ if (index >= length) {
+ return null;
+ }
+ // Handle identifiers and numbers.
+ if (isIdentifierStart(peek))
+ return this.scanIdentifier();
+ if (isDigit(peek))
+ return this.scanNumber(index);
+ var start = index;
+ switch (peek) {
+ case $PERIOD:
+ this.advance();
+ return isDigit(this.peek) ? this.scanNumber(start) :
+ newCharacterToken(start, $PERIOD);
+ case $LPAREN:
+ case $RPAREN:
+ case $LBRACE:
+ case $RBRACE:
+ case $LBRACKET:
+ case $RBRACKET:
+ case $COMMA:
+ case $COLON:
+ case $SEMICOLON:
+ return this.scanCharacter(start, peek);
+ case $SQ:
+ case $DQ:
+ return this.scanString();
+ case $HASH:
+ case $PLUS:
+ case $MINUS:
+ case $STAR:
+ case $SLASH:
+ case $PERCENT:
+ case $CARET:
+ return this.scanOperator(start, String.fromCharCode(peek));
+ case $QUESTION:
+ return this.scanComplexOperator(start, '?', $PERIOD, '.');
+ case $LT:
+ case $GT:
+ return this.scanComplexOperator(start, String.fromCharCode(peek), $EQ, '=');
+ case $BANG:
+ case $EQ:
+ return this.scanComplexOperator(start, String.fromCharCode(peek), $EQ, '=', $EQ, '=');
+ case $AMPERSAND:
+ return this.scanComplexOperator(start, '&', $AMPERSAND, '&');
+ case $BAR:
+ return this.scanComplexOperator(start, '|', $BAR, '|');
+ case $NBSP:
+ while (isWhitespace(this.peek))
+ this.advance();
+ return this.scanToken();
+ }
+ this.advance();
+ return this.error("Unexpected character [" + String.fromCharCode(peek) + "]", 0);
+ };
+ _Scanner.prototype.scanCharacter = function (start, code) {
+ this.advance();
+ return newCharacterToken(start, code);
+ };
+ _Scanner.prototype.scanOperator = function (start, str) {
+ this.advance();
+ return newOperatorToken(start, str);
+ };
+ /**
+ * Tokenize a 2/3 char long operator
+ *
+ * @param start start index in the expression
+ * @param one first symbol (always part of the operator)
+ * @param twoCode code point for the second symbol
+ * @param two second symbol (part of the operator when the second code point matches)
+ * @param threeCode code point for the third symbol
+ * @param three third symbol (part of the operator when provided and matches source expression)
+ * @returns {Token}
+ */
+ _Scanner.prototype.scanComplexOperator = function (start, one, twoCode, two, threeCode, three) {
+ this.advance();
+ var str = one;
+ if (this.peek == twoCode) {
+ this.advance();
+ str += two;
+ }
+ if (isPresent(threeCode) && this.peek == threeCode) {
+ this.advance();
+ str += three;
+ }
+ return newOperatorToken(start, str);
+ };
+ _Scanner.prototype.scanIdentifier = function () {
+ var start = this.index;
+ this.advance();
+ while (isIdentifierPart(this.peek))
+ this.advance();
+ var str = this.input.substring(start, this.index);
+ return KEYWORDS.indexOf(str) > -1 ? newKeywordToken(start, str) :
+ newIdentifierToken(start, str);
+ };
+ _Scanner.prototype.scanNumber = function (start) {
+ var simple = (this.index === start);
+ this.advance(); // Skip initial digit.
+ while (true) {
+ if (isDigit(this.peek)) {
+ }
+ else if (this.peek == $PERIOD) {
+ simple = false;
+ }
+ else if (isExponentStart(this.peek)) {
+ this.advance();
+ if (isExponentSign(this.peek))
+ this.advance();
+ if (!isDigit(this.peek))
+ return this.error('Invalid exponent', -1);
+ simple = false;
+ }
+ else {
+ break;
+ }
+ this.advance();
+ }
+ var str = this.input.substring(start, this.index);
+ var value = simple ? NumberWrapper.parseIntAutoRadix(str) : parseFloat(str);
+ return newNumberToken(start, value);
+ };
+ _Scanner.prototype.scanString = function () {
+ var start = this.index;
+ var quote = this.peek;
+ this.advance(); // Skip initial quote.
+ var buffer = '';
+ var marker = this.index;
+ var input = this.input;
+ while (this.peek != quote) {
+ if (this.peek == $BACKSLASH) {
+ buffer += input.substring(marker, this.index);
+ this.advance();
+ var unescapedCode = void 0;
+ if (this.peek == $u) {
+ // 4 character hex code for unicode character.
+ var hex = input.substring(this.index + 1, this.index + 5);
+ if (/^[0-9a-f]+$/i.test(hex)) {
+ unescapedCode = parseInt(hex, 16);
+ }
+ else {
+ return this.error("Invalid unicode escape [\\u" + hex + "]", 0);
+ }
+ for (var i = 0; i < 5; i++) {
+ this.advance();
+ }
+ }
+ else {
+ unescapedCode = unescape(this.peek);
+ this.advance();
+ }
+ buffer += String.fromCharCode(unescapedCode);
+ marker = this.index;
+ }
+ else if (this.peek == $EOF) {
+ return this.error('Unterminated quote', 0);
+ }
+ else {
+ this.advance();
+ }
+ }
+ var last = input.substring(marker, this.index);
+ this.advance(); // Skip terminating quote.
+ return newStringToken(start, buffer + last);
+ };
+ _Scanner.prototype.error = function (message, offset) {
+ var position = this.index + offset;
+ return newErrorToken(position, "Lexer Error: " + message + " at column " + position + " in expression [" + this.input + "]");
+ };
+ return _Scanner;
+ }());
+ function isIdentifierStart(code) {
+ return ($a <= code && code <= $z) || ($A <= code && code <= $Z) ||
+ (code == $_) || (code == $$);
+ }
+ function isIdentifier(input) {
+ if (input.length == 0)
+ return false;
+ var scanner = new _Scanner(input);
+ if (!isIdentifierStart(scanner.peek))
+ return false;
+ scanner.advance();
+ while (scanner.peek !== $EOF) {
+ if (!isIdentifierPart(scanner.peek))
+ return false;
+ scanner.advance();
+ }
+ return true;
+ }
+ function isIdentifierPart(code) {
+ return isAsciiLetter(code) || isDigit(code) || (code == $_) ||
+ (code == $$);
+ }
+ function isExponentStart(code) {
+ return code == $e || code == $E;
+ }
+ function isExponentSign(code) {
+ return code == $MINUS || code == $PLUS;
+ }
+ function isQuote(code) {
+ return code === $SQ || code === $DQ || code === $BT;
+ }
+ function unescape(code) {
+ switch (code) {
+ case $n:
+ return $LF;
+ case $f:
+ return $FF;
+ case $r:
+ return $CR;
+ case $t:
+ return $TAB;
+ case $v:
+ return $VTAB;
+ default:
+ return code;
+ }
+ }
+
+ var SplitInterpolation = (function () {
+ function SplitInterpolation(strings, expressions, offsets) {
+ this.strings = strings;
+ this.expressions = expressions;
+ this.offsets = offsets;
+ }
+ return SplitInterpolation;
+ }());
+ var TemplateBindingParseResult = (function () {
+ function TemplateBindingParseResult(templateBindings, warnings, errors) {
+ this.templateBindings = templateBindings;
+ this.warnings = warnings;
+ this.errors = errors;
+ }
+ return TemplateBindingParseResult;
+ }());
+ function _createInterpolateRegExp(config) {
+ var pattern = escapeRegExp(config.start) + '([\\s\\S]*?)' + escapeRegExp(config.end);
+ return new RegExp(pattern, 'g');
+ }
+ var Parser = (function () {
+ function Parser(_lexer) {
+ this._lexer = _lexer;
+ this.errors = [];
+ }
+ Parser.prototype.parseAction = function (input, location, interpolationConfig) {
+ if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }
+ this._checkNoInterpolation(input, location, interpolationConfig);
+ var sourceToLex = this._stripComments(input);
+ var tokens = this._lexer.tokenize(this._stripComments(input));
+ var ast = new _ParseAST(input, location, tokens, sourceToLex.length, true, this.errors, input.length - sourceToLex.length)
+ .parseChain();
+ return new ASTWithSource(ast, input, location, this.errors);
+ };
+ Parser.prototype.parseBinding = function (input, location, interpolationConfig) {
+ if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }
+ var ast = this._parseBindingAst(input, location, interpolationConfig);
+ return new ASTWithSource(ast, input, location, this.errors);
+ };
+ Parser.prototype.parseSimpleBinding = function (input, location, interpolationConfig) {
+ if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }
+ var ast = this._parseBindingAst(input, location, interpolationConfig);
+ var errors = SimpleExpressionChecker.check(ast);
+ if (errors.length > 0) {
+ this._reportError("Host binding expression cannot contain " + errors.join(' '), input, location);
+ }
+ return new ASTWithSource(ast, input, location, this.errors);
+ };
+ Parser.prototype._reportError = function (message, input, errLocation, ctxLocation) {
+ this.errors.push(new ParserError(message, input, errLocation, ctxLocation));
+ };
+ Parser.prototype._parseBindingAst = function (input, location, interpolationConfig) {
+ // Quotes expressions use 3rd-party expression language. We don't want to use
+ // our lexer or parser for that, so we check for that ahead of time.
+ var quote = this._parseQuote(input, location);
+ if (isPresent(quote)) {
+ return quote;
+ }
+ this._checkNoInterpolation(input, location, interpolationConfig);
+ var sourceToLex = this._stripComments(input);
+ var tokens = this._lexer.tokenize(sourceToLex);
+ return new _ParseAST(input, location, tokens, sourceToLex.length, false, this.errors, input.length - sourceToLex.length)
+ .parseChain();
+ };
+ Parser.prototype._parseQuote = function (input, location) {
+ if (isBlank(input))
+ return null;
+ var prefixSeparatorIndex = input.indexOf(':');
+ if (prefixSeparatorIndex == -1)
+ return null;
+ var prefix = input.substring(0, prefixSeparatorIndex).trim();
+ if (!isIdentifier(prefix))
+ return null;
+ var uninterpretedExpression = input.substring(prefixSeparatorIndex + 1);
+ return new Quote(new ParseSpan(0, input.length), prefix, uninterpretedExpression, location);
+ };
+ Parser.prototype.parseTemplateBindings = function (prefixToken, input, location) {
+ var tokens = this._lexer.tokenize(input);
+ if (prefixToken) {
+ // Prefix the tokens with the tokens from prefixToken but have them take no space (0 index).
+ var prefixTokens = this._lexer.tokenize(prefixToken).map(function (t) {
+ t.index = 0;
+ return t;
+ });
+ tokens.unshift.apply(tokens, prefixTokens);
+ }
+ return new _ParseAST(input, location, tokens, input.length, false, this.errors, 0)
+ .parseTemplateBindings();
+ };
+ Parser.prototype.parseInterpolation = function (input, location, interpolationConfig) {
+ if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }
+ var split = this.splitInterpolation(input, location, interpolationConfig);
+ if (split == null)
+ return null;
+ var expressions = [];
+ for (var i = 0; i < split.expressions.length; ++i) {
+ var expressionText = split.expressions[i];
+ var sourceToLex = this._stripComments(expressionText);
+ var tokens = this._lexer.tokenize(this._stripComments(split.expressions[i]));
+ var ast = new _ParseAST(input, location, tokens, sourceToLex.length, false, this.errors, split.offsets[i] + (expressionText.length - sourceToLex.length))
+ .parseChain();
+ expressions.push(ast);
+ }
+ return new ASTWithSource(new Interpolation(new ParseSpan(0, isBlank(input) ? 0 : input.length), split.strings, expressions), input, location, this.errors);
+ };
+ Parser.prototype.splitInterpolation = function (input, location, interpolationConfig) {
+ if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }
+ var regexp = _createInterpolateRegExp(interpolationConfig);
+ var parts = input.split(regexp);
+ if (parts.length <= 1) {
+ return null;
+ }
+ var strings = [];
+ var expressions = [];
+ var offsets = [];
+ var offset = 0;
+ for (var i = 0; i < parts.length; i++) {
+ var part = parts[i];
+ if (i % 2 === 0) {
+ // fixed string
+ strings.push(part);
+ offset += part.length;
+ }
+ else if (part.trim().length > 0) {
+ offset += interpolationConfig.start.length;
+ expressions.push(part);
+ offsets.push(offset);
+ offset += part.length + interpolationConfig.end.length;
+ }
+ else {
+ this._reportError('Blank expressions are not allowed in interpolated strings', input, "at column " + this._findInterpolationErrorColumn(parts, i, interpolationConfig) + " in", location);
+ expressions.push('$implict');
+ offsets.push(offset);
+ }
+ }
+ return new SplitInterpolation(strings, expressions, offsets);
+ };
+ Parser.prototype.wrapLiteralPrimitive = function (input, location) {
+ return new ASTWithSource(new LiteralPrimitive(new ParseSpan(0, isBlank(input) ? 0 : input.length), input), input, location, this.errors);
+ };
+ Parser.prototype._stripComments = function (input) {
+ var i = this._commentStart(input);
+ return isPresent(i) ? input.substring(0, i).trim() : input;
+ };
+ Parser.prototype._commentStart = function (input) {
+ var outerQuote = null;
+ for (var i = 0; i < input.length - 1; i++) {
+ var char = input.charCodeAt(i);
+ var nextChar = input.charCodeAt(i + 1);
+ if (char === $SLASH && nextChar == $SLASH && isBlank(outerQuote))
+ return i;
+ if (outerQuote === char) {
+ outerQuote = null;
+ }
+ else if (isBlank(outerQuote) && isQuote(char)) {
+ outerQuote = char;
+ }
+ }
+ return null;
+ };
+ Parser.prototype._checkNoInterpolation = function (input, location, interpolationConfig) {
+ var regexp = _createInterpolateRegExp(interpolationConfig);
+ var parts = input.split(regexp);
+ if (parts.length > 1) {
+ this._reportError("Got interpolation (" + interpolationConfig.start + interpolationConfig.end + ") where expression was expected", input, "at column " + this._findInterpolationErrorColumn(parts, 1, interpolationConfig) + " in", location);
+ }
+ };
+ Parser.prototype._findInterpolationErrorColumn = function (parts, partInErrIdx, interpolationConfig) {
+ var errLocation = '';
+ for (var j = 0; j < partInErrIdx; j++) {
+ errLocation += j % 2 === 0 ?
+ parts[j] :
+ "" + interpolationConfig.start + parts[j] + interpolationConfig.end;
+ }
+ return errLocation.length;
+ };
+ Parser.decorators = [
+ { type: _angular_core.Injectable },
+ ];
+ /** @nocollapse */
+ Parser.ctorParameters = [
+ { type: Lexer, },
+ ];
+ return Parser;
+ }());
+ var _ParseAST = (function () {
+ function _ParseAST(input, location, tokens, inputLength, parseAction, errors, offset) {
+ this.input = input;
+ this.location = location;
+ this.tokens = tokens;
+ this.inputLength = inputLength;
+ this.parseAction = parseAction;
+ this.errors = errors;
+ this.offset = offset;
+ this.rparensExpected = 0;
+ this.rbracketsExpected = 0;
+ this.rbracesExpected = 0;
+ this.index = 0;
+ }
+ _ParseAST.prototype.peek = function (offset) {
+ var i = this.index + offset;
+ return i < this.tokens.length ? this.tokens[i] : EOF;
+ };
+ Object.defineProperty(_ParseAST.prototype, "next", {
+ get: function () { return this.peek(0); },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(_ParseAST.prototype, "inputIndex", {
+ get: function () {
+ return (this.index < this.tokens.length) ? this.next.index + this.offset :
+ this.inputLength + this.offset;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ _ParseAST.prototype.span = function (start) { return new ParseSpan(start, this.inputIndex); };
+ _ParseAST.prototype.advance = function () { this.index++; };
+ _ParseAST.prototype.optionalCharacter = function (code) {
+ if (this.next.isCharacter(code)) {
+ this.advance();
+ return true;
+ }
+ else {
+ return false;
+ }
+ };
+ _ParseAST.prototype.peekKeywordLet = function () { return this.next.isKeywordLet(); };
+ _ParseAST.prototype.expectCharacter = function (code) {
+ if (this.optionalCharacter(code))
+ return;
+ this.error("Missing expected " + String.fromCharCode(code));
+ };
+ _ParseAST.prototype.optionalOperator = function (op) {
+ if (this.next.isOperator(op)) {
+ this.advance();
+ return true;
+ }
+ else {
+ return false;
+ }
+ };
+ _ParseAST.prototype.expectOperator = function (operator) {
+ if (this.optionalOperator(operator))
+ return;
+ this.error("Missing expected operator " + operator);
+ };
+ _ParseAST.prototype.expectIdentifierOrKeyword = function () {
+ var n = this.next;
+ if (!n.isIdentifier() && !n.isKeyword()) {
+ this.error("Unexpected token " + n + ", expected identifier or keyword");
+ return '';
+ }
+ this.advance();
+ return n.toString();
+ };
+ _ParseAST.prototype.expectIdentifierOrKeywordOrString = function () {
+ var n = this.next;
+ if (!n.isIdentifier() && !n.isKeyword() && !n.isString()) {
+ this.error("Unexpected token " + n + ", expected identifier, keyword, or string");
+ return '';
+ }
+ this.advance();
+ return n.toString();
+ };
+ _ParseAST.prototype.parseChain = function () {
+ var exprs = [];
+ var start = this.inputIndex;
+ while (this.index < this.tokens.length) {
+ var expr = this.parsePipe();
+ exprs.push(expr);
+ if (this.optionalCharacter($SEMICOLON)) {
+ if (!this.parseAction) {
+ this.error('Binding expression cannot contain chained expression');
+ }
+ while (this.optionalCharacter($SEMICOLON)) {
+ } // read all semicolons
+ }
+ else if (this.index < this.tokens.length) {
+ this.error("Unexpected token '" + this.next + "'");
+ }
+ }
+ if (exprs.length == 0)
+ return new EmptyExpr(this.span(start));
+ if (exprs.length == 1)
+ return exprs[0];
+ return new Chain(this.span(start), exprs);
+ };
+ _ParseAST.prototype.parsePipe = function () {
+ var result = this.parseExpression();
+ if (this.optionalOperator('|')) {
+ if (this.parseAction) {
+ this.error('Cannot have a pipe in an action expression');
+ }
+ do {
+ var name_1 = this.expectIdentifierOrKeyword();
+ var args = [];
+ while (this.optionalCharacter($COLON)) {
+ args.push(this.parseExpression());
+ }
+ result = new BindingPipe(this.span(result.span.start - this.offset), result, name_1, args);
+ } while (this.optionalOperator('|'));
}
return result;
};
- MapWrapper.toStringMap = function (m) {
- var r = {};
- m.forEach(function (v, k) { return r[k] = v; });
- return r;
- };
- MapWrapper.createFromPairs = function (pairs) { return createMapFromPairs(pairs); };
- MapWrapper.iterable = function (m) { return m; };
- MapWrapper.keys = function (m) { return _arrayFromMap(m, false); };
- MapWrapper.values = function (m) { return _arrayFromMap(m, true); };
- return MapWrapper;
- }());
- /**
- * Wraps Javascript Objects
- */
- var StringMapWrapper = (function () {
- function StringMapWrapper() {
- }
- StringMapWrapper.merge = function (m1, m2) {
- var m = {};
- for (var _i = 0, _a = Object.keys(m1); _i < _a.length; _i++) {
- var k = _a[_i];
- m[k] = m1[k];
- }
- for (var _b = 0, _c = Object.keys(m2); _b < _c.length; _b++) {
- var k = _c[_b];
- m[k] = m2[k];
- }
- return m;
- };
- StringMapWrapper.equals = function (m1, m2) {
- var k1 = Object.keys(m1);
- var k2 = Object.keys(m2);
- if (k1.length != k2.length) {
- return false;
- }
- for (var i = 0; i < k1.length; i++) {
- var key = k1[i];
- if (m1[key] !== m2[key]) {
- return false;
- }
- }
- return true;
- };
- return StringMapWrapper;
- }());
- var ListWrapper = (function () {
- function ListWrapper() {
- }
- // JS has no way to express a statically fixed size list, but dart does so we
- // keep both methods.
- ListWrapper.createFixedSize = function (size) { return new Array(size); };
- ListWrapper.createGrowableSize = function (size) { return new Array(size); };
- ListWrapper.clone = function (array) { return array.slice(0); };
- ListWrapper.forEachWithIndex = function (array, fn) {
- for (var i = 0; i < array.length; i++) {
- fn(array[i], i);
- }
- };
- ListWrapper.first = function (array) {
- if (!array)
- return null;
- return array[0];
- };
- ListWrapper.last = function (array) {
- if (!array || array.length == 0)
- return null;
- return array[array.length - 1];
- };
- ListWrapper.indexOf = function (array, value, startIndex) {
- if (startIndex === void 0) { startIndex = 0; }
- return array.indexOf(value, startIndex);
- };
- ListWrapper.contains = function (list, el) { return list.indexOf(el) !== -1; };
- ListWrapper.reversed = function (array) {
- var a = ListWrapper.clone(array);
- return a.reverse();
- };
- ListWrapper.concat = function (a, b) { return a.concat(b); };
- ListWrapper.insert = function (list, index, value) { list.splice(index, 0, value); };
- ListWrapper.removeAt = function (list, index) {
- var res = list[index];
- list.splice(index, 1);
- return res;
- };
- ListWrapper.removeAll = function (list, items) {
- for (var i = 0; i < items.length; ++i) {
- var index = list.indexOf(items[i]);
- list.splice(index, 1);
- }
- };
- ListWrapper.remove = function (list, el) {
- var index = list.indexOf(el);
- if (index > -1) {
- list.splice(index, 1);
- return true;
- }
- return false;
- };
- ListWrapper.clear = function (list) { list.length = 0; };
- ListWrapper.isEmpty = function (list) { return list.length == 0; };
- ListWrapper.fill = function (list, value, start, end) {
- if (start === void 0) { start = 0; }
- if (end === void 0) { end = null; }
- list.fill(value, start, end === null ? list.length : end);
- };
- ListWrapper.equals = function (a, b) {
- if (a.length != b.length)
- return false;
- for (var i = 0; i < a.length; ++i) {
- if (a[i] !== b[i])
- return false;
- }
- return true;
- };
- ListWrapper.slice = function (l, from, to) {
- if (from === void 0) { from = 0; }
- if (to === void 0) { to = null; }
- return l.slice(from, to === null ? undefined : to);
- };
- ListWrapper.splice = function (l, from, length) { return l.splice(from, length); };
- ListWrapper.sort = function (l, compareFn) {
- if (isPresent(compareFn)) {
- l.sort(compareFn);
- }
- else {
- l.sort();
- }
- };
- ListWrapper.toString = function (l) { return l.toString(); };
- ListWrapper.toJSON = function (l) { return JSON.stringify(l); };
- ListWrapper.maximum = function (list, predicate) {
- if (list.length == 0) {
- return null;
- }
- var solution = null;
- var maxValue = -Infinity;
- for (var index = 0; index < list.length; index++) {
- var candidate = list[index];
- if (isBlank(candidate)) {
- continue;
- }
- var candidateValue = predicate(candidate);
- if (candidateValue > maxValue) {
- solution = candidate;
- maxValue = candidateValue;
- }
- }
- return solution;
- };
- ListWrapper.flatten = function (list) {
- var target = [];
- _flattenArray(list, target);
- return target;
- };
- ListWrapper.addAll = function (list, source) {
- for (var i = 0; i < source.length; i++) {
- list.push(source[i]);
- }
- };
- return ListWrapper;
- }());
- function _flattenArray(source, target) {
- if (isPresent(source)) {
- for (var i = 0; i < source.length; i++) {
- var item = source[i];
- if (isArray(item)) {
- _flattenArray(item, target);
+ _ParseAST.prototype.parseExpression = function () { return this.parseConditional(); };
+ _ParseAST.prototype.parseConditional = function () {
+ var start = this.inputIndex;
+ var result = this.parseLogicalOr();
+ if (this.optionalOperator('?')) {
+ var yes = this.parsePipe();
+ var no = void 0;
+ if (!this.optionalCharacter($COLON)) {
+ var end = this.inputIndex;
+ var expression = this.input.substring(start, end);
+ this.error("Conditional expression " + expression + " requires all 3 expressions");
+ no = new EmptyExpr(this.span(start));
}
else {
- target.push(item);
+ no = this.parsePipe();
+ }
+ return new Conditional(this.span(start), result, yes, no);
+ }
+ else {
+ return result;
+ }
+ };
+ _ParseAST.prototype.parseLogicalOr = function () {
+ // '||'
+ var result = this.parseLogicalAnd();
+ while (this.optionalOperator('||')) {
+ var right = this.parseLogicalAnd();
+ result = new Binary(this.span(result.span.start), '||', result, right);
+ }
+ return result;
+ };
+ _ParseAST.prototype.parseLogicalAnd = function () {
+ // '&&'
+ var result = this.parseEquality();
+ while (this.optionalOperator('&&')) {
+ var right = this.parseEquality();
+ result = new Binary(this.span(result.span.start), '&&', result, right);
+ }
+ return result;
+ };
+ _ParseAST.prototype.parseEquality = function () {
+ // '==','!=','===','!=='
+ var result = this.parseRelational();
+ while (this.next.type == exports.TokenType.Operator) {
+ var operator = this.next.strValue;
+ switch (operator) {
+ case '==':
+ case '===':
+ case '!=':
+ case '!==':
+ this.advance();
+ var right = this.parseRelational();
+ result = new Binary(this.span(result.span.start), operator, result, right);
+ continue;
+ }
+ break;
+ }
+ return result;
+ };
+ _ParseAST.prototype.parseRelational = function () {
+ // '<', '>', '<=', '>='
+ var result = this.parseAdditive();
+ while (this.next.type == exports.TokenType.Operator) {
+ var operator = this.next.strValue;
+ switch (operator) {
+ case '<':
+ case '>':
+ case '<=':
+ case '>=':
+ this.advance();
+ var right = this.parseAdditive();
+ result = new Binary(this.span(result.span.start), operator, result, right);
+ continue;
+ }
+ break;
+ }
+ return result;
+ };
+ _ParseAST.prototype.parseAdditive = function () {
+ // '+', '-'
+ var result = this.parseMultiplicative();
+ while (this.next.type == exports.TokenType.Operator) {
+ var operator = this.next.strValue;
+ switch (operator) {
+ case '+':
+ case '-':
+ this.advance();
+ var right = this.parseMultiplicative();
+ result = new Binary(this.span(result.span.start), operator, result, right);
+ continue;
+ }
+ break;
+ }
+ return result;
+ };
+ _ParseAST.prototype.parseMultiplicative = function () {
+ // '*', '%', '/'
+ var result = this.parsePrefix();
+ while (this.next.type == exports.TokenType.Operator) {
+ var operator = this.next.strValue;
+ switch (operator) {
+ case '*':
+ case '%':
+ case '/':
+ this.advance();
+ var right = this.parsePrefix();
+ result = new Binary(this.span(result.span.start), operator, result, right);
+ continue;
+ }
+ break;
+ }
+ return result;
+ };
+ _ParseAST.prototype.parsePrefix = function () {
+ if (this.next.type == exports.TokenType.Operator) {
+ var start = this.inputIndex;
+ var operator = this.next.strValue;
+ var result = void 0;
+ switch (operator) {
+ case '+':
+ this.advance();
+ return this.parsePrefix();
+ case '-':
+ this.advance();
+ result = this.parsePrefix();
+ return new Binary(this.span(start), operator, new LiteralPrimitive(new ParseSpan(start, start), 0), result);
+ case '!':
+ this.advance();
+ result = this.parsePrefix();
+ return new PrefixNot(this.span(start), result);
}
}
+ return this.parseCallChain();
+ };
+ _ParseAST.prototype.parseCallChain = function () {
+ var result = this.parsePrimary();
+ while (true) {
+ if (this.optionalCharacter($PERIOD)) {
+ result = this.parseAccessMemberOrMethodCall(result, false);
+ }
+ else if (this.optionalOperator('?.')) {
+ result = this.parseAccessMemberOrMethodCall(result, true);
+ }
+ else if (this.optionalCharacter($LBRACKET)) {
+ this.rbracketsExpected++;
+ var key = this.parsePipe();
+ this.rbracketsExpected--;
+ this.expectCharacter($RBRACKET);
+ if (this.optionalOperator('=')) {
+ var value = this.parseConditional();
+ result = new KeyedWrite(this.span(result.span.start), result, key, value);
+ }
+ else {
+ result = new KeyedRead(this.span(result.span.start), result, key);
+ }
+ }
+ else if (this.optionalCharacter($LPAREN)) {
+ this.rparensExpected++;
+ var args = this.parseCallArguments();
+ this.rparensExpected--;
+ this.expectCharacter($RPAREN);
+ result = new FunctionCall(this.span(result.span.start), result, args);
+ }
+ else {
+ return result;
+ }
+ }
+ };
+ _ParseAST.prototype.parsePrimary = function () {
+ var start = this.inputIndex;
+ if (this.optionalCharacter($LPAREN)) {
+ this.rparensExpected++;
+ var result = this.parsePipe();
+ this.rparensExpected--;
+ this.expectCharacter($RPAREN);
+ return result;
+ }
+ else if (this.next.isKeywordNull()) {
+ this.advance();
+ return new LiteralPrimitive(this.span(start), null);
+ }
+ else if (this.next.isKeywordUndefined()) {
+ this.advance();
+ return new LiteralPrimitive(this.span(start), void 0);
+ }
+ else if (this.next.isKeywordTrue()) {
+ this.advance();
+ return new LiteralPrimitive(this.span(start), true);
+ }
+ else if (this.next.isKeywordFalse()) {
+ this.advance();
+ return new LiteralPrimitive(this.span(start), false);
+ }
+ else if (this.next.isKeywordThis()) {
+ this.advance();
+ return new ImplicitReceiver(this.span(start));
+ }
+ else if (this.optionalCharacter($LBRACKET)) {
+ this.rbracketsExpected++;
+ var elements = this.parseExpressionList($RBRACKET);
+ this.rbracketsExpected--;
+ this.expectCharacter($RBRACKET);
+ return new LiteralArray(this.span(start), elements);
+ }
+ else if (this.next.isCharacter($LBRACE)) {
+ return this.parseLiteralMap();
+ }
+ else if (this.next.isIdentifier()) {
+ return this.parseAccessMemberOrMethodCall(new ImplicitReceiver(this.span(start)), false);
+ }
+ else if (this.next.isNumber()) {
+ var value = this.next.toNumber();
+ this.advance();
+ return new LiteralPrimitive(this.span(start), value);
+ }
+ else if (this.next.isString()) {
+ var literalValue = this.next.toString();
+ this.advance();
+ return new LiteralPrimitive(this.span(start), literalValue);
+ }
+ else if (this.index >= this.tokens.length) {
+ this.error("Unexpected end of expression: " + this.input);
+ return new EmptyExpr(this.span(start));
+ }
+ else {
+ this.error("Unexpected token " + this.next);
+ return new EmptyExpr(this.span(start));
+ }
+ };
+ _ParseAST.prototype.parseExpressionList = function (terminator) {
+ var result = [];
+ if (!this.next.isCharacter(terminator)) {
+ do {
+ result.push(this.parsePipe());
+ } while (this.optionalCharacter($COMMA));
+ }
+ return result;
+ };
+ _ParseAST.prototype.parseLiteralMap = function () {
+ var keys = [];
+ var values = [];
+ var start = this.inputIndex;
+ this.expectCharacter($LBRACE);
+ if (!this.optionalCharacter($RBRACE)) {
+ this.rbracesExpected++;
+ do {
+ var key = this.expectIdentifierOrKeywordOrString();
+ keys.push(key);
+ this.expectCharacter($COLON);
+ values.push(this.parsePipe());
+ } while (this.optionalCharacter($COMMA));
+ this.rbracesExpected--;
+ this.expectCharacter($RBRACE);
+ }
+ return new LiteralMap(this.span(start), keys, values);
+ };
+ _ParseAST.prototype.parseAccessMemberOrMethodCall = function (receiver, isSafe) {
+ if (isSafe === void 0) { isSafe = false; }
+ var start = receiver.span.start;
+ var id = this.expectIdentifierOrKeyword();
+ if (this.optionalCharacter($LPAREN)) {
+ this.rparensExpected++;
+ var args = this.parseCallArguments();
+ this.expectCharacter($RPAREN);
+ this.rparensExpected--;
+ var span = this.span(start);
+ return isSafe ? new SafeMethodCall(span, receiver, id, args) :
+ new MethodCall(span, receiver, id, args);
+ }
+ else {
+ if (isSafe) {
+ if (this.optionalOperator('=')) {
+ this.error('The \'?.\' operator cannot be used in the assignment');
+ return new EmptyExpr(this.span(start));
+ }
+ else {
+ return new SafePropertyRead(this.span(start), receiver, id);
+ }
+ }
+ else {
+ if (this.optionalOperator('=')) {
+ if (!this.parseAction) {
+ this.error('Bindings cannot contain assignments');
+ return new EmptyExpr(this.span(start));
+ }
+ var value = this.parseConditional();
+ return new PropertyWrite(this.span(start), receiver, id, value);
+ }
+ else {
+ return new PropertyRead(this.span(start), receiver, id);
+ }
+ }
+ }
+ };
+ _ParseAST.prototype.parseCallArguments = function () {
+ if (this.next.isCharacter($RPAREN))
+ return [];
+ var positionals = [];
+ do {
+ positionals.push(this.parsePipe());
+ } while (this.optionalCharacter($COMMA));
+ return positionals;
+ };
+ /**
+ * An identifier, a keyword, a string with an optional `-` inbetween.
+ */
+ _ParseAST.prototype.expectTemplateBindingKey = function () {
+ var result = '';
+ var operatorFound = false;
+ do {
+ result += this.expectIdentifierOrKeywordOrString();
+ operatorFound = this.optionalOperator('-');
+ if (operatorFound) {
+ result += '-';
+ }
+ } while (operatorFound);
+ return result.toString();
+ };
+ _ParseAST.prototype.parseTemplateBindings = function () {
+ var bindings = [];
+ var prefix = null;
+ var warnings = [];
+ while (this.index < this.tokens.length) {
+ var start = this.inputIndex;
+ var keyIsVar = this.peekKeywordLet();
+ if (keyIsVar) {
+ this.advance();
+ }
+ var key = this.expectTemplateBindingKey();
+ if (!keyIsVar) {
+ if (prefix == null) {
+ prefix = key;
+ }
+ else {
+ key = prefix + key[0].toUpperCase() + key.substring(1);
+ }
+ }
+ this.optionalCharacter($COLON);
+ var name_2 = null;
+ var expression = null;
+ if (keyIsVar) {
+ if (this.optionalOperator('=')) {
+ name_2 = this.expectTemplateBindingKey();
+ }
+ else {
+ name_2 = '\$implicit';
+ }
+ }
+ else if (this.next !== EOF && !this.peekKeywordLet()) {
+ var start_1 = this.inputIndex;
+ var ast = this.parsePipe();
+ var source = this.input.substring(start_1 - this.offset, this.inputIndex - this.offset);
+ expression = new ASTWithSource(ast, source, this.location, this.errors);
+ }
+ bindings.push(new TemplateBinding(this.span(start), key, keyIsVar, name_2, expression));
+ if (!this.optionalCharacter($SEMICOLON)) {
+ this.optionalCharacter($COMMA);
+ }
+ }
+ return new TemplateBindingParseResult(bindings, warnings, this.errors);
+ };
+ _ParseAST.prototype.error = function (message, index) {
+ if (index === void 0) { index = null; }
+ this.errors.push(new ParserError(message, this.input, this.locationText(index), this.location));
+ this.skip();
+ };
+ _ParseAST.prototype.locationText = function (index) {
+ if (index === void 0) { index = null; }
+ if (isBlank(index))
+ index = this.index;
+ return (index < this.tokens.length) ? "at column " + (this.tokens[index].index + 1) + " in" :
+ "at the end of the expression";
+ };
+ // Error recovery should skip tokens until it encounters a recovery point. skip() treats
+ // the end of input and a ';' as unconditionally a recovery point. It also treats ')',
+ // '}' and ']' as conditional recovery points if one of calling productions is expecting
+ // one of these symbols. This allows skip() to recover from errors such as '(a.) + 1' allowing
+ // more of the AST to be retained (it doesn't skip any tokens as the ')' is retained because
+ // of the '(' begins an '(' ')' production). The recovery points of grouping symbols
+ // must be conditional as they must be skipped if none of the calling productions are not
+ // expecting the closing token else we will never make progress in the case of an
+ // extraneous group closing symbol (such as a stray ')'). This is not the case for ';' because
+ // parseChain() is always the root production and it expects a ';'.
+ // If a production expects one of these token it increments the corresponding nesting count,
+ // and then decrements it just prior to checking if the token is in the input.
+ _ParseAST.prototype.skip = function () {
+ var n = this.next;
+ while (this.index < this.tokens.length && !n.isCharacter($SEMICOLON) &&
+ (this.rparensExpected <= 0 || !n.isCharacter($RPAREN)) &&
+ (this.rbracesExpected <= 0 || !n.isCharacter($RBRACE)) &&
+ (this.rbracketsExpected <= 0 || !n.isCharacter($RBRACKET))) {
+ if (this.next.isError()) {
+ this.errors.push(new ParserError(this.next.toString(), this.input, this.locationText(), this.location));
+ }
+ this.advance();
+ n = this.next;
+ }
+ };
+ return _ParseAST;
+ }());
+ var SimpleExpressionChecker = (function () {
+ function SimpleExpressionChecker() {
+ this.errors = [];
}
- return target;
+ SimpleExpressionChecker.check = function (ast) {
+ var s = new SimpleExpressionChecker();
+ ast.visit(s);
+ return s.errors;
+ };
+ SimpleExpressionChecker.prototype.visitImplicitReceiver = function (ast, context) { };
+ SimpleExpressionChecker.prototype.visitInterpolation = function (ast, context) { };
+ SimpleExpressionChecker.prototype.visitLiteralPrimitive = function (ast, context) { };
+ SimpleExpressionChecker.prototype.visitPropertyRead = function (ast, context) { };
+ SimpleExpressionChecker.prototype.visitPropertyWrite = function (ast, context) { };
+ SimpleExpressionChecker.prototype.visitSafePropertyRead = function (ast, context) { };
+ SimpleExpressionChecker.prototype.visitMethodCall = function (ast, context) { };
+ SimpleExpressionChecker.prototype.visitSafeMethodCall = function (ast, context) { };
+ SimpleExpressionChecker.prototype.visitFunctionCall = function (ast, context) { };
+ SimpleExpressionChecker.prototype.visitLiteralArray = function (ast, context) { this.visitAll(ast.expressions); };
+ SimpleExpressionChecker.prototype.visitLiteralMap = function (ast, context) { this.visitAll(ast.values); };
+ SimpleExpressionChecker.prototype.visitBinary = function (ast, context) { };
+ SimpleExpressionChecker.prototype.visitPrefixNot = function (ast, context) { };
+ SimpleExpressionChecker.prototype.visitConditional = function (ast, context) { };
+ SimpleExpressionChecker.prototype.visitPipe = function (ast, context) { this.errors.push('pipes'); };
+ SimpleExpressionChecker.prototype.visitKeyedRead = function (ast, context) { };
+ SimpleExpressionChecker.prototype.visitKeyedWrite = function (ast, context) { };
+ SimpleExpressionChecker.prototype.visitAll = function (asts) {
+ var _this = this;
+ return asts.map(function (node) { return node.visit(_this); });
+ };
+ SimpleExpressionChecker.prototype.visitChain = function (ast, context) { };
+ SimpleExpressionChecker.prototype.visitQuote = function (ast, context) { };
+ return SimpleExpressionChecker;
+ }());
+
+ var ParseLocation = (function () {
+ function ParseLocation(file, offset, line, col) {
+ this.file = file;
+ this.offset = offset;
+ this.line = line;
+ this.col = col;
+ }
+ ParseLocation.prototype.toString = function () {
+ return isPresent(this.offset) ? this.file.url + "@" + this.line + ":" + this.col : this.file.url;
+ };
+ return ParseLocation;
+ }());
+ var ParseSourceFile = (function () {
+ function ParseSourceFile(content, url) {
+ this.content = content;
+ this.url = url;
+ }
+ return ParseSourceFile;
+ }());
+ var ParseSourceSpan = (function () {
+ function ParseSourceSpan(start, end, details) {
+ if (details === void 0) { details = null; }
+ this.start = start;
+ this.end = end;
+ this.details = details;
+ }
+ ParseSourceSpan.prototype.toString = function () {
+ return this.start.file.content.substring(this.start.offset, this.end.offset);
+ };
+ return ParseSourceSpan;
+ }());
+ exports.ParseErrorLevel;
+ (function (ParseErrorLevel) {
+ ParseErrorLevel[ParseErrorLevel["WARNING"] = 0] = "WARNING";
+ ParseErrorLevel[ParseErrorLevel["FATAL"] = 1] = "FATAL";
+ })(exports.ParseErrorLevel || (exports.ParseErrorLevel = {}));
+ var ParseError = (function () {
+ function ParseError(span, msg, level) {
+ if (level === void 0) { level = exports.ParseErrorLevel.FATAL; }
+ this.span = span;
+ this.msg = msg;
+ this.level = level;
+ }
+ ParseError.prototype.toString = function () {
+ var source = this.span.start.file.content;
+ var ctxStart = this.span.start.offset;
+ var contextStr = '';
+ var details = '';
+ if (isPresent(ctxStart)) {
+ if (ctxStart > source.length - 1) {
+ ctxStart = source.length - 1;
+ }
+ var ctxEnd = ctxStart;
+ var ctxLen = 0;
+ var ctxLines = 0;
+ while (ctxLen < 100 && ctxStart > 0) {
+ ctxStart--;
+ ctxLen++;
+ if (source[ctxStart] == '\n') {
+ if (++ctxLines == 3) {
+ break;
+ }
+ }
+ }
+ ctxLen = 0;
+ ctxLines = 0;
+ while (ctxLen < 100 && ctxEnd < source.length - 1) {
+ ctxEnd++;
+ ctxLen++;
+ if (source[ctxEnd] == '\n') {
+ if (++ctxLines == 3) {
+ break;
+ }
+ }
+ }
+ var context = source.substring(ctxStart, this.span.start.offset) + '[ERROR ->]' +
+ source.substring(this.span.start.offset, ctxEnd + 1);
+ contextStr = " (\"" + context + "\")";
+ }
+ if (this.span.details) {
+ details = ", " + this.span.details;
+ }
+ return "" + this.msg + contextStr + ": " + this.span.start + details;
+ };
+ return ParseError;
+ }());
+
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+ var Text = (function () {
+ function Text(value, sourceSpan) {
+ this.value = value;
+ this.sourceSpan = sourceSpan;
+ }
+ Text.prototype.visit = function (visitor, context) { return visitor.visitText(this, context); };
+ return Text;
+ }());
+ var Expansion = (function () {
+ function Expansion(switchValue, type, cases, sourceSpan, switchValueSourceSpan) {
+ this.switchValue = switchValue;
+ this.type = type;
+ this.cases = cases;
+ this.sourceSpan = sourceSpan;
+ this.switchValueSourceSpan = switchValueSourceSpan;
+ }
+ Expansion.prototype.visit = function (visitor, context) { return visitor.visitExpansion(this, context); };
+ return Expansion;
+ }());
+ var ExpansionCase = (function () {
+ function ExpansionCase(value, expression, sourceSpan, valueSourceSpan, expSourceSpan) {
+ this.value = value;
+ this.expression = expression;
+ this.sourceSpan = sourceSpan;
+ this.valueSourceSpan = valueSourceSpan;
+ this.expSourceSpan = expSourceSpan;
+ }
+ ExpansionCase.prototype.visit = function (visitor, context) { return visitor.visitExpansionCase(this, context); };
+ return ExpansionCase;
+ }());
+ var Attribute$1 = (function () {
+ function Attribute(name, value, sourceSpan, valueSpan) {
+ this.name = name;
+ this.value = value;
+ this.sourceSpan = sourceSpan;
+ this.valueSpan = valueSpan;
+ }
+ Attribute.prototype.visit = function (visitor, context) { return visitor.visitAttribute(this, context); };
+ return Attribute;
+ }());
+ var Element = (function () {
+ function Element(name, attrs, children, sourceSpan, startSourceSpan, endSourceSpan) {
+ this.name = name;
+ this.attrs = attrs;
+ this.children = children;
+ this.sourceSpan = sourceSpan;
+ this.startSourceSpan = startSourceSpan;
+ this.endSourceSpan = endSourceSpan;
+ }
+ Element.prototype.visit = function (visitor, context) { return visitor.visitElement(this, context); };
+ return Element;
+ }());
+ var Comment = (function () {
+ function Comment(value, sourceSpan) {
+ this.value = value;
+ this.sourceSpan = sourceSpan;
+ }
+ Comment.prototype.visit = function (visitor, context) { return visitor.visitComment(this, context); };
+ return Comment;
+ }());
+ function visitAll(visitor, nodes, context) {
+ if (context === void 0) { context = null; }
+ var result = [];
+ var visit = visitor.visit ?
+ function (ast) { return visitor.visit(ast, context) || ast.visit(visitor, context); } :
+ function (ast) { return ast.visit(visitor, context); };
+ nodes.forEach(function (ast) {
+ var astResult = visit(ast);
+ if (astResult) {
+ result.push(astResult);
+ }
+ });
+ return result;
}
/**
@@ -10328,1921 +11857,6 @@
'zwnj': '\u200C',
};
- var HtmlTagDefinition = (function () {
- function HtmlTagDefinition(_a) {
- var _this = this;
- var _b = _a === void 0 ? {} : _a, closedByChildren = _b.closedByChildren, requiredParents = _b.requiredParents, implicitNamespacePrefix = _b.implicitNamespacePrefix, _c = _b.contentType, contentType = _c === void 0 ? TagContentType.PARSABLE_DATA : _c, _d = _b.closedByParent, closedByParent = _d === void 0 ? false : _d, _e = _b.isVoid, isVoid = _e === void 0 ? false : _e, _f = _b.ignoreFirstLf, ignoreFirstLf = _f === void 0 ? false : _f;
- this.closedByChildren = {};
- this.closedByParent = false;
- this.canSelfClose = false;
- if (closedByChildren && closedByChildren.length > 0) {
- closedByChildren.forEach(function (tagName) { return _this.closedByChildren[tagName] = true; });
- }
- this.isVoid = isVoid;
- this.closedByParent = closedByParent || isVoid;
- if (requiredParents && requiredParents.length > 0) {
- this.requiredParents = {};
- // The first parent is the list is automatically when none of the listed parents are present
- this.parentToAdd = requiredParents[0];
- requiredParents.forEach(function (tagName) { return _this.requiredParents[tagName] = true; });
- }
- this.implicitNamespacePrefix = implicitNamespacePrefix;
- this.contentType = contentType;
- this.ignoreFirstLf = ignoreFirstLf;
- }
- HtmlTagDefinition.prototype.requireExtraParent = function (currentParent) {
- if (!this.requiredParents) {
- return false;
- }
- if (!currentParent) {
- return true;
- }
- var lcParent = currentParent.toLowerCase();
- return this.requiredParents[lcParent] != true && lcParent != 'template';
- };
- HtmlTagDefinition.prototype.isClosedByChild = function (name) {
- return this.isVoid || name.toLowerCase() in this.closedByChildren;
- };
- return HtmlTagDefinition;
- }());
- // see http://www.w3.org/TR/html51/syntax.html#optional-tags
- // This implementation does not fully conform to the HTML5 spec.
- var TAG_DEFINITIONS = {
- 'base': new HtmlTagDefinition({ isVoid: true }),
- 'meta': new HtmlTagDefinition({ isVoid: true }),
- 'area': new HtmlTagDefinition({ isVoid: true }),
- 'embed': new HtmlTagDefinition({ isVoid: true }),
- 'link': new HtmlTagDefinition({ isVoid: true }),
- 'img': new HtmlTagDefinition({ isVoid: true }),
- 'input': new HtmlTagDefinition({ isVoid: true }),
- 'param': new HtmlTagDefinition({ isVoid: true }),
- 'hr': new HtmlTagDefinition({ isVoid: true }),
- 'br': new HtmlTagDefinition({ isVoid: true }),
- 'source': new HtmlTagDefinition({ isVoid: true }),
- 'track': new HtmlTagDefinition({ isVoid: true }),
- 'wbr': new HtmlTagDefinition({ isVoid: true }),
- 'p': new HtmlTagDefinition({
- closedByChildren: [
- 'address', 'article', 'aside', 'blockquote', 'div', 'dl', 'fieldset', 'footer', 'form',
- 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hgroup', 'hr',
- 'main', 'nav', 'ol', 'p', 'pre', 'section', 'table', 'ul'
- ],
- closedByParent: true
- }),
- 'thead': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'] }),
- 'tbody': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'], closedByParent: true }),
- 'tfoot': new HtmlTagDefinition({ closedByChildren: ['tbody'], closedByParent: true }),
- 'tr': new HtmlTagDefinition({
- closedByChildren: ['tr'],
- requiredParents: ['tbody', 'tfoot', 'thead'],
- closedByParent: true
- }),
- 'td': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),
- 'th': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),
- 'col': new HtmlTagDefinition({ requiredParents: ['colgroup'], isVoid: true }),
- 'svg': new HtmlTagDefinition({ implicitNamespacePrefix: 'svg' }),
- 'math': new HtmlTagDefinition({ implicitNamespacePrefix: 'math' }),
- 'li': new HtmlTagDefinition({ closedByChildren: ['li'], closedByParent: true }),
- 'dt': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'] }),
- 'dd': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'], closedByParent: true }),
- 'rb': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),
- 'rt': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),
- 'rtc': new HtmlTagDefinition({ closedByChildren: ['rb', 'rtc', 'rp'], closedByParent: true }),
- 'rp': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),
- 'optgroup': new HtmlTagDefinition({ closedByChildren: ['optgroup'], closedByParent: true }),
- 'option': new HtmlTagDefinition({ closedByChildren: ['option', 'optgroup'], closedByParent: true }),
- 'pre': new HtmlTagDefinition({ ignoreFirstLf: true }),
- 'listing': new HtmlTagDefinition({ ignoreFirstLf: true }),
- 'style': new HtmlTagDefinition({ contentType: TagContentType.RAW_TEXT }),
- 'script': new HtmlTagDefinition({ contentType: TagContentType.RAW_TEXT }),
- 'title': new HtmlTagDefinition({ contentType: TagContentType.ESCAPABLE_RAW_TEXT }),
- 'textarea': new HtmlTagDefinition({ contentType: TagContentType.ESCAPABLE_RAW_TEXT, ignoreFirstLf: true }),
- };
- var _DEFAULT_TAG_DEFINITION = new HtmlTagDefinition();
- function getHtmlTagDefinition(tagName) {
- return TAG_DEFINITIONS[tagName.toLowerCase()] || _DEFAULT_TAG_DEFINITION;
- }
-
- var _SELECTOR_REGEXP = new RegExp('(\\:not\\()|' +
- '([-\\w]+)|' +
- '(?:\\.([-\\w]+))|' +
- '(?:\\[([-\\w*]+)(?:=([^\\]]*))?\\])|' +
- '(\\))|' +
- '(\\s*,\\s*)', // ","
- 'g');
- /**
- * A css selector contains an element name,
- * css classes and attribute/value pairs with the purpose
- * of selecting subsets out of them.
- */
- var CssSelector = (function () {
- function CssSelector() {
- this.element = null;
- this.classNames = [];
- this.attrs = [];
- this.notSelectors = [];
- }
- CssSelector.parse = function (selector) {
- var results = [];
- var _addResult = function (res, cssSel) {
- if (cssSel.notSelectors.length > 0 && !cssSel.element && cssSel.classNames.length == 0 &&
- cssSel.attrs.length == 0) {
- cssSel.element = '*';
- }
- res.push(cssSel);
- };
- var cssSelector = new CssSelector();
- var match;
- var current = cssSelector;
- var inNot = false;
- _SELECTOR_REGEXP.lastIndex = 0;
- while (match = _SELECTOR_REGEXP.exec(selector)) {
- if (match[1]) {
- if (inNot) {
- throw new Error('Nesting :not is not allowed in a selector');
- }
- inNot = true;
- current = new CssSelector();
- cssSelector.notSelectors.push(current);
- }
- if (match[2]) {
- current.setElement(match[2]);
- }
- if (match[3]) {
- current.addClassName(match[3]);
- }
- if (match[4]) {
- current.addAttribute(match[4], match[5]);
- }
- if (match[6]) {
- inNot = false;
- current = cssSelector;
- }
- if (match[7]) {
- if (inNot) {
- throw new Error('Multiple selectors in :not are not supported');
- }
- _addResult(results, cssSelector);
- cssSelector = current = new CssSelector();
- }
- }
- _addResult(results, cssSelector);
- return results;
- };
- CssSelector.prototype.isElementSelector = function () {
- return this.hasElementSelector() && this.classNames.length == 0 && this.attrs.length == 0 &&
- this.notSelectors.length === 0;
- };
- CssSelector.prototype.hasElementSelector = function () { return !!this.element; };
- CssSelector.prototype.setElement = function (element) {
- if (element === void 0) { element = null; }
- this.element = element;
- };
- /** Gets a template string for an element that matches the selector. */
- CssSelector.prototype.getMatchingElementTemplate = function () {
- var tagName = this.element || 'div';
- var classAttr = this.classNames.length > 0 ? " class=\"" + this.classNames.join(' ') + "\"" : '';
- var attrs = '';
- for (var i = 0; i < this.attrs.length; i += 2) {
- var attrName = this.attrs[i];
- var attrValue = this.attrs[i + 1] !== '' ? "=\"" + this.attrs[i + 1] + "\"" : '';
- attrs += " " + attrName + attrValue;
- }
- return getHtmlTagDefinition(tagName).isVoid ? "<" + tagName + classAttr + attrs + "/>" :
- "<" + tagName + classAttr + attrs + ">" + tagName + ">";
- };
- CssSelector.prototype.addAttribute = function (name, value) {
- if (value === void 0) { value = ''; }
- this.attrs.push(name, value && value.toLowerCase() || '');
- };
- CssSelector.prototype.addClassName = function (name) { this.classNames.push(name.toLowerCase()); };
- CssSelector.prototype.toString = function () {
- var res = this.element || '';
- if (this.classNames) {
- this.classNames.forEach(function (klass) { return res += "." + klass; });
- }
- if (this.attrs) {
- for (var i = 0; i < this.attrs.length; i += 2) {
- var name_1 = this.attrs[i];
- var value = this.attrs[i + 1];
- res += "[" + name_1 + (value ? '=' + value : '') + "]";
- }
- }
- this.notSelectors.forEach(function (notSelector) { return res += ":not(" + notSelector + ")"; });
- return res;
- };
- return CssSelector;
- }());
- /**
- * Reads a list of CssSelectors and allows to calculate which ones
- * are contained in a given CssSelector.
- */
- var SelectorMatcher = (function () {
- function SelectorMatcher() {
- this._elementMap = {};
- this._elementPartialMap = {};
- this._classMap = {};
- this._classPartialMap = {};
- this._attrValueMap = {};
- this._attrValuePartialMap = {};
- this._listContexts = [];
- }
- SelectorMatcher.createNotMatcher = function (notSelectors) {
- var notMatcher = new SelectorMatcher();
- notMatcher.addSelectables(notSelectors, null);
- return notMatcher;
- };
- SelectorMatcher.prototype.addSelectables = function (cssSelectors, callbackCtxt) {
- var listContext = null;
- if (cssSelectors.length > 1) {
- listContext = new SelectorListContext(cssSelectors);
- this._listContexts.push(listContext);
- }
- for (var i = 0; i < cssSelectors.length; i++) {
- this._addSelectable(cssSelectors[i], callbackCtxt, listContext);
- }
- };
- /**
- * Add an object that can be found later on by calling `match`.
- * @param cssSelector A css selector
- * @param callbackCtxt An opaque object that will be given to the callback of the `match` function
- */
- SelectorMatcher.prototype._addSelectable = function (cssSelector, callbackCtxt, listContext) {
- var matcher = this;
- var element = cssSelector.element;
- var classNames = cssSelector.classNames;
- var attrs = cssSelector.attrs;
- var selectable = new SelectorContext(cssSelector, callbackCtxt, listContext);
- if (element) {
- var isTerminal = attrs.length === 0 && classNames.length === 0;
- if (isTerminal) {
- this._addTerminal(matcher._elementMap, element, selectable);
- }
- else {
- matcher = this._addPartial(matcher._elementPartialMap, element);
- }
- }
- if (classNames) {
- for (var i = 0; i < classNames.length; i++) {
- var isTerminal = attrs.length === 0 && i === classNames.length - 1;
- var className = classNames[i];
- if (isTerminal) {
- this._addTerminal(matcher._classMap, className, selectable);
- }
- else {
- matcher = this._addPartial(matcher._classPartialMap, className);
- }
- }
- }
- if (attrs) {
- for (var i = 0; i < attrs.length; i += 2) {
- var isTerminal = i === attrs.length - 2;
- var name_2 = attrs[i];
- var value = attrs[i + 1];
- if (isTerminal) {
- var terminalMap = matcher._attrValueMap;
- var terminalValuesMap = terminalMap[name_2];
- if (!terminalValuesMap) {
- terminalValuesMap = {};
- terminalMap[name_2] = terminalValuesMap;
- }
- this._addTerminal(terminalValuesMap, value, selectable);
- }
- else {
- var partialMap = matcher._attrValuePartialMap;
- var partialValuesMap = partialMap[name_2];
- if (!partialValuesMap) {
- partialValuesMap = {};
- partialMap[name_2] = partialValuesMap;
- }
- matcher = this._addPartial(partialValuesMap, value);
- }
- }
- }
- };
- SelectorMatcher.prototype._addTerminal = function (map, name, selectable) {
- var terminalList = map[name];
- if (!terminalList) {
- terminalList = [];
- map[name] = terminalList;
- }
- terminalList.push(selectable);
- };
- SelectorMatcher.prototype._addPartial = function (map, name) {
- var matcher = map[name];
- if (!matcher) {
- matcher = new SelectorMatcher();
- map[name] = matcher;
- }
- return matcher;
- };
- /**
- * Find the objects that have been added via `addSelectable`
- * whose css selector is contained in the given css selector.
- * @param cssSelector A css selector
- * @param matchedCallback This callback will be called with the object handed into `addSelectable`
- * @return boolean true if a match was found
- */
- SelectorMatcher.prototype.match = function (cssSelector, matchedCallback) {
- var result = false;
- var element = cssSelector.element;
- var classNames = cssSelector.classNames;
- var attrs = cssSelector.attrs;
- for (var i = 0; i < this._listContexts.length; i++) {
- this._listContexts[i].alreadyMatched = false;
- }
- result = this._matchTerminal(this._elementMap, element, cssSelector, matchedCallback) || result;
- result = this._matchPartial(this._elementPartialMap, element, cssSelector, matchedCallback) ||
- result;
- if (classNames) {
- for (var i = 0; i < classNames.length; i++) {
- var className = classNames[i];
- result =
- this._matchTerminal(this._classMap, className, cssSelector, matchedCallback) || result;
- result =
- this._matchPartial(this._classPartialMap, className, cssSelector, matchedCallback) ||
- result;
- }
- }
- if (attrs) {
- for (var i = 0; i < attrs.length; i += 2) {
- var name_3 = attrs[i];
- var value = attrs[i + 1];
- var terminalValuesMap = this._attrValueMap[name_3];
- if (value) {
- result =
- this._matchTerminal(terminalValuesMap, '', cssSelector, matchedCallback) || result;
- }
- result =
- this._matchTerminal(terminalValuesMap, value, cssSelector, matchedCallback) || result;
- var partialValuesMap = this._attrValuePartialMap[name_3];
- if (value) {
- result = this._matchPartial(partialValuesMap, '', cssSelector, matchedCallback) || result;
- }
- result =
- this._matchPartial(partialValuesMap, value, cssSelector, matchedCallback) || result;
- }
- }
- return result;
- };
- /** @internal */
- SelectorMatcher.prototype._matchTerminal = function (map, name, cssSelector, matchedCallback) {
- if (!map || typeof name !== 'string') {
- return false;
- }
- var selectables = map[name];
- var starSelectables = map['*'];
- if (starSelectables) {
- selectables = selectables.concat(starSelectables);
- }
- if (!selectables) {
- return false;
- }
- var selectable;
- var result = false;
- for (var i = 0; i < selectables.length; i++) {
- selectable = selectables[i];
- result = selectable.finalize(cssSelector, matchedCallback) || result;
- }
- return result;
- };
- /** @internal */
- SelectorMatcher.prototype._matchPartial = function (map, name, cssSelector, matchedCallback) {
- if (!map || typeof name !== 'string') {
- return false;
- }
- var nestedSelector = map[name];
- if (!nestedSelector) {
- return false;
- }
- // TODO(perf): get rid of recursion and measure again
- // TODO(perf): don't pass the whole selector into the recursion,
- // but only the not processed parts
- return nestedSelector.match(cssSelector, matchedCallback);
- };
- return SelectorMatcher;
- }());
- var SelectorListContext = (function () {
- function SelectorListContext(selectors) {
- this.selectors = selectors;
- this.alreadyMatched = false;
- }
- return SelectorListContext;
- }());
- // Store context to pass back selector and context when a selector is matched
- var SelectorContext = (function () {
- function SelectorContext(selector, cbContext, listContext) {
- this.selector = selector;
- this.cbContext = cbContext;
- this.listContext = listContext;
- this.notSelectors = selector.notSelectors;
- }
- SelectorContext.prototype.finalize = function (cssSelector, callback) {
- var result = true;
- if (this.notSelectors.length > 0 && (!this.listContext || !this.listContext.alreadyMatched)) {
- var notMatcher = SelectorMatcher.createNotMatcher(this.notSelectors);
- result = !notMatcher.match(cssSelector, null);
- }
- if (result && callback && (!this.listContext || !this.listContext.alreadyMatched)) {
- if (this.listContext) {
- this.listContext.alreadyMatched = true;
- }
- callback(this.selector, this.cbContext);
- }
- return result;
- };
- return SelectorContext;
- }());
-
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
- var __extends$2 = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- //// Types
- var TypeModifier;
- (function (TypeModifier) {
- TypeModifier[TypeModifier["Const"] = 0] = "Const";
- })(TypeModifier || (TypeModifier = {}));
- var Type$1 = (function () {
- function Type(modifiers) {
- if (modifiers === void 0) { modifiers = null; }
- this.modifiers = modifiers;
- if (!modifiers) {
- this.modifiers = [];
- }
- }
- Type.prototype.hasModifier = function (modifier) { return this.modifiers.indexOf(modifier) !== -1; };
- return Type;
- }());
- var BuiltinTypeName;
- (function (BuiltinTypeName) {
- BuiltinTypeName[BuiltinTypeName["Dynamic"] = 0] = "Dynamic";
- BuiltinTypeName[BuiltinTypeName["Bool"] = 1] = "Bool";
- BuiltinTypeName[BuiltinTypeName["String"] = 2] = "String";
- BuiltinTypeName[BuiltinTypeName["Int"] = 3] = "Int";
- BuiltinTypeName[BuiltinTypeName["Number"] = 4] = "Number";
- BuiltinTypeName[BuiltinTypeName["Function"] = 5] = "Function";
- })(BuiltinTypeName || (BuiltinTypeName = {}));
- var BuiltinType = (function (_super) {
- __extends$2(BuiltinType, _super);
- function BuiltinType(name, modifiers) {
- if (modifiers === void 0) { modifiers = null; }
- _super.call(this, modifiers);
- this.name = name;
- }
- BuiltinType.prototype.visitType = function (visitor, context) {
- return visitor.visitBuiltintType(this, context);
- };
- return BuiltinType;
- }(Type$1));
- var ExternalType = (function (_super) {
- __extends$2(ExternalType, _super);
- function ExternalType(value, typeParams, modifiers) {
- if (typeParams === void 0) { typeParams = null; }
- if (modifiers === void 0) { modifiers = null; }
- _super.call(this, modifiers);
- this.value = value;
- this.typeParams = typeParams;
- }
- ExternalType.prototype.visitType = function (visitor, context) {
- return visitor.visitExternalType(this, context);
- };
- return ExternalType;
- }(Type$1));
- var ArrayType = (function (_super) {
- __extends$2(ArrayType, _super);
- function ArrayType(of, modifiers) {
- if (modifiers === void 0) { modifiers = null; }
- _super.call(this, modifiers);
- this.of = of;
- }
- ArrayType.prototype.visitType = function (visitor, context) {
- return visitor.visitArrayType(this, context);
- };
- return ArrayType;
- }(Type$1));
- var MapType = (function (_super) {
- __extends$2(MapType, _super);
- function MapType(valueType, modifiers) {
- if (modifiers === void 0) { modifiers = null; }
- _super.call(this, modifiers);
- this.valueType = valueType;
- }
- MapType.prototype.visitType = function (visitor, context) { return visitor.visitMapType(this, context); };
- return MapType;
- }(Type$1));
- var DYNAMIC_TYPE = new BuiltinType(BuiltinTypeName.Dynamic);
- var BOOL_TYPE = new BuiltinType(BuiltinTypeName.Bool);
- var INT_TYPE = new BuiltinType(BuiltinTypeName.Int);
- var NUMBER_TYPE = new BuiltinType(BuiltinTypeName.Number);
- var STRING_TYPE = new BuiltinType(BuiltinTypeName.String);
- var FUNCTION_TYPE = new BuiltinType(BuiltinTypeName.Function);
- ///// Expressions
- var BinaryOperator;
- (function (BinaryOperator) {
- BinaryOperator[BinaryOperator["Equals"] = 0] = "Equals";
- BinaryOperator[BinaryOperator["NotEquals"] = 1] = "NotEquals";
- BinaryOperator[BinaryOperator["Identical"] = 2] = "Identical";
- BinaryOperator[BinaryOperator["NotIdentical"] = 3] = "NotIdentical";
- BinaryOperator[BinaryOperator["Minus"] = 4] = "Minus";
- BinaryOperator[BinaryOperator["Plus"] = 5] = "Plus";
- BinaryOperator[BinaryOperator["Divide"] = 6] = "Divide";
- BinaryOperator[BinaryOperator["Multiply"] = 7] = "Multiply";
- BinaryOperator[BinaryOperator["Modulo"] = 8] = "Modulo";
- BinaryOperator[BinaryOperator["And"] = 9] = "And";
- BinaryOperator[BinaryOperator["Or"] = 10] = "Or";
- BinaryOperator[BinaryOperator["Lower"] = 11] = "Lower";
- BinaryOperator[BinaryOperator["LowerEquals"] = 12] = "LowerEquals";
- BinaryOperator[BinaryOperator["Bigger"] = 13] = "Bigger";
- BinaryOperator[BinaryOperator["BiggerEquals"] = 14] = "BiggerEquals";
- })(BinaryOperator || (BinaryOperator = {}));
- var Expression = (function () {
- function Expression(type) {
- this.type = type;
- }
- Expression.prototype.prop = function (name) { return new ReadPropExpr(this, name); };
- Expression.prototype.key = function (index, type) {
- if (type === void 0) { type = null; }
- return new ReadKeyExpr(this, index, type);
- };
- Expression.prototype.callMethod = function (name, params) {
- return new InvokeMethodExpr(this, name, params);
- };
- Expression.prototype.callFn = function (params) { return new InvokeFunctionExpr(this, params); };
- Expression.prototype.instantiate = function (params, type) {
- if (type === void 0) { type = null; }
- return new InstantiateExpr(this, params, type);
- };
- Expression.prototype.conditional = function (trueCase, falseCase) {
- if (falseCase === void 0) { falseCase = null; }
- return new ConditionalExpr(this, trueCase, falseCase);
- };
- Expression.prototype.equals = function (rhs) {
- return new BinaryOperatorExpr(BinaryOperator.Equals, this, rhs);
- };
- Expression.prototype.notEquals = function (rhs) {
- return new BinaryOperatorExpr(BinaryOperator.NotEquals, this, rhs);
- };
- Expression.prototype.identical = function (rhs) {
- return new BinaryOperatorExpr(BinaryOperator.Identical, this, rhs);
- };
- Expression.prototype.notIdentical = function (rhs) {
- return new BinaryOperatorExpr(BinaryOperator.NotIdentical, this, rhs);
- };
- Expression.prototype.minus = function (rhs) {
- return new BinaryOperatorExpr(BinaryOperator.Minus, this, rhs);
- };
- Expression.prototype.plus = function (rhs) {
- return new BinaryOperatorExpr(BinaryOperator.Plus, this, rhs);
- };
- Expression.prototype.divide = function (rhs) {
- return new BinaryOperatorExpr(BinaryOperator.Divide, this, rhs);
- };
- Expression.prototype.multiply = function (rhs) {
- return new BinaryOperatorExpr(BinaryOperator.Multiply, this, rhs);
- };
- Expression.prototype.modulo = function (rhs) {
- return new BinaryOperatorExpr(BinaryOperator.Modulo, this, rhs);
- };
- Expression.prototype.and = function (rhs) {
- return new BinaryOperatorExpr(BinaryOperator.And, this, rhs);
- };
- Expression.prototype.or = function (rhs) {
- return new BinaryOperatorExpr(BinaryOperator.Or, this, rhs);
- };
- Expression.prototype.lower = function (rhs) {
- return new BinaryOperatorExpr(BinaryOperator.Lower, this, rhs);
- };
- Expression.prototype.lowerEquals = function (rhs) {
- return new BinaryOperatorExpr(BinaryOperator.LowerEquals, this, rhs);
- };
- Expression.prototype.bigger = function (rhs) {
- return new BinaryOperatorExpr(BinaryOperator.Bigger, this, rhs);
- };
- Expression.prototype.biggerEquals = function (rhs) {
- return new BinaryOperatorExpr(BinaryOperator.BiggerEquals, this, rhs);
- };
- Expression.prototype.isBlank = function () {
- // Note: We use equals by purpose here to compare to null and undefined in JS.
- return this.equals(NULL_EXPR);
- };
- Expression.prototype.cast = function (type) { return new CastExpr(this, type); };
- Expression.prototype.toStmt = function () { return new ExpressionStatement(this); };
- return Expression;
- }());
- var BuiltinVar;
- (function (BuiltinVar) {
- BuiltinVar[BuiltinVar["This"] = 0] = "This";
- BuiltinVar[BuiltinVar["Super"] = 1] = "Super";
- BuiltinVar[BuiltinVar["CatchError"] = 2] = "CatchError";
- BuiltinVar[BuiltinVar["CatchStack"] = 3] = "CatchStack";
- })(BuiltinVar || (BuiltinVar = {}));
- var ReadVarExpr = (function (_super) {
- __extends$2(ReadVarExpr, _super);
- function ReadVarExpr(name, type) {
- if (type === void 0) { type = null; }
- _super.call(this, type);
- if (isString(name)) {
- this.name = name;
- this.builtin = null;
- }
- else {
- this.name = null;
- this.builtin = name;
- }
- }
- ReadVarExpr.prototype.visitExpression = function (visitor, context) {
- return visitor.visitReadVarExpr(this, context);
- };
- ReadVarExpr.prototype.set = function (value) { return new WriteVarExpr(this.name, value); };
- return ReadVarExpr;
- }(Expression));
- var WriteVarExpr = (function (_super) {
- __extends$2(WriteVarExpr, _super);
- function WriteVarExpr(name, value, type) {
- if (type === void 0) { type = null; }
- _super.call(this, type || value.type);
- this.name = name;
- this.value = value;
- }
- WriteVarExpr.prototype.visitExpression = function (visitor, context) {
- return visitor.visitWriteVarExpr(this, context);
- };
- WriteVarExpr.prototype.toDeclStmt = function (type, modifiers) {
- if (type === void 0) { type = null; }
- if (modifiers === void 0) { modifiers = null; }
- return new DeclareVarStmt(this.name, this.value, type, modifiers);
- };
- return WriteVarExpr;
- }(Expression));
- var WriteKeyExpr = (function (_super) {
- __extends$2(WriteKeyExpr, _super);
- function WriteKeyExpr(receiver, index, value, type) {
- if (type === void 0) { type = null; }
- _super.call(this, type || value.type);
- this.receiver = receiver;
- this.index = index;
- this.value = value;
- }
- WriteKeyExpr.prototype.visitExpression = function (visitor, context) {
- return visitor.visitWriteKeyExpr(this, context);
- };
- return WriteKeyExpr;
- }(Expression));
- var WritePropExpr = (function (_super) {
- __extends$2(WritePropExpr, _super);
- function WritePropExpr(receiver, name, value, type) {
- if (type === void 0) { type = null; }
- _super.call(this, type || value.type);
- this.receiver = receiver;
- this.name = name;
- this.value = value;
- }
- WritePropExpr.prototype.visitExpression = function (visitor, context) {
- return visitor.visitWritePropExpr(this, context);
- };
- return WritePropExpr;
- }(Expression));
- var BuiltinMethod;
- (function (BuiltinMethod) {
- BuiltinMethod[BuiltinMethod["ConcatArray"] = 0] = "ConcatArray";
- BuiltinMethod[BuiltinMethod["SubscribeObservable"] = 1] = "SubscribeObservable";
- BuiltinMethod[BuiltinMethod["Bind"] = 2] = "Bind";
- })(BuiltinMethod || (BuiltinMethod = {}));
- var InvokeMethodExpr = (function (_super) {
- __extends$2(InvokeMethodExpr, _super);
- function InvokeMethodExpr(receiver, method, args, type) {
- if (type === void 0) { type = null; }
- _super.call(this, type);
- this.receiver = receiver;
- this.args = args;
- if (isString(method)) {
- this.name = method;
- this.builtin = null;
- }
- else {
- this.name = null;
- this.builtin = method;
- }
- }
- InvokeMethodExpr.prototype.visitExpression = function (visitor, context) {
- return visitor.visitInvokeMethodExpr(this, context);
- };
- return InvokeMethodExpr;
- }(Expression));
- var InvokeFunctionExpr = (function (_super) {
- __extends$2(InvokeFunctionExpr, _super);
- function InvokeFunctionExpr(fn, args, type) {
- if (type === void 0) { type = null; }
- _super.call(this, type);
- this.fn = fn;
- this.args = args;
- }
- InvokeFunctionExpr.prototype.visitExpression = function (visitor, context) {
- return visitor.visitInvokeFunctionExpr(this, context);
- };
- return InvokeFunctionExpr;
- }(Expression));
- var InstantiateExpr = (function (_super) {
- __extends$2(InstantiateExpr, _super);
- function InstantiateExpr(classExpr, args, type) {
- _super.call(this, type);
- this.classExpr = classExpr;
- this.args = args;
- }
- InstantiateExpr.prototype.visitExpression = function (visitor, context) {
- return visitor.visitInstantiateExpr(this, context);
- };
- return InstantiateExpr;
- }(Expression));
- var LiteralExpr = (function (_super) {
- __extends$2(LiteralExpr, _super);
- function LiteralExpr(value, type) {
- if (type === void 0) { type = null; }
- _super.call(this, type);
- this.value = value;
- }
- LiteralExpr.prototype.visitExpression = function (visitor, context) {
- return visitor.visitLiteralExpr(this, context);
- };
- return LiteralExpr;
- }(Expression));
- var ExternalExpr = (function (_super) {
- __extends$2(ExternalExpr, _super);
- function ExternalExpr(value, type, typeParams) {
- if (type === void 0) { type = null; }
- if (typeParams === void 0) { typeParams = null; }
- _super.call(this, type);
- this.value = value;
- this.typeParams = typeParams;
- }
- ExternalExpr.prototype.visitExpression = function (visitor, context) {
- return visitor.visitExternalExpr(this, context);
- };
- return ExternalExpr;
- }(Expression));
- var ConditionalExpr = (function (_super) {
- __extends$2(ConditionalExpr, _super);
- function ConditionalExpr(condition, trueCase, falseCase, type) {
- if (falseCase === void 0) { falseCase = null; }
- if (type === void 0) { type = null; }
- _super.call(this, type || trueCase.type);
- this.condition = condition;
- this.falseCase = falseCase;
- this.trueCase = trueCase;
- }
- ConditionalExpr.prototype.visitExpression = function (visitor, context) {
- return visitor.visitConditionalExpr(this, context);
- };
- return ConditionalExpr;
- }(Expression));
- var NotExpr = (function (_super) {
- __extends$2(NotExpr, _super);
- function NotExpr(condition) {
- _super.call(this, BOOL_TYPE);
- this.condition = condition;
- }
- NotExpr.prototype.visitExpression = function (visitor, context) {
- return visitor.visitNotExpr(this, context);
- };
- return NotExpr;
- }(Expression));
- var CastExpr = (function (_super) {
- __extends$2(CastExpr, _super);
- function CastExpr(value, type) {
- _super.call(this, type);
- this.value = value;
- }
- CastExpr.prototype.visitExpression = function (visitor, context) {
- return visitor.visitCastExpr(this, context);
- };
- return CastExpr;
- }(Expression));
- var FnParam = (function () {
- function FnParam(name, type) {
- if (type === void 0) { type = null; }
- this.name = name;
- this.type = type;
- }
- return FnParam;
- }());
- var FunctionExpr = (function (_super) {
- __extends$2(FunctionExpr, _super);
- function FunctionExpr(params, statements, type) {
- if (type === void 0) { type = null; }
- _super.call(this, type);
- this.params = params;
- this.statements = statements;
- }
- FunctionExpr.prototype.visitExpression = function (visitor, context) {
- return visitor.visitFunctionExpr(this, context);
- };
- FunctionExpr.prototype.toDeclStmt = function (name, modifiers) {
- if (modifiers === void 0) { modifiers = null; }
- return new DeclareFunctionStmt(name, this.params, this.statements, this.type, modifiers);
- };
- return FunctionExpr;
- }(Expression));
- var BinaryOperatorExpr = (function (_super) {
- __extends$2(BinaryOperatorExpr, _super);
- function BinaryOperatorExpr(operator, lhs, rhs, type) {
- if (type === void 0) { type = null; }
- _super.call(this, type || lhs.type);
- this.operator = operator;
- this.rhs = rhs;
- this.lhs = lhs;
- }
- BinaryOperatorExpr.prototype.visitExpression = function (visitor, context) {
- return visitor.visitBinaryOperatorExpr(this, context);
- };
- return BinaryOperatorExpr;
- }(Expression));
- var ReadPropExpr = (function (_super) {
- __extends$2(ReadPropExpr, _super);
- function ReadPropExpr(receiver, name, type) {
- if (type === void 0) { type = null; }
- _super.call(this, type);
- this.receiver = receiver;
- this.name = name;
- }
- ReadPropExpr.prototype.visitExpression = function (visitor, context) {
- return visitor.visitReadPropExpr(this, context);
- };
- ReadPropExpr.prototype.set = function (value) {
- return new WritePropExpr(this.receiver, this.name, value);
- };
- return ReadPropExpr;
- }(Expression));
- var ReadKeyExpr = (function (_super) {
- __extends$2(ReadKeyExpr, _super);
- function ReadKeyExpr(receiver, index, type) {
- if (type === void 0) { type = null; }
- _super.call(this, type);
- this.receiver = receiver;
- this.index = index;
- }
- ReadKeyExpr.prototype.visitExpression = function (visitor, context) {
- return visitor.visitReadKeyExpr(this, context);
- };
- ReadKeyExpr.prototype.set = function (value) {
- return new WriteKeyExpr(this.receiver, this.index, value);
- };
- return ReadKeyExpr;
- }(Expression));
- var LiteralArrayExpr = (function (_super) {
- __extends$2(LiteralArrayExpr, _super);
- function LiteralArrayExpr(entries, type) {
- if (type === void 0) { type = null; }
- _super.call(this, type);
- this.entries = entries;
- }
- LiteralArrayExpr.prototype.visitExpression = function (visitor, context) {
- return visitor.visitLiteralArrayExpr(this, context);
- };
- return LiteralArrayExpr;
- }(Expression));
- var LiteralMapExpr = (function (_super) {
- __extends$2(LiteralMapExpr, _super);
- function LiteralMapExpr(entries, type) {
- if (type === void 0) { type = null; }
- _super.call(this, type);
- this.entries = entries;
- this.valueType = null;
- if (isPresent(type)) {
- this.valueType = type.valueType;
- }
- }
- LiteralMapExpr.prototype.visitExpression = function (visitor, context) {
- return visitor.visitLiteralMapExpr(this, context);
- };
- return LiteralMapExpr;
- }(Expression));
- var THIS_EXPR = new ReadVarExpr(BuiltinVar.This);
- var SUPER_EXPR = new ReadVarExpr(BuiltinVar.Super);
- var CATCH_ERROR_VAR = new ReadVarExpr(BuiltinVar.CatchError);
- var CATCH_STACK_VAR = new ReadVarExpr(BuiltinVar.CatchStack);
- var NULL_EXPR = new LiteralExpr(null, null);
- //// Statements
- var StmtModifier;
- (function (StmtModifier) {
- StmtModifier[StmtModifier["Final"] = 0] = "Final";
- StmtModifier[StmtModifier["Private"] = 1] = "Private";
- })(StmtModifier || (StmtModifier = {}));
- var Statement = (function () {
- function Statement(modifiers) {
- if (modifiers === void 0) { modifiers = null; }
- this.modifiers = modifiers;
- if (!modifiers) {
- this.modifiers = [];
- }
- }
- Statement.prototype.hasModifier = function (modifier) { return this.modifiers.indexOf(modifier) !== -1; };
- return Statement;
- }());
- var DeclareVarStmt = (function (_super) {
- __extends$2(DeclareVarStmt, _super);
- function DeclareVarStmt(name, value, type, modifiers) {
- if (type === void 0) { type = null; }
- if (modifiers === void 0) { modifiers = null; }
- _super.call(this, modifiers);
- this.name = name;
- this.value = value;
- this.type = type || value.type;
- }
- DeclareVarStmt.prototype.visitStatement = function (visitor, context) {
- return visitor.visitDeclareVarStmt(this, context);
- };
- return DeclareVarStmt;
- }(Statement));
- var DeclareFunctionStmt = (function (_super) {
- __extends$2(DeclareFunctionStmt, _super);
- function DeclareFunctionStmt(name, params, statements, type, modifiers) {
- if (type === void 0) { type = null; }
- if (modifiers === void 0) { modifiers = null; }
- _super.call(this, modifiers);
- this.name = name;
- this.params = params;
- this.statements = statements;
- this.type = type;
- }
- DeclareFunctionStmt.prototype.visitStatement = function (visitor, context) {
- return visitor.visitDeclareFunctionStmt(this, context);
- };
- return DeclareFunctionStmt;
- }(Statement));
- var ExpressionStatement = (function (_super) {
- __extends$2(ExpressionStatement, _super);
- function ExpressionStatement(expr) {
- _super.call(this);
- this.expr = expr;
- }
- ExpressionStatement.prototype.visitStatement = function (visitor, context) {
- return visitor.visitExpressionStmt(this, context);
- };
- return ExpressionStatement;
- }(Statement));
- var ReturnStatement = (function (_super) {
- __extends$2(ReturnStatement, _super);
- function ReturnStatement(value) {
- _super.call(this);
- this.value = value;
- }
- ReturnStatement.prototype.visitStatement = function (visitor, context) {
- return visitor.visitReturnStmt(this, context);
- };
- return ReturnStatement;
- }(Statement));
- var AbstractClassPart = (function () {
- function AbstractClassPart(type, modifiers) {
- if (type === void 0) { type = null; }
- this.type = type;
- this.modifiers = modifiers;
- if (!modifiers) {
- this.modifiers = [];
- }
- }
- AbstractClassPart.prototype.hasModifier = function (modifier) { return this.modifiers.indexOf(modifier) !== -1; };
- return AbstractClassPart;
- }());
- var ClassField = (function (_super) {
- __extends$2(ClassField, _super);
- function ClassField(name, type, modifiers) {
- if (type === void 0) { type = null; }
- if (modifiers === void 0) { modifiers = null; }
- _super.call(this, type, modifiers);
- this.name = name;
- }
- return ClassField;
- }(AbstractClassPart));
- var ClassMethod = (function (_super) {
- __extends$2(ClassMethod, _super);
- function ClassMethod(name, params, body, type, modifiers) {
- if (type === void 0) { type = null; }
- if (modifiers === void 0) { modifiers = null; }
- _super.call(this, type, modifiers);
- this.name = name;
- this.params = params;
- this.body = body;
- }
- return ClassMethod;
- }(AbstractClassPart));
- var ClassGetter = (function (_super) {
- __extends$2(ClassGetter, _super);
- function ClassGetter(name, body, type, modifiers) {
- if (type === void 0) { type = null; }
- if (modifiers === void 0) { modifiers = null; }
- _super.call(this, type, modifiers);
- this.name = name;
- this.body = body;
- }
- return ClassGetter;
- }(AbstractClassPart));
- var ClassStmt = (function (_super) {
- __extends$2(ClassStmt, _super);
- function ClassStmt(name, parent, fields, getters, constructorMethod, methods, modifiers) {
- if (modifiers === void 0) { modifiers = null; }
- _super.call(this, modifiers);
- this.name = name;
- this.parent = parent;
- this.fields = fields;
- this.getters = getters;
- this.constructorMethod = constructorMethod;
- this.methods = methods;
- }
- ClassStmt.prototype.visitStatement = function (visitor, context) {
- return visitor.visitDeclareClassStmt(this, context);
- };
- return ClassStmt;
- }(Statement));
- var IfStmt = (function (_super) {
- __extends$2(IfStmt, _super);
- function IfStmt(condition, trueCase, falseCase) {
- if (falseCase === void 0) { falseCase = []; }
- _super.call(this);
- this.condition = condition;
- this.trueCase = trueCase;
- this.falseCase = falseCase;
- }
- IfStmt.prototype.visitStatement = function (visitor, context) {
- return visitor.visitIfStmt(this, context);
- };
- return IfStmt;
- }(Statement));
- var CommentStmt = (function (_super) {
- __extends$2(CommentStmt, _super);
- function CommentStmt(comment) {
- _super.call(this);
- this.comment = comment;
- }
- CommentStmt.prototype.visitStatement = function (visitor, context) {
- return visitor.visitCommentStmt(this, context);
- };
- return CommentStmt;
- }(Statement));
- var TryCatchStmt = (function (_super) {
- __extends$2(TryCatchStmt, _super);
- function TryCatchStmt(bodyStmts, catchStmts) {
- _super.call(this);
- this.bodyStmts = bodyStmts;
- this.catchStmts = catchStmts;
- }
- TryCatchStmt.prototype.visitStatement = function (visitor, context) {
- return visitor.visitTryCatchStmt(this, context);
- };
- return TryCatchStmt;
- }(Statement));
- var ThrowStmt = (function (_super) {
- __extends$2(ThrowStmt, _super);
- function ThrowStmt(error) {
- _super.call(this);
- this.error = error;
- }
- ThrowStmt.prototype.visitStatement = function (visitor, context) {
- return visitor.visitThrowStmt(this, context);
- };
- return ThrowStmt;
- }(Statement));
- var ExpressionTransformer = (function () {
- function ExpressionTransformer() {
- }
- ExpressionTransformer.prototype.visitReadVarExpr = function (ast, context) { return ast; };
- ExpressionTransformer.prototype.visitWriteVarExpr = function (expr, context) {
- return new WriteVarExpr(expr.name, expr.value.visitExpression(this, context));
- };
- ExpressionTransformer.prototype.visitWriteKeyExpr = function (expr, context) {
- return new WriteKeyExpr(expr.receiver.visitExpression(this, context), expr.index.visitExpression(this, context), expr.value.visitExpression(this, context));
- };
- ExpressionTransformer.prototype.visitWritePropExpr = function (expr, context) {
- return new WritePropExpr(expr.receiver.visitExpression(this, context), expr.name, expr.value.visitExpression(this, context));
- };
- ExpressionTransformer.prototype.visitInvokeMethodExpr = function (ast, context) {
- var method = ast.builtin || ast.name;
- return new InvokeMethodExpr(ast.receiver.visitExpression(this, context), method, this.visitAllExpressions(ast.args, context), ast.type);
- };
- ExpressionTransformer.prototype.visitInvokeFunctionExpr = function (ast, context) {
- return new InvokeFunctionExpr(ast.fn.visitExpression(this, context), this.visitAllExpressions(ast.args, context), ast.type);
- };
- ExpressionTransformer.prototype.visitInstantiateExpr = function (ast, context) {
- return new InstantiateExpr(ast.classExpr.visitExpression(this, context), this.visitAllExpressions(ast.args, context), ast.type);
- };
- ExpressionTransformer.prototype.visitLiteralExpr = function (ast, context) { return ast; };
- ExpressionTransformer.prototype.visitExternalExpr = function (ast, context) { return ast; };
- ExpressionTransformer.prototype.visitConditionalExpr = function (ast, context) {
- return new ConditionalExpr(ast.condition.visitExpression(this, context), ast.trueCase.visitExpression(this, context), ast.falseCase.visitExpression(this, context));
- };
- ExpressionTransformer.prototype.visitNotExpr = function (ast, context) {
- return new NotExpr(ast.condition.visitExpression(this, context));
- };
- ExpressionTransformer.prototype.visitCastExpr = function (ast, context) {
- return new CastExpr(ast.value.visitExpression(this, context), context);
- };
- ExpressionTransformer.prototype.visitFunctionExpr = function (ast, context) {
- // Don't descend into nested functions
- return ast;
- };
- ExpressionTransformer.prototype.visitBinaryOperatorExpr = function (ast, context) {
- return new BinaryOperatorExpr(ast.operator, ast.lhs.visitExpression(this, context), ast.rhs.visitExpression(this, context), ast.type);
- };
- ExpressionTransformer.prototype.visitReadPropExpr = function (ast, context) {
- return new ReadPropExpr(ast.receiver.visitExpression(this, context), ast.name, ast.type);
- };
- ExpressionTransformer.prototype.visitReadKeyExpr = function (ast, context) {
- return new ReadKeyExpr(ast.receiver.visitExpression(this, context), ast.index.visitExpression(this, context), ast.type);
- };
- ExpressionTransformer.prototype.visitLiteralArrayExpr = function (ast, context) {
- return new LiteralArrayExpr(this.visitAllExpressions(ast.entries, context));
- };
- ExpressionTransformer.prototype.visitLiteralMapExpr = function (ast, context) {
- var _this = this;
- var entries = ast.entries.map(function (entry) { return [entry[0], entry[1].visitExpression(_this, context),]; });
- return new LiteralMapExpr(entries);
- };
- ExpressionTransformer.prototype.visitAllExpressions = function (exprs, context) {
- var _this = this;
- return exprs.map(function (expr) { return expr.visitExpression(_this, context); });
- };
- ExpressionTransformer.prototype.visitDeclareVarStmt = function (stmt, context) {
- return new DeclareVarStmt(stmt.name, stmt.value.visitExpression(this, context), stmt.type, stmt.modifiers);
- };
- ExpressionTransformer.prototype.visitDeclareFunctionStmt = function (stmt, context) {
- // Don't descend into nested functions
- return stmt;
- };
- ExpressionTransformer.prototype.visitExpressionStmt = function (stmt, context) {
- return new ExpressionStatement(stmt.expr.visitExpression(this, context));
- };
- ExpressionTransformer.prototype.visitReturnStmt = function (stmt, context) {
- return new ReturnStatement(stmt.value.visitExpression(this, context));
- };
- ExpressionTransformer.prototype.visitDeclareClassStmt = function (stmt, context) {
- // Don't descend into nested functions
- return stmt;
- };
- ExpressionTransformer.prototype.visitIfStmt = function (stmt, context) {
- return new IfStmt(stmt.condition.visitExpression(this, context), this.visitAllStatements(stmt.trueCase, context), this.visitAllStatements(stmt.falseCase, context));
- };
- ExpressionTransformer.prototype.visitTryCatchStmt = function (stmt, context) {
- return new TryCatchStmt(this.visitAllStatements(stmt.bodyStmts, context), this.visitAllStatements(stmt.catchStmts, context));
- };
- ExpressionTransformer.prototype.visitThrowStmt = function (stmt, context) {
- return new ThrowStmt(stmt.error.visitExpression(this, context));
- };
- ExpressionTransformer.prototype.visitCommentStmt = function (stmt, context) { return stmt; };
- ExpressionTransformer.prototype.visitAllStatements = function (stmts, context) {
- var _this = this;
- return stmts.map(function (stmt) { return stmt.visitStatement(_this, context); });
- };
- return ExpressionTransformer;
- }());
- var RecursiveExpressionVisitor = (function () {
- function RecursiveExpressionVisitor() {
- }
- RecursiveExpressionVisitor.prototype.visitReadVarExpr = function (ast, context) { return ast; };
- RecursiveExpressionVisitor.prototype.visitWriteVarExpr = function (expr, context) {
- expr.value.visitExpression(this, context);
- return expr;
- };
- RecursiveExpressionVisitor.prototype.visitWriteKeyExpr = function (expr, context) {
- expr.receiver.visitExpression(this, context);
- expr.index.visitExpression(this, context);
- expr.value.visitExpression(this, context);
- return expr;
- };
- RecursiveExpressionVisitor.prototype.visitWritePropExpr = function (expr, context) {
- expr.receiver.visitExpression(this, context);
- expr.value.visitExpression(this, context);
- return expr;
- };
- RecursiveExpressionVisitor.prototype.visitInvokeMethodExpr = function (ast, context) {
- ast.receiver.visitExpression(this, context);
- this.visitAllExpressions(ast.args, context);
- return ast;
- };
- RecursiveExpressionVisitor.prototype.visitInvokeFunctionExpr = function (ast, context) {
- ast.fn.visitExpression(this, context);
- this.visitAllExpressions(ast.args, context);
- return ast;
- };
- RecursiveExpressionVisitor.prototype.visitInstantiateExpr = function (ast, context) {
- ast.classExpr.visitExpression(this, context);
- this.visitAllExpressions(ast.args, context);
- return ast;
- };
- RecursiveExpressionVisitor.prototype.visitLiteralExpr = function (ast, context) { return ast; };
- RecursiveExpressionVisitor.prototype.visitExternalExpr = function (ast, context) { return ast; };
- RecursiveExpressionVisitor.prototype.visitConditionalExpr = function (ast, context) {
- ast.condition.visitExpression(this, context);
- ast.trueCase.visitExpression(this, context);
- ast.falseCase.visitExpression(this, context);
- return ast;
- };
- RecursiveExpressionVisitor.prototype.visitNotExpr = function (ast, context) {
- ast.condition.visitExpression(this, context);
- return ast;
- };
- RecursiveExpressionVisitor.prototype.visitCastExpr = function (ast, context) {
- ast.value.visitExpression(this, context);
- return ast;
- };
- RecursiveExpressionVisitor.prototype.visitFunctionExpr = function (ast, context) { return ast; };
- RecursiveExpressionVisitor.prototype.visitBinaryOperatorExpr = function (ast, context) {
- ast.lhs.visitExpression(this, context);
- ast.rhs.visitExpression(this, context);
- return ast;
- };
- RecursiveExpressionVisitor.prototype.visitReadPropExpr = function (ast, context) {
- ast.receiver.visitExpression(this, context);
- return ast;
- };
- RecursiveExpressionVisitor.prototype.visitReadKeyExpr = function (ast, context) {
- ast.receiver.visitExpression(this, context);
- ast.index.visitExpression(this, context);
- return ast;
- };
- RecursiveExpressionVisitor.prototype.visitLiteralArrayExpr = function (ast, context) {
- this.visitAllExpressions(ast.entries, context);
- return ast;
- };
- RecursiveExpressionVisitor.prototype.visitLiteralMapExpr = function (ast, context) {
- var _this = this;
- ast.entries.forEach(function (entry) { return entry[1].visitExpression(_this, context); });
- return ast;
- };
- RecursiveExpressionVisitor.prototype.visitAllExpressions = function (exprs, context) {
- var _this = this;
- exprs.forEach(function (expr) { return expr.visitExpression(_this, context); });
- };
- RecursiveExpressionVisitor.prototype.visitDeclareVarStmt = function (stmt, context) {
- stmt.value.visitExpression(this, context);
- return stmt;
- };
- RecursiveExpressionVisitor.prototype.visitDeclareFunctionStmt = function (stmt, context) {
- // Don't descend into nested functions
- return stmt;
- };
- RecursiveExpressionVisitor.prototype.visitExpressionStmt = function (stmt, context) {
- stmt.expr.visitExpression(this, context);
- return stmt;
- };
- RecursiveExpressionVisitor.prototype.visitReturnStmt = function (stmt, context) {
- stmt.value.visitExpression(this, context);
- return stmt;
- };
- RecursiveExpressionVisitor.prototype.visitDeclareClassStmt = function (stmt, context) {
- // Don't descend into nested functions
- return stmt;
- };
- RecursiveExpressionVisitor.prototype.visitIfStmt = function (stmt, context) {
- stmt.condition.visitExpression(this, context);
- this.visitAllStatements(stmt.trueCase, context);
- this.visitAllStatements(stmt.falseCase, context);
- return stmt;
- };
- RecursiveExpressionVisitor.prototype.visitTryCatchStmt = function (stmt, context) {
- this.visitAllStatements(stmt.bodyStmts, context);
- this.visitAllStatements(stmt.catchStmts, context);
- return stmt;
- };
- RecursiveExpressionVisitor.prototype.visitThrowStmt = function (stmt, context) {
- stmt.error.visitExpression(this, context);
- return stmt;
- };
- RecursiveExpressionVisitor.prototype.visitCommentStmt = function (stmt, context) { return stmt; };
- RecursiveExpressionVisitor.prototype.visitAllStatements = function (stmts, context) {
- var _this = this;
- stmts.forEach(function (stmt) { return stmt.visitStatement(_this, context); });
- };
- return RecursiveExpressionVisitor;
- }());
- function replaceVarInExpression(varName, newValue, expression) {
- var transformer = new _ReplaceVariableTransformer(varName, newValue);
- return expression.visitExpression(transformer, null);
- }
- var _ReplaceVariableTransformer = (function (_super) {
- __extends$2(_ReplaceVariableTransformer, _super);
- function _ReplaceVariableTransformer(_varName, _newValue) {
- _super.call(this);
- this._varName = _varName;
- this._newValue = _newValue;
- }
- _ReplaceVariableTransformer.prototype.visitReadVarExpr = function (ast, context) {
- return ast.name == this._varName ? this._newValue : ast;
- };
- return _ReplaceVariableTransformer;
- }(ExpressionTransformer));
- function findReadVarNames(stmts) {
- var finder = new _VariableFinder();
- finder.visitAllStatements(stmts, null);
- return finder.varNames;
- }
- var _VariableFinder = (function (_super) {
- __extends$2(_VariableFinder, _super);
- function _VariableFinder() {
- _super.apply(this, arguments);
- this.varNames = new Set();
- }
- _VariableFinder.prototype.visitReadVarExpr = function (ast, context) {
- this.varNames.add(ast.name);
- return null;
- };
- return _VariableFinder;
- }(RecursiveExpressionVisitor));
- function variable(name, type) {
- if (type === void 0) { type = null; }
- return new ReadVarExpr(name, type);
- }
- function importExpr(id, typeParams) {
- if (typeParams === void 0) { typeParams = null; }
- return new ExternalExpr(id, null, typeParams);
- }
- function importType(id, typeParams, typeModifiers) {
- if (typeParams === void 0) { typeParams = null; }
- if (typeModifiers === void 0) { typeModifiers = null; }
- return isPresent(id) ? new ExternalType(id, typeParams, typeModifiers) : null;
- }
- function literalArr(values, type) {
- if (type === void 0) { type = null; }
- return new LiteralArrayExpr(values, type);
- }
- function literalMap(values, type) {
- if (type === void 0) { type = null; }
- return new LiteralMapExpr(values, type);
- }
- function not(expr) {
- return new NotExpr(expr);
- }
- function fn(params, body, type) {
- if (type === void 0) { type = null; }
- return new FunctionExpr(params, body, type);
- }
- function literal(value, type) {
- if (type === void 0) { type = null; }
- return new LiteralExpr(value, type);
- }
-
- var MODULE_SUFFIX = '';
- var CAMEL_CASE_REGEXP = /([A-Z])/g;
- function camelCaseToDashCase(input) {
- return input.replace(CAMEL_CASE_REGEXP, function () {
- var m = [];
- for (var _i = 0; _i < arguments.length; _i++) {
- m[_i - 0] = arguments[_i];
- }
- return '-' + m[1].toLowerCase();
- });
- }
- function splitAtColon(input, defaultValues) {
- return _splitAt(input, ':', defaultValues);
- }
- function splitAtPeriod(input, defaultValues) {
- return _splitAt(input, '.', defaultValues);
- }
- function _splitAt(input, character, defaultValues) {
- var characterIndex = input.indexOf(character);
- if (characterIndex == -1)
- return defaultValues;
- return [input.slice(0, characterIndex).trim(), input.slice(characterIndex + 1).trim()];
- }
- function sanitizeIdentifier(name) {
- return name.replace(/\W/g, '_');
- }
- function visitValue(value, visitor, context) {
- if (isArray(value)) {
- return visitor.visitArray(value, context);
- }
- else if (isStrictStringMap(value)) {
- return visitor.visitStringMap(value, context);
- }
- else if (isBlank(value) || isPrimitive(value)) {
- return visitor.visitPrimitive(value, context);
- }
- else {
- return visitor.visitOther(value, context);
- }
- }
- var ValueTransformer = (function () {
- function ValueTransformer() {
- }
- ValueTransformer.prototype.visitArray = function (arr, context) {
- var _this = this;
- return arr.map(function (value) { return visitValue(value, _this, context); });
- };
- ValueTransformer.prototype.visitStringMap = function (map, context) {
- var _this = this;
- var result = {};
- Object.keys(map).forEach(function (key) { result[key] = visitValue(map[key], _this, context); });
- return result;
- };
- ValueTransformer.prototype.visitPrimitive = function (value, context) { return value; };
- ValueTransformer.prototype.visitOther = function (value, context) { return value; };
- return ValueTransformer;
- }());
- function assetUrl(pkg, path, type) {
- if (path === void 0) { path = null; }
- if (type === void 0) { type = 'src'; }
- if (path == null) {
- return "asset:@angular/lib/" + pkg + "/index";
- }
- else {
- return "asset:@angular/lib/" + pkg + "/src/" + path;
- }
- }
- function createDiTokenExpression(token) {
- if (isPresent(token.value)) {
- return literal(token.value);
- }
- else if (token.identifierIsInstance) {
- return importExpr(token.identifier)
- .instantiate([], importType(token.identifier, [], [TypeModifier.Const]));
- }
- else {
- return importExpr(token.identifier);
- }
- }
- var SyncAsyncResult = (function () {
- function SyncAsyncResult(syncResult, asyncResult) {
- if (asyncResult === void 0) { asyncResult = null; }
- this.syncResult = syncResult;
- this.asyncResult = asyncResult;
- if (!asyncResult) {
- this.asyncResult = Promise.resolve(syncResult);
- }
- }
- return SyncAsyncResult;
- }());
-
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
- var __extends$1 = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- function unimplemented() {
- throw new Error('unimplemented');
- }
- // group 0: "[prop] or (event) or @trigger"
- // group 1: "prop" from "[prop]"
- // group 2: "event" from "(event)"
- // group 3: "@trigger" from "@trigger"
- var HOST_REG_EXP = /^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/;
- var CompileMetadataWithIdentifier = (function () {
- function CompileMetadataWithIdentifier() {
- }
- Object.defineProperty(CompileMetadataWithIdentifier.prototype, "identifier", {
- get: function () { return unimplemented(); },
- enumerable: true,
- configurable: true
- });
- return CompileMetadataWithIdentifier;
- }());
- var CompileAnimationEntryMetadata = (function () {
- function CompileAnimationEntryMetadata(name, definitions) {
- if (name === void 0) { name = null; }
- if (definitions === void 0) { definitions = null; }
- this.name = name;
- this.definitions = definitions;
- }
- return CompileAnimationEntryMetadata;
- }());
- var CompileAnimationStateMetadata = (function () {
- function CompileAnimationStateMetadata() {
- }
- return CompileAnimationStateMetadata;
- }());
- var CompileAnimationStateDeclarationMetadata = (function (_super) {
- __extends$1(CompileAnimationStateDeclarationMetadata, _super);
- function CompileAnimationStateDeclarationMetadata(stateNameExpr, styles) {
- _super.call(this);
- this.stateNameExpr = stateNameExpr;
- this.styles = styles;
- }
- return CompileAnimationStateDeclarationMetadata;
- }(CompileAnimationStateMetadata));
- var CompileAnimationStateTransitionMetadata = (function (_super) {
- __extends$1(CompileAnimationStateTransitionMetadata, _super);
- function CompileAnimationStateTransitionMetadata(stateChangeExpr, steps) {
- _super.call(this);
- this.stateChangeExpr = stateChangeExpr;
- this.steps = steps;
- }
- return CompileAnimationStateTransitionMetadata;
- }(CompileAnimationStateMetadata));
- var CompileAnimationMetadata = (function () {
- function CompileAnimationMetadata() {
- }
- return CompileAnimationMetadata;
- }());
- var CompileAnimationKeyframesSequenceMetadata = (function (_super) {
- __extends$1(CompileAnimationKeyframesSequenceMetadata, _super);
- function CompileAnimationKeyframesSequenceMetadata(steps) {
- if (steps === void 0) { steps = []; }
- _super.call(this);
- this.steps = steps;
- }
- return CompileAnimationKeyframesSequenceMetadata;
- }(CompileAnimationMetadata));
- var CompileAnimationStyleMetadata = (function (_super) {
- __extends$1(CompileAnimationStyleMetadata, _super);
- function CompileAnimationStyleMetadata(offset, styles) {
- if (styles === void 0) { styles = null; }
- _super.call(this);
- this.offset = offset;
- this.styles = styles;
- }
- return CompileAnimationStyleMetadata;
- }(CompileAnimationMetadata));
- var CompileAnimationAnimateMetadata = (function (_super) {
- __extends$1(CompileAnimationAnimateMetadata, _super);
- function CompileAnimationAnimateMetadata(timings, styles) {
- if (timings === void 0) { timings = 0; }
- if (styles === void 0) { styles = null; }
- _super.call(this);
- this.timings = timings;
- this.styles = styles;
- }
- return CompileAnimationAnimateMetadata;
- }(CompileAnimationMetadata));
- var CompileAnimationWithStepsMetadata = (function (_super) {
- __extends$1(CompileAnimationWithStepsMetadata, _super);
- function CompileAnimationWithStepsMetadata(steps) {
- if (steps === void 0) { steps = null; }
- _super.call(this);
- this.steps = steps;
- }
- return CompileAnimationWithStepsMetadata;
- }(CompileAnimationMetadata));
- var CompileAnimationSequenceMetadata = (function (_super) {
- __extends$1(CompileAnimationSequenceMetadata, _super);
- function CompileAnimationSequenceMetadata(steps) {
- if (steps === void 0) { steps = null; }
- _super.call(this, steps);
- }
- return CompileAnimationSequenceMetadata;
- }(CompileAnimationWithStepsMetadata));
- var CompileAnimationGroupMetadata = (function (_super) {
- __extends$1(CompileAnimationGroupMetadata, _super);
- function CompileAnimationGroupMetadata(steps) {
- if (steps === void 0) { steps = null; }
- _super.call(this, steps);
- }
- return CompileAnimationGroupMetadata;
- }(CompileAnimationWithStepsMetadata));
- var CompileIdentifierMetadata = (function () {
- function CompileIdentifierMetadata(_a) {
- var _b = _a === void 0 ? {} : _a, reference = _b.reference, name = _b.name, moduleUrl = _b.moduleUrl, prefix = _b.prefix, value = _b.value;
- this.reference = reference;
- this.name = name;
- this.prefix = prefix;
- this.moduleUrl = moduleUrl;
- this.value = value;
- }
- Object.defineProperty(CompileIdentifierMetadata.prototype, "identifier", {
- get: function () { return this; },
- enumerable: true,
- configurable: true
- });
- return CompileIdentifierMetadata;
- }());
- var CompileDiDependencyMetadata = (function () {
- function CompileDiDependencyMetadata(_a) {
- var _b = _a === void 0 ? {} : _a, isAttribute = _b.isAttribute, isSelf = _b.isSelf, isHost = _b.isHost, isSkipSelf = _b.isSkipSelf, isOptional = _b.isOptional, isValue = _b.isValue, query = _b.query, viewQuery = _b.viewQuery, token = _b.token, value = _b.value;
- this.isAttribute = normalizeBool(isAttribute);
- this.isSelf = normalizeBool(isSelf);
- this.isHost = normalizeBool(isHost);
- this.isSkipSelf = normalizeBool(isSkipSelf);
- this.isOptional = normalizeBool(isOptional);
- this.isValue = normalizeBool(isValue);
- this.query = query;
- this.viewQuery = viewQuery;
- this.token = token;
- this.value = value;
- }
- return CompileDiDependencyMetadata;
- }());
- var CompileProviderMetadata = (function () {
- function CompileProviderMetadata(_a) {
- var token = _a.token, useClass = _a.useClass, useValue = _a.useValue, useExisting = _a.useExisting, useFactory = _a.useFactory, deps = _a.deps, multi = _a.multi;
- this.token = token;
- this.useClass = useClass;
- this.useValue = useValue;
- this.useExisting = useExisting;
- this.useFactory = useFactory;
- this.deps = normalizeBlank(deps);
- this.multi = normalizeBool(multi);
- }
- return CompileProviderMetadata;
- }());
- var CompileFactoryMetadata = (function (_super) {
- __extends$1(CompileFactoryMetadata, _super);
- function CompileFactoryMetadata(_a) {
- var reference = _a.reference, name = _a.name, moduleUrl = _a.moduleUrl, prefix = _a.prefix, diDeps = _a.diDeps, value = _a.value;
- _super.call(this, { reference: reference, name: name, prefix: prefix, moduleUrl: moduleUrl, value: value });
- this.diDeps = _normalizeArray(diDeps);
- }
- return CompileFactoryMetadata;
- }(CompileIdentifierMetadata));
- var CompileTokenMetadata = (function () {
- function CompileTokenMetadata(_a) {
- var value = _a.value, identifier = _a.identifier, identifierIsInstance = _a.identifierIsInstance;
- this.value = value;
- this.identifier = identifier;
- this.identifierIsInstance = normalizeBool(identifierIsInstance);
- }
- Object.defineProperty(CompileTokenMetadata.prototype, "reference", {
- get: function () {
- if (isPresent(this.identifier)) {
- return this.identifier.reference;
- }
- else {
- return this.value;
- }
- },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(CompileTokenMetadata.prototype, "name", {
- get: function () {
- return isPresent(this.value) ? sanitizeIdentifier(this.value) : this.identifier.name;
- },
- enumerable: true,
- configurable: true
- });
- return CompileTokenMetadata;
- }());
- /**
- * Metadata regarding compilation of a type.
- */
- var CompileTypeMetadata = (function (_super) {
- __extends$1(CompileTypeMetadata, _super);
- function CompileTypeMetadata(_a) {
- var _b = _a === void 0 ? {} : _a, reference = _b.reference, name = _b.name, moduleUrl = _b.moduleUrl, prefix = _b.prefix, isHost = _b.isHost, value = _b.value, diDeps = _b.diDeps, lifecycleHooks = _b.lifecycleHooks;
- _super.call(this, { reference: reference, name: name, moduleUrl: moduleUrl, prefix: prefix, value: value });
- this.isHost = normalizeBool(isHost);
- this.diDeps = _normalizeArray(diDeps);
- this.lifecycleHooks = _normalizeArray(lifecycleHooks);
- }
- return CompileTypeMetadata;
- }(CompileIdentifierMetadata));
- var CompileQueryMetadata = (function () {
- function CompileQueryMetadata(_a) {
- var _b = _a === void 0 ? {} : _a, selectors = _b.selectors, descendants = _b.descendants, first = _b.first, propertyName = _b.propertyName, read = _b.read;
- this.selectors = selectors;
- this.descendants = normalizeBool(descendants);
- this.first = normalizeBool(first);
- this.propertyName = propertyName;
- this.read = read;
- }
- return CompileQueryMetadata;
- }());
- /**
- * Metadata about a stylesheet
- */
- var CompileStylesheetMetadata = (function () {
- function CompileStylesheetMetadata(_a) {
- var _b = _a === void 0 ? {} : _a, moduleUrl = _b.moduleUrl, styles = _b.styles, styleUrls = _b.styleUrls;
- this.moduleUrl = moduleUrl;
- this.styles = _normalizeArray(styles);
- this.styleUrls = _normalizeArray(styleUrls);
- }
- return CompileStylesheetMetadata;
- }());
- /**
- * Metadata regarding compilation of a template.
- */
- var CompileTemplateMetadata = (function () {
- function CompileTemplateMetadata(_a) {
- var _b = _a === void 0 ? {} : _a, encapsulation = _b.encapsulation, template = _b.template, templateUrl = _b.templateUrl, styles = _b.styles, styleUrls = _b.styleUrls, externalStylesheets = _b.externalStylesheets, animations = _b.animations, ngContentSelectors = _b.ngContentSelectors, interpolation = _b.interpolation;
- this.encapsulation = encapsulation;
- this.template = template;
- this.templateUrl = templateUrl;
- this.styles = _normalizeArray(styles);
- this.styleUrls = _normalizeArray(styleUrls);
- this.externalStylesheets = _normalizeArray(externalStylesheets);
- this.animations = isPresent(animations) ? ListWrapper.flatten(animations) : [];
- this.ngContentSelectors = ngContentSelectors || [];
- if (isPresent(interpolation) && interpolation.length != 2) {
- throw new Error("'interpolation' should have a start and an end symbol.");
- }
- this.interpolation = interpolation;
- }
- return CompileTemplateMetadata;
- }());
- /**
- * Metadata regarding compilation of a directive.
- */
- var CompileDirectiveMetadata = (function () {
- function CompileDirectiveMetadata(_a) {
- var _b = _a === void 0 ? {} : _a, type = _b.type, isComponent = _b.isComponent, selector = _b.selector, exportAs = _b.exportAs, changeDetection = _b.changeDetection, inputs = _b.inputs, outputs = _b.outputs, hostListeners = _b.hostListeners, hostProperties = _b.hostProperties, hostAttributes = _b.hostAttributes, providers = _b.providers, viewProviders = _b.viewProviders, queries = _b.queries, viewQueries = _b.viewQueries, entryComponents = _b.entryComponents, template = _b.template;
- this.type = type;
- this.isComponent = isComponent;
- this.selector = selector;
- this.exportAs = exportAs;
- this.changeDetection = changeDetection;
- this.inputs = inputs;
- this.outputs = outputs;
- this.hostListeners = hostListeners;
- this.hostProperties = hostProperties;
- this.hostAttributes = hostAttributes;
- this.providers = _normalizeArray(providers);
- this.viewProviders = _normalizeArray(viewProviders);
- this.queries = _normalizeArray(queries);
- this.viewQueries = _normalizeArray(viewQueries);
- this.entryComponents = _normalizeArray(entryComponents);
- this.template = template;
- }
- CompileDirectiveMetadata.create = function (_a) {
- var _b = _a === void 0 ? {} : _a, type = _b.type, isComponent = _b.isComponent, selector = _b.selector, exportAs = _b.exportAs, changeDetection = _b.changeDetection, inputs = _b.inputs, outputs = _b.outputs, host = _b.host, providers = _b.providers, viewProviders = _b.viewProviders, queries = _b.queries, viewQueries = _b.viewQueries, entryComponents = _b.entryComponents, template = _b.template;
- var hostListeners = {};
- var hostProperties = {};
- var hostAttributes = {};
- if (isPresent(host)) {
- Object.keys(host).forEach(function (key) {
- var value = host[key];
- var matches = key.match(HOST_REG_EXP);
- if (matches === null) {
- hostAttributes[key] = value;
- }
- else if (isPresent(matches[1])) {
- hostProperties[matches[1]] = value;
- }
- else if (isPresent(matches[2])) {
- hostListeners[matches[2]] = value;
- }
- });
- }
- var inputsMap = {};
- if (isPresent(inputs)) {
- inputs.forEach(function (bindConfig) {
- // canonical syntax: `dirProp: elProp`
- // if there is no `:`, use dirProp = elProp
- var parts = splitAtColon(bindConfig, [bindConfig, bindConfig]);
- inputsMap[parts[0]] = parts[1];
- });
- }
- var outputsMap = {};
- if (isPresent(outputs)) {
- outputs.forEach(function (bindConfig) {
- // canonical syntax: `dirProp: elProp`
- // if there is no `:`, use dirProp = elProp
- var parts = splitAtColon(bindConfig, [bindConfig, bindConfig]);
- outputsMap[parts[0]] = parts[1];
- });
- }
- return new CompileDirectiveMetadata({
- type: type,
- isComponent: normalizeBool(isComponent), selector: selector, exportAs: exportAs, changeDetection: changeDetection,
- inputs: inputsMap,
- outputs: outputsMap,
- hostListeners: hostListeners,
- hostProperties: hostProperties,
- hostAttributes: hostAttributes,
- providers: providers,
- viewProviders: viewProviders,
- queries: queries,
- viewQueries: viewQueries,
- entryComponents: entryComponents,
- template: template,
- });
- };
- Object.defineProperty(CompileDirectiveMetadata.prototype, "identifier", {
- get: function () { return this.type; },
- enumerable: true,
- configurable: true
- });
- return CompileDirectiveMetadata;
- }());
- /**
- * Construct {@link CompileDirectiveMetadata} from {@link ComponentTypeMetadata} and a selector.
- */
- function createHostComponentMeta(compMeta) {
- var template = CssSelector.parse(compMeta.selector)[0].getMatchingElementTemplate();
- return CompileDirectiveMetadata.create({
- type: new CompileTypeMetadata({
- reference: Object,
- name: compMeta.type.name + "_Host",
- moduleUrl: compMeta.type.moduleUrl,
- isHost: true
- }),
- template: new CompileTemplateMetadata({
- encapsulation: _angular_core.ViewEncapsulation.None,
- template: template,
- templateUrl: '',
- styles: [],
- styleUrls: [],
- ngContentSelectors: [],
- animations: []
- }),
- changeDetection: _angular_core.ChangeDetectionStrategy.Default,
- inputs: [],
- outputs: [],
- host: {},
- isComponent: true,
- selector: '*',
- providers: [],
- viewProviders: [],
- queries: [],
- viewQueries: []
- });
- }
- var CompilePipeMetadata = (function () {
- function CompilePipeMetadata(_a) {
- var _b = _a === void 0 ? {} : _a, type = _b.type, name = _b.name, pure = _b.pure;
- this.type = type;
- this.name = name;
- this.pure = normalizeBool(pure);
- }
- Object.defineProperty(CompilePipeMetadata.prototype, "identifier", {
- get: function () { return this.type; },
- enumerable: true,
- configurable: true
- });
- return CompilePipeMetadata;
- }());
- /**
- * Metadata regarding compilation of a directive.
- */
- var CompileNgModuleMetadata = (function () {
- function CompileNgModuleMetadata(_a) {
- var _b = _a === void 0 ? {} : _a, type = _b.type, providers = _b.providers, declaredDirectives = _b.declaredDirectives, exportedDirectives = _b.exportedDirectives, declaredPipes = _b.declaredPipes, exportedPipes = _b.exportedPipes, entryComponents = _b.entryComponents, bootstrapComponents = _b.bootstrapComponents, importedModules = _b.importedModules, exportedModules = _b.exportedModules, schemas = _b.schemas, transitiveModule = _b.transitiveModule, id = _b.id;
- this.type = type;
- this.declaredDirectives = _normalizeArray(declaredDirectives);
- this.exportedDirectives = _normalizeArray(exportedDirectives);
- this.declaredPipes = _normalizeArray(declaredPipes);
- this.exportedPipes = _normalizeArray(exportedPipes);
- this.providers = _normalizeArray(providers);
- this.entryComponents = _normalizeArray(entryComponents);
- this.bootstrapComponents = _normalizeArray(bootstrapComponents);
- this.importedModules = _normalizeArray(importedModules);
- this.exportedModules = _normalizeArray(exportedModules);
- this.schemas = _normalizeArray(schemas);
- this.id = id;
- this.transitiveModule = transitiveModule;
- }
- Object.defineProperty(CompileNgModuleMetadata.prototype, "identifier", {
- get: function () { return this.type; },
- enumerable: true,
- configurable: true
- });
- return CompileNgModuleMetadata;
- }());
- var TransitiveCompileNgModuleMetadata = (function () {
- function TransitiveCompileNgModuleMetadata(modules, providers, entryComponents, directives, pipes) {
- var _this = this;
- this.modules = modules;
- this.providers = providers;
- this.entryComponents = entryComponents;
- this.directives = directives;
- this.pipes = pipes;
- this.directivesSet = new Set();
- this.pipesSet = new Set();
- directives.forEach(function (dir) { return _this.directivesSet.add(dir.type.reference); });
- pipes.forEach(function (pipe) { return _this.pipesSet.add(pipe.type.reference); });
- }
- return TransitiveCompileNgModuleMetadata;
- }());
- function removeIdentifierDuplicates(items) {
- var map = new Map();
- items.forEach(function (item) {
- if (!map.get(item.identifier.reference)) {
- map.set(item.identifier.reference, item);
- }
- });
- return MapWrapper.values(map);
- }
- function _normalizeArray(obj) {
- return obj || [];
- }
- function isStaticSymbol(value) {
- return isStringMap(value) && isPresent(value['name']) && isPresent(value['filePath']);
- }
- var ProviderMeta = (function () {
- function ProviderMeta(token, _a) {
- var useClass = _a.useClass, useValue = _a.useValue, useExisting = _a.useExisting, useFactory = _a.useFactory, deps = _a.deps, multi = _a.multi;
- this.token = token;
- this.useClass = useClass;
- this.useValue = useValue;
- this.useExisting = useExisting;
- this.useFactory = useFactory;
- this.dependencies = deps;
- this.multi = !!multi;
- }
- return ProviderMeta;
- }());
-
/**
* @license
* Copyright Google Inc. All Rights Reserved.
@@ -12255,1800 +11869,6 @@
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
- var ParserError = (function () {
- function ParserError(message, input, errLocation, ctxLocation) {
- this.input = input;
- this.errLocation = errLocation;
- this.ctxLocation = ctxLocation;
- this.message = "Parser Error: " + message + " " + errLocation + " [" + input + "] in " + ctxLocation;
- }
- return ParserError;
- }());
- var ParseSpan = (function () {
- function ParseSpan(start, end) {
- this.start = start;
- this.end = end;
- }
- return ParseSpan;
- }());
- var AST = (function () {
- function AST(span) {
- this.span = span;
- }
- AST.prototype.visit = function (visitor, context) {
- if (context === void 0) { context = null; }
- return null;
- };
- AST.prototype.toString = function () { return 'AST'; };
- return AST;
- }());
- /**
- * Represents a quoted expression of the form:
- *
- * quote = prefix `:` uninterpretedExpression
- * prefix = identifier
- * uninterpretedExpression = arbitrary string
- *
- * A quoted expression is meant to be pre-processed by an AST transformer that
- * converts it into another AST that no longer contains quoted expressions.
- * It is meant to allow third-party developers to extend Angular template
- * expression language. The `uninterpretedExpression` part of the quote is
- * therefore not interpreted by the Angular's own expression parser.
- */
- var Quote = (function (_super) {
- __extends$3(Quote, _super);
- function Quote(span, prefix, uninterpretedExpression, location) {
- _super.call(this, span);
- this.prefix = prefix;
- this.uninterpretedExpression = uninterpretedExpression;
- this.location = location;
- }
- Quote.prototype.visit = function (visitor, context) {
- if (context === void 0) { context = null; }
- return visitor.visitQuote(this, context);
- };
- Quote.prototype.toString = function () { return 'Quote'; };
- return Quote;
- }(AST));
- var EmptyExpr = (function (_super) {
- __extends$3(EmptyExpr, _super);
- function EmptyExpr() {
- _super.apply(this, arguments);
- }
- EmptyExpr.prototype.visit = function (visitor, context) {
- if (context === void 0) { context = null; }
- // do nothing
- };
- return EmptyExpr;
- }(AST));
- var ImplicitReceiver = (function (_super) {
- __extends$3(ImplicitReceiver, _super);
- function ImplicitReceiver() {
- _super.apply(this, arguments);
- }
- ImplicitReceiver.prototype.visit = function (visitor, context) {
- if (context === void 0) { context = null; }
- return visitor.visitImplicitReceiver(this, context);
- };
- return ImplicitReceiver;
- }(AST));
- /**
- * Multiple expressions separated by a semicolon.
- */
- var Chain = (function (_super) {
- __extends$3(Chain, _super);
- function Chain(span, expressions) {
- _super.call(this, span);
- this.expressions = expressions;
- }
- Chain.prototype.visit = function (visitor, context) {
- if (context === void 0) { context = null; }
- return visitor.visitChain(this, context);
- };
- return Chain;
- }(AST));
- var Conditional = (function (_super) {
- __extends$3(Conditional, _super);
- function Conditional(span, condition, trueExp, falseExp) {
- _super.call(this, span);
- this.condition = condition;
- this.trueExp = trueExp;
- this.falseExp = falseExp;
- }
- Conditional.prototype.visit = function (visitor, context) {
- if (context === void 0) { context = null; }
- return visitor.visitConditional(this, context);
- };
- return Conditional;
- }(AST));
- var PropertyRead = (function (_super) {
- __extends$3(PropertyRead, _super);
- function PropertyRead(span, receiver, name) {
- _super.call(this, span);
- this.receiver = receiver;
- this.name = name;
- }
- PropertyRead.prototype.visit = function (visitor, context) {
- if (context === void 0) { context = null; }
- return visitor.visitPropertyRead(this, context);
- };
- return PropertyRead;
- }(AST));
- var PropertyWrite = (function (_super) {
- __extends$3(PropertyWrite, _super);
- function PropertyWrite(span, receiver, name, value) {
- _super.call(this, span);
- this.receiver = receiver;
- this.name = name;
- this.value = value;
- }
- PropertyWrite.prototype.visit = function (visitor, context) {
- if (context === void 0) { context = null; }
- return visitor.visitPropertyWrite(this, context);
- };
- return PropertyWrite;
- }(AST));
- var SafePropertyRead = (function (_super) {
- __extends$3(SafePropertyRead, _super);
- function SafePropertyRead(span, receiver, name) {
- _super.call(this, span);
- this.receiver = receiver;
- this.name = name;
- }
- SafePropertyRead.prototype.visit = function (visitor, context) {
- if (context === void 0) { context = null; }
- return visitor.visitSafePropertyRead(this, context);
- };
- return SafePropertyRead;
- }(AST));
- var KeyedRead = (function (_super) {
- __extends$3(KeyedRead, _super);
- function KeyedRead(span, obj, key) {
- _super.call(this, span);
- this.obj = obj;
- this.key = key;
- }
- KeyedRead.prototype.visit = function (visitor, context) {
- if (context === void 0) { context = null; }
- return visitor.visitKeyedRead(this, context);
- };
- return KeyedRead;
- }(AST));
- var KeyedWrite = (function (_super) {
- __extends$3(KeyedWrite, _super);
- function KeyedWrite(span, obj, key, value) {
- _super.call(this, span);
- this.obj = obj;
- this.key = key;
- this.value = value;
- }
- KeyedWrite.prototype.visit = function (visitor, context) {
- if (context === void 0) { context = null; }
- return visitor.visitKeyedWrite(this, context);
- };
- return KeyedWrite;
- }(AST));
- var BindingPipe = (function (_super) {
- __extends$3(BindingPipe, _super);
- function BindingPipe(span, exp, name, args) {
- _super.call(this, span);
- this.exp = exp;
- this.name = name;
- this.args = args;
- }
- BindingPipe.prototype.visit = function (visitor, context) {
- if (context === void 0) { context = null; }
- return visitor.visitPipe(this, context);
- };
- return BindingPipe;
- }(AST));
- var LiteralPrimitive = (function (_super) {
- __extends$3(LiteralPrimitive, _super);
- function LiteralPrimitive(span, value) {
- _super.call(this, span);
- this.value = value;
- }
- LiteralPrimitive.prototype.visit = function (visitor, context) {
- if (context === void 0) { context = null; }
- return visitor.visitLiteralPrimitive(this, context);
- };
- return LiteralPrimitive;
- }(AST));
- var LiteralArray = (function (_super) {
- __extends$3(LiteralArray, _super);
- function LiteralArray(span, expressions) {
- _super.call(this, span);
- this.expressions = expressions;
- }
- LiteralArray.prototype.visit = function (visitor, context) {
- if (context === void 0) { context = null; }
- return visitor.visitLiteralArray(this, context);
- };
- return LiteralArray;
- }(AST));
- var LiteralMap = (function (_super) {
- __extends$3(LiteralMap, _super);
- function LiteralMap(span, keys, values) {
- _super.call(this, span);
- this.keys = keys;
- this.values = values;
- }
- LiteralMap.prototype.visit = function (visitor, context) {
- if (context === void 0) { context = null; }
- return visitor.visitLiteralMap(this, context);
- };
- return LiteralMap;
- }(AST));
- var Interpolation = (function (_super) {
- __extends$3(Interpolation, _super);
- function Interpolation(span, strings, expressions) {
- _super.call(this, span);
- this.strings = strings;
- this.expressions = expressions;
- }
- Interpolation.prototype.visit = function (visitor, context) {
- if (context === void 0) { context = null; }
- return visitor.visitInterpolation(this, context);
- };
- return Interpolation;
- }(AST));
- var Binary = (function (_super) {
- __extends$3(Binary, _super);
- function Binary(span, operation, left, right) {
- _super.call(this, span);
- this.operation = operation;
- this.left = left;
- this.right = right;
- }
- Binary.prototype.visit = function (visitor, context) {
- if (context === void 0) { context = null; }
- return visitor.visitBinary(this, context);
- };
- return Binary;
- }(AST));
- var PrefixNot = (function (_super) {
- __extends$3(PrefixNot, _super);
- function PrefixNot(span, expression) {
- _super.call(this, span);
- this.expression = expression;
- }
- PrefixNot.prototype.visit = function (visitor, context) {
- if (context === void 0) { context = null; }
- return visitor.visitPrefixNot(this, context);
- };
- return PrefixNot;
- }(AST));
- var MethodCall = (function (_super) {
- __extends$3(MethodCall, _super);
- function MethodCall(span, receiver, name, args) {
- _super.call(this, span);
- this.receiver = receiver;
- this.name = name;
- this.args = args;
- }
- MethodCall.prototype.visit = function (visitor, context) {
- if (context === void 0) { context = null; }
- return visitor.visitMethodCall(this, context);
- };
- return MethodCall;
- }(AST));
- var SafeMethodCall = (function (_super) {
- __extends$3(SafeMethodCall, _super);
- function SafeMethodCall(span, receiver, name, args) {
- _super.call(this, span);
- this.receiver = receiver;
- this.name = name;
- this.args = args;
- }
- SafeMethodCall.prototype.visit = function (visitor, context) {
- if (context === void 0) { context = null; }
- return visitor.visitSafeMethodCall(this, context);
- };
- return SafeMethodCall;
- }(AST));
- var FunctionCall = (function (_super) {
- __extends$3(FunctionCall, _super);
- function FunctionCall(span, target, args) {
- _super.call(this, span);
- this.target = target;
- this.args = args;
- }
- FunctionCall.prototype.visit = function (visitor, context) {
- if (context === void 0) { context = null; }
- return visitor.visitFunctionCall(this, context);
- };
- return FunctionCall;
- }(AST));
- var ASTWithSource = (function (_super) {
- __extends$3(ASTWithSource, _super);
- function ASTWithSource(ast, source, location, errors) {
- _super.call(this, new ParseSpan(0, isBlank(source) ? 0 : source.length));
- this.ast = ast;
- this.source = source;
- this.location = location;
- this.errors = errors;
- }
- ASTWithSource.prototype.visit = function (visitor, context) {
- if (context === void 0) { context = null; }
- return this.ast.visit(visitor, context);
- };
- ASTWithSource.prototype.toString = function () { return this.source + " in " + this.location; };
- return ASTWithSource;
- }(AST));
- var TemplateBinding = (function () {
- function TemplateBinding(key, keyIsVar, name, expression) {
- this.key = key;
- this.keyIsVar = keyIsVar;
- this.name = name;
- this.expression = expression;
- }
- return TemplateBinding;
- }());
- var RecursiveAstVisitor = (function () {
- function RecursiveAstVisitor() {
- }
- RecursiveAstVisitor.prototype.visitBinary = function (ast, context) {
- ast.left.visit(this);
- ast.right.visit(this);
- return null;
- };
- RecursiveAstVisitor.prototype.visitChain = function (ast, context) { return this.visitAll(ast.expressions, context); };
- RecursiveAstVisitor.prototype.visitConditional = function (ast, context) {
- ast.condition.visit(this);
- ast.trueExp.visit(this);
- ast.falseExp.visit(this);
- return null;
- };
- RecursiveAstVisitor.prototype.visitPipe = function (ast, context) {
- ast.exp.visit(this);
- this.visitAll(ast.args, context);
- return null;
- };
- RecursiveAstVisitor.prototype.visitFunctionCall = function (ast, context) {
- ast.target.visit(this);
- this.visitAll(ast.args, context);
- return null;
- };
- RecursiveAstVisitor.prototype.visitImplicitReceiver = function (ast, context) { return null; };
- RecursiveAstVisitor.prototype.visitInterpolation = function (ast, context) {
- return this.visitAll(ast.expressions, context);
- };
- RecursiveAstVisitor.prototype.visitKeyedRead = function (ast, context) {
- ast.obj.visit(this);
- ast.key.visit(this);
- return null;
- };
- RecursiveAstVisitor.prototype.visitKeyedWrite = function (ast, context) {
- ast.obj.visit(this);
- ast.key.visit(this);
- ast.value.visit(this);
- return null;
- };
- RecursiveAstVisitor.prototype.visitLiteralArray = function (ast, context) {
- return this.visitAll(ast.expressions, context);
- };
- RecursiveAstVisitor.prototype.visitLiteralMap = function (ast, context) { return this.visitAll(ast.values, context); };
- RecursiveAstVisitor.prototype.visitLiteralPrimitive = function (ast, context) { return null; };
- RecursiveAstVisitor.prototype.visitMethodCall = function (ast, context) {
- ast.receiver.visit(this);
- return this.visitAll(ast.args, context);
- };
- RecursiveAstVisitor.prototype.visitPrefixNot = function (ast, context) {
- ast.expression.visit(this);
- return null;
- };
- RecursiveAstVisitor.prototype.visitPropertyRead = function (ast, context) {
- ast.receiver.visit(this);
- return null;
- };
- RecursiveAstVisitor.prototype.visitPropertyWrite = function (ast, context) {
- ast.receiver.visit(this);
- ast.value.visit(this);
- return null;
- };
- RecursiveAstVisitor.prototype.visitSafePropertyRead = function (ast, context) {
- ast.receiver.visit(this);
- return null;
- };
- RecursiveAstVisitor.prototype.visitSafeMethodCall = function (ast, context) {
- ast.receiver.visit(this);
- return this.visitAll(ast.args, context);
- };
- RecursiveAstVisitor.prototype.visitAll = function (asts, context) {
- var _this = this;
- asts.forEach(function (ast) { return ast.visit(_this, context); });
- return null;
- };
- RecursiveAstVisitor.prototype.visitQuote = function (ast, context) { return null; };
- return RecursiveAstVisitor;
- }());
-
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
- var $EOF = 0;
- var $TAB = 9;
- var $LF = 10;
- var $VTAB = 11;
- var $FF = 12;
- var $CR = 13;
- var $SPACE = 32;
- var $BANG = 33;
- var $DQ = 34;
- var $HASH = 35;
- var $$ = 36;
- var $PERCENT = 37;
- var $AMPERSAND = 38;
- var $SQ = 39;
- var $LPAREN = 40;
- var $RPAREN = 41;
- var $STAR = 42;
- var $PLUS = 43;
- var $COMMA = 44;
- var $MINUS = 45;
- var $PERIOD = 46;
- var $SLASH = 47;
- var $COLON = 58;
- var $SEMICOLON = 59;
- var $LT = 60;
- var $EQ = 61;
- var $GT = 62;
- var $QUESTION = 63;
- var $0 = 48;
- var $9 = 57;
- var $A = 65;
- var $E = 69;
- var $F = 70;
- var $X = 88;
- var $Z = 90;
- var $LBRACKET = 91;
- var $BACKSLASH = 92;
- var $RBRACKET = 93;
- var $CARET = 94;
- var $_ = 95;
- var $a = 97;
- var $e = 101;
- var $f = 102;
- var $n = 110;
- var $r = 114;
- var $t = 116;
- var $u = 117;
- var $v = 118;
- var $x = 120;
- var $z = 122;
- var $LBRACE = 123;
- var $BAR = 124;
- var $RBRACE = 125;
- var $NBSP = 160;
- var $BT = 96;
- function isWhitespace(code) {
- return (code >= $TAB && code <= $SPACE) || (code == $NBSP);
- }
- function isDigit(code) {
- return $0 <= code && code <= $9;
- }
- function isAsciiLetter(code) {
- return code >= $a && code <= $z || code >= $A && code <= $Z;
- }
- function isAsciiHexDigit(code) {
- return code >= $a && code <= $f || code >= $A && code <= $F || isDigit(code);
- }
-
- function assertArrayOfStrings(identifier, value) {
- if (!_angular_core.isDevMode() || isBlank(value)) {
- return;
- }
- if (!isArray(value)) {
- throw new Error("Expected '" + identifier + "' to be an array of strings.");
- }
- for (var i = 0; i < value.length; i += 1) {
- if (!isString(value[i])) {
- throw new Error("Expected '" + identifier + "' to be an array of strings.");
- }
- }
- }
- var INTERPOLATION_BLACKLIST_REGEXPS = [
- /^\s*$/,
- /[<>]/,
- /^[{}]$/,
- /&(#|[a-z])/i,
- /^\/\//,
- ];
- function assertInterpolationSymbols(identifier, value) {
- if (isPresent(value) && !(isArray(value) && value.length == 2)) {
- throw new Error("Expected '" + identifier + "' to be an array, [start, end].");
- }
- else if (_angular_core.isDevMode() && !isBlank(value)) {
- var start_1 = value[0];
- var end_1 = value[1];
- // black list checking
- INTERPOLATION_BLACKLIST_REGEXPS.forEach(function (regexp) {
- if (regexp.test(start_1) || regexp.test(end_1)) {
- throw new Error("['" + start_1 + "', '" + end_1 + "'] contains unusable interpolation symbol.");
- }
- });
- }
- }
-
- var InterpolationConfig = (function () {
- function InterpolationConfig(start, end) {
- this.start = start;
- this.end = end;
- }
- InterpolationConfig.fromArray = function (markers) {
- if (!markers) {
- return DEFAULT_INTERPOLATION_CONFIG;
- }
- assertInterpolationSymbols('interpolation', markers);
- return new InterpolationConfig(markers[0], markers[1]);
- };
- ;
- return InterpolationConfig;
- }());
- var DEFAULT_INTERPOLATION_CONFIG = new InterpolationConfig('{{', '}}');
-
- var TokenType;
- (function (TokenType) {
- TokenType[TokenType["Character"] = 0] = "Character";
- TokenType[TokenType["Identifier"] = 1] = "Identifier";
- TokenType[TokenType["Keyword"] = 2] = "Keyword";
- TokenType[TokenType["String"] = 3] = "String";
- TokenType[TokenType["Operator"] = 4] = "Operator";
- TokenType[TokenType["Number"] = 5] = "Number";
- TokenType[TokenType["Error"] = 6] = "Error";
- })(TokenType || (TokenType = {}));
- var KEYWORDS = ['var', 'let', 'null', 'undefined', 'true', 'false', 'if', 'else', 'this'];
- var Lexer = (function () {
- function Lexer() {
- }
- Lexer.prototype.tokenize = function (text) {
- var scanner = new _Scanner(text);
- var tokens = [];
- var token = scanner.scanToken();
- while (token != null) {
- tokens.push(token);
- token = scanner.scanToken();
- }
- return tokens;
- };
- Lexer.decorators = [
- { type: _angular_core.Injectable },
- ];
- /** @nocollapse */
- Lexer.ctorParameters = [];
- return Lexer;
- }());
- var Token = (function () {
- function Token(index, type, numValue, strValue) {
- this.index = index;
- this.type = type;
- this.numValue = numValue;
- this.strValue = strValue;
- }
- Token.prototype.isCharacter = function (code) {
- return this.type == TokenType.Character && this.numValue == code;
- };
- Token.prototype.isNumber = function () { return this.type == TokenType.Number; };
- Token.prototype.isString = function () { return this.type == TokenType.String; };
- Token.prototype.isOperator = function (operater) {
- return this.type == TokenType.Operator && this.strValue == operater;
- };
- Token.prototype.isIdentifier = function () { return this.type == TokenType.Identifier; };
- Token.prototype.isKeyword = function () { return this.type == TokenType.Keyword; };
- Token.prototype.isKeywordLet = function () { return this.type == TokenType.Keyword && this.strValue == 'let'; };
- Token.prototype.isKeywordNull = function () { return this.type == TokenType.Keyword && this.strValue == 'null'; };
- Token.prototype.isKeywordUndefined = function () {
- return this.type == TokenType.Keyword && this.strValue == 'undefined';
- };
- Token.prototype.isKeywordTrue = function () { return this.type == TokenType.Keyword && this.strValue == 'true'; };
- Token.prototype.isKeywordFalse = function () { return this.type == TokenType.Keyword && this.strValue == 'false'; };
- Token.prototype.isKeywordThis = function () { return this.type == TokenType.Keyword && this.strValue == 'this'; };
- Token.prototype.isError = function () { return this.type == TokenType.Error; };
- Token.prototype.toNumber = function () { return this.type == TokenType.Number ? this.numValue : -1; };
- Token.prototype.toString = function () {
- switch (this.type) {
- case TokenType.Character:
- case TokenType.Identifier:
- case TokenType.Keyword:
- case TokenType.Operator:
- case TokenType.String:
- case TokenType.Error:
- return this.strValue;
- case TokenType.Number:
- return this.numValue.toString();
- default:
- return null;
- }
- };
- return Token;
- }());
- function newCharacterToken(index, code) {
- return new Token(index, TokenType.Character, code, String.fromCharCode(code));
- }
- function newIdentifierToken(index, text) {
- return new Token(index, TokenType.Identifier, 0, text);
- }
- function newKeywordToken(index, text) {
- return new Token(index, TokenType.Keyword, 0, text);
- }
- function newOperatorToken(index, text) {
- return new Token(index, TokenType.Operator, 0, text);
- }
- function newStringToken(index, text) {
- return new Token(index, TokenType.String, 0, text);
- }
- function newNumberToken(index, n) {
- return new Token(index, TokenType.Number, n, '');
- }
- function newErrorToken(index, message) {
- return new Token(index, TokenType.Error, 0, message);
- }
- var EOF = new Token(-1, TokenType.Character, 0, '');
- var _Scanner = (function () {
- function _Scanner(input) {
- this.input = input;
- this.peek = 0;
- this.index = -1;
- this.length = input.length;
- this.advance();
- }
- _Scanner.prototype.advance = function () {
- this.peek = ++this.index >= this.length ? $EOF : this.input.charCodeAt(this.index);
- };
- _Scanner.prototype.scanToken = function () {
- var input = this.input, length = this.length, peek = this.peek, index = this.index;
- // Skip whitespace.
- while (peek <= $SPACE) {
- if (++index >= length) {
- peek = $EOF;
- break;
- }
- else {
- peek = input.charCodeAt(index);
- }
- }
- this.peek = peek;
- this.index = index;
- if (index >= length) {
- return null;
- }
- // Handle identifiers and numbers.
- if (isIdentifierStart(peek))
- return this.scanIdentifier();
- if (isDigit(peek))
- return this.scanNumber(index);
- var start = index;
- switch (peek) {
- case $PERIOD:
- this.advance();
- return isDigit(this.peek) ? this.scanNumber(start) :
- newCharacterToken(start, $PERIOD);
- case $LPAREN:
- case $RPAREN:
- case $LBRACE:
- case $RBRACE:
- case $LBRACKET:
- case $RBRACKET:
- case $COMMA:
- case $COLON:
- case $SEMICOLON:
- return this.scanCharacter(start, peek);
- case $SQ:
- case $DQ:
- return this.scanString();
- case $HASH:
- case $PLUS:
- case $MINUS:
- case $STAR:
- case $SLASH:
- case $PERCENT:
- case $CARET:
- return this.scanOperator(start, String.fromCharCode(peek));
- case $QUESTION:
- return this.scanComplexOperator(start, '?', $PERIOD, '.');
- case $LT:
- case $GT:
- return this.scanComplexOperator(start, String.fromCharCode(peek), $EQ, '=');
- case $BANG:
- case $EQ:
- return this.scanComplexOperator(start, String.fromCharCode(peek), $EQ, '=', $EQ, '=');
- case $AMPERSAND:
- return this.scanComplexOperator(start, '&', $AMPERSAND, '&');
- case $BAR:
- return this.scanComplexOperator(start, '|', $BAR, '|');
- case $NBSP:
- while (isWhitespace(this.peek))
- this.advance();
- return this.scanToken();
- }
- this.advance();
- return this.error("Unexpected character [" + String.fromCharCode(peek) + "]", 0);
- };
- _Scanner.prototype.scanCharacter = function (start, code) {
- this.advance();
- return newCharacterToken(start, code);
- };
- _Scanner.prototype.scanOperator = function (start, str) {
- this.advance();
- return newOperatorToken(start, str);
- };
- /**
- * Tokenize a 2/3 char long operator
- *
- * @param start start index in the expression
- * @param one first symbol (always part of the operator)
- * @param twoCode code point for the second symbol
- * @param two second symbol (part of the operator when the second code point matches)
- * @param threeCode code point for the third symbol
- * @param three third symbol (part of the operator when provided and matches source expression)
- * @returns {Token}
- */
- _Scanner.prototype.scanComplexOperator = function (start, one, twoCode, two, threeCode, three) {
- this.advance();
- var str = one;
- if (this.peek == twoCode) {
- this.advance();
- str += two;
- }
- if (isPresent(threeCode) && this.peek == threeCode) {
- this.advance();
- str += three;
- }
- return newOperatorToken(start, str);
- };
- _Scanner.prototype.scanIdentifier = function () {
- var start = this.index;
- this.advance();
- while (isIdentifierPart(this.peek))
- this.advance();
- var str = this.input.substring(start, this.index);
- return KEYWORDS.indexOf(str) > -1 ? newKeywordToken(start, str) :
- newIdentifierToken(start, str);
- };
- _Scanner.prototype.scanNumber = function (start) {
- var simple = (this.index === start);
- this.advance(); // Skip initial digit.
- while (true) {
- if (isDigit(this.peek)) {
- }
- else if (this.peek == $PERIOD) {
- simple = false;
- }
- else if (isExponentStart(this.peek)) {
- this.advance();
- if (isExponentSign(this.peek))
- this.advance();
- if (!isDigit(this.peek))
- return this.error('Invalid exponent', -1);
- simple = false;
- }
- else {
- break;
- }
- this.advance();
- }
- var str = this.input.substring(start, this.index);
- var value = simple ? NumberWrapper.parseIntAutoRadix(str) : parseFloat(str);
- return newNumberToken(start, value);
- };
- _Scanner.prototype.scanString = function () {
- var start = this.index;
- var quote = this.peek;
- this.advance(); // Skip initial quote.
- var buffer;
- var marker = this.index;
- var input = this.input;
- while (this.peek != quote) {
- if (this.peek == $BACKSLASH) {
- if (buffer == null)
- buffer = new StringJoiner();
- buffer.add(input.substring(marker, this.index));
- this.advance();
- var unescapedCode;
- if (this.peek == $u) {
- // 4 character hex code for unicode character.
- var hex = input.substring(this.index + 1, this.index + 5);
- try {
- unescapedCode = NumberWrapper.parseInt(hex, 16);
- }
- catch (e) {
- return this.error("Invalid unicode escape [\\u" + hex + "]", 0);
- }
- for (var i = 0; i < 5; i++) {
- this.advance();
- }
- }
- else {
- unescapedCode = unescape(this.peek);
- this.advance();
- }
- buffer.add(String.fromCharCode(unescapedCode));
- marker = this.index;
- }
- else if (this.peek == $EOF) {
- return this.error('Unterminated quote', 0);
- }
- else {
- this.advance();
- }
- }
- var last = input.substring(marker, this.index);
- this.advance(); // Skip terminating quote.
- // Compute the unescaped string value.
- var unescaped = last;
- if (buffer != null) {
- buffer.add(last);
- unescaped = buffer.toString();
- }
- return newStringToken(start, unescaped);
- };
- _Scanner.prototype.error = function (message, offset) {
- var position = this.index + offset;
- return newErrorToken(position, "Lexer Error: " + message + " at column " + position + " in expression [" + this.input + "]");
- };
- return _Scanner;
- }());
- function isIdentifierStart(code) {
- return ($a <= code && code <= $z) || ($A <= code && code <= $Z) ||
- (code == $_) || (code == $$);
- }
- function isIdentifier(input) {
- if (input.length == 0)
- return false;
- var scanner = new _Scanner(input);
- if (!isIdentifierStart(scanner.peek))
- return false;
- scanner.advance();
- while (scanner.peek !== $EOF) {
- if (!isIdentifierPart(scanner.peek))
- return false;
- scanner.advance();
- }
- return true;
- }
- function isIdentifierPart(code) {
- return isAsciiLetter(code) || isDigit(code) || (code == $_) ||
- (code == $$);
- }
- function isExponentStart(code) {
- return code == $e || code == $E;
- }
- function isExponentSign(code) {
- return code == $MINUS || code == $PLUS;
- }
- function isQuote(code) {
- return code === $SQ || code === $DQ || code === $BT;
- }
- function unescape(code) {
- switch (code) {
- case $n:
- return $LF;
- case $f:
- return $FF;
- case $r:
- return $CR;
- case $t:
- return $TAB;
- case $v:
- return $VTAB;
- default:
- return code;
- }
- }
-
- var SplitInterpolation = (function () {
- function SplitInterpolation(strings, expressions, offsets) {
- this.strings = strings;
- this.expressions = expressions;
- this.offsets = offsets;
- }
- return SplitInterpolation;
- }());
- var TemplateBindingParseResult = (function () {
- function TemplateBindingParseResult(templateBindings, warnings, errors) {
- this.templateBindings = templateBindings;
- this.warnings = warnings;
- this.errors = errors;
- }
- return TemplateBindingParseResult;
- }());
- function _createInterpolateRegExp(config) {
- var pattern = escapeRegExp(config.start) + '([\\s\\S]*?)' + escapeRegExp(config.end);
- return new RegExp(pattern, 'g');
- }
- var Parser = (function () {
- function Parser(_lexer) {
- this._lexer = _lexer;
- this.errors = [];
- }
- Parser.prototype.parseAction = function (input, location, interpolationConfig) {
- if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }
- this._checkNoInterpolation(input, location, interpolationConfig);
- var sourceToLex = this._stripComments(input);
- var tokens = this._lexer.tokenize(this._stripComments(input));
- var ast = new _ParseAST(input, location, tokens, sourceToLex.length, true, this.errors, input.length - sourceToLex.length)
- .parseChain();
- return new ASTWithSource(ast, input, location, this.errors);
- };
- Parser.prototype.parseBinding = function (input, location, interpolationConfig) {
- if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }
- var ast = this._parseBindingAst(input, location, interpolationConfig);
- return new ASTWithSource(ast, input, location, this.errors);
- };
- Parser.prototype.parseSimpleBinding = function (input, location, interpolationConfig) {
- if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }
- var ast = this._parseBindingAst(input, location, interpolationConfig);
- if (!SimpleExpressionChecker.check(ast)) {
- this._reportError('Host binding expression can only contain field access and constants', input, location);
- }
- return new ASTWithSource(ast, input, location, this.errors);
- };
- Parser.prototype._reportError = function (message, input, errLocation, ctxLocation) {
- this.errors.push(new ParserError(message, input, errLocation, ctxLocation));
- };
- Parser.prototype._parseBindingAst = function (input, location, interpolationConfig) {
- // Quotes expressions use 3rd-party expression language. We don't want to use
- // our lexer or parser for that, so we check for that ahead of time.
- var quote = this._parseQuote(input, location);
- if (isPresent(quote)) {
- return quote;
- }
- this._checkNoInterpolation(input, location, interpolationConfig);
- var sourceToLex = this._stripComments(input);
- var tokens = this._lexer.tokenize(sourceToLex);
- return new _ParseAST(input, location, tokens, sourceToLex.length, false, this.errors, input.length - sourceToLex.length)
- .parseChain();
- };
- Parser.prototype._parseQuote = function (input, location) {
- if (isBlank(input))
- return null;
- var prefixSeparatorIndex = input.indexOf(':');
- if (prefixSeparatorIndex == -1)
- return null;
- var prefix = input.substring(0, prefixSeparatorIndex).trim();
- if (!isIdentifier(prefix))
- return null;
- var uninterpretedExpression = input.substring(prefixSeparatorIndex + 1);
- return new Quote(new ParseSpan(0, input.length), prefix, uninterpretedExpression, location);
- };
- Parser.prototype.parseTemplateBindings = function (input, location) {
- var tokens = this._lexer.tokenize(input);
- return new _ParseAST(input, location, tokens, input.length, false, this.errors, 0)
- .parseTemplateBindings();
- };
- Parser.prototype.parseInterpolation = function (input, location, interpolationConfig) {
- if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }
- var split = this.splitInterpolation(input, location, interpolationConfig);
- if (split == null)
- return null;
- var expressions = [];
- for (var i = 0; i < split.expressions.length; ++i) {
- var expressionText = split.expressions[i];
- var sourceToLex = this._stripComments(expressionText);
- var tokens = this._lexer.tokenize(this._stripComments(split.expressions[i]));
- var ast = new _ParseAST(input, location, tokens, sourceToLex.length, false, this.errors, split.offsets[i] + (expressionText.length - sourceToLex.length))
- .parseChain();
- expressions.push(ast);
- }
- return new ASTWithSource(new Interpolation(new ParseSpan(0, isBlank(input) ? 0 : input.length), split.strings, expressions), input, location, this.errors);
- };
- Parser.prototype.splitInterpolation = function (input, location, interpolationConfig) {
- if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }
- var regexp = _createInterpolateRegExp(interpolationConfig);
- var parts = input.split(regexp);
- if (parts.length <= 1) {
- return null;
- }
- var strings = [];
- var expressions = [];
- var offsets = [];
- var offset = 0;
- for (var i = 0; i < parts.length; i++) {
- var part = parts[i];
- if (i % 2 === 0) {
- // fixed string
- strings.push(part);
- offset += part.length;
- }
- else if (part.trim().length > 0) {
- offset += interpolationConfig.start.length;
- expressions.push(part);
- offsets.push(offset);
- offset += part.length + interpolationConfig.end.length;
- }
- else {
- this._reportError('Blank expressions are not allowed in interpolated strings', input, "at column " + this._findInterpolationErrorColumn(parts, i, interpolationConfig) + " in", location);
- }
- }
- return new SplitInterpolation(strings, expressions, offsets);
- };
- Parser.prototype.wrapLiteralPrimitive = function (input, location) {
- return new ASTWithSource(new LiteralPrimitive(new ParseSpan(0, isBlank(input) ? 0 : input.length), input), input, location, this.errors);
- };
- Parser.prototype._stripComments = function (input) {
- var i = this._commentStart(input);
- return isPresent(i) ? input.substring(0, i).trim() : input;
- };
- Parser.prototype._commentStart = function (input) {
- var outerQuote = null;
- for (var i = 0; i < input.length - 1; i++) {
- var char = input.charCodeAt(i);
- var nextChar = input.charCodeAt(i + 1);
- if (char === $SLASH && nextChar == $SLASH && isBlank(outerQuote))
- return i;
- if (outerQuote === char) {
- outerQuote = null;
- }
- else if (isBlank(outerQuote) && isQuote(char)) {
- outerQuote = char;
- }
- }
- return null;
- };
- Parser.prototype._checkNoInterpolation = function (input, location, interpolationConfig) {
- var regexp = _createInterpolateRegExp(interpolationConfig);
- var parts = input.split(regexp);
- if (parts.length > 1) {
- this._reportError("Got interpolation (" + interpolationConfig.start + interpolationConfig.end + ") where expression was expected", input, "at column " + this._findInterpolationErrorColumn(parts, 1, interpolationConfig) + " in", location);
- }
- };
- Parser.prototype._findInterpolationErrorColumn = function (parts, partInErrIdx, interpolationConfig) {
- var errLocation = '';
- for (var j = 0; j < partInErrIdx; j++) {
- errLocation += j % 2 === 0 ?
- parts[j] :
- "" + interpolationConfig.start + parts[j] + interpolationConfig.end;
- }
- return errLocation.length;
- };
- Parser.decorators = [
- { type: _angular_core.Injectable },
- ];
- /** @nocollapse */
- Parser.ctorParameters = [
- { type: Lexer, },
- ];
- return Parser;
- }());
- var _ParseAST = (function () {
- function _ParseAST(input, location, tokens, inputLength, parseAction, errors, offset) {
- this.input = input;
- this.location = location;
- this.tokens = tokens;
- this.inputLength = inputLength;
- this.parseAction = parseAction;
- this.errors = errors;
- this.offset = offset;
- this.rparensExpected = 0;
- this.rbracketsExpected = 0;
- this.rbracesExpected = 0;
- this.index = 0;
- }
- _ParseAST.prototype.peek = function (offset) {
- var i = this.index + offset;
- return i < this.tokens.length ? this.tokens[i] : EOF;
- };
- Object.defineProperty(_ParseAST.prototype, "next", {
- get: function () { return this.peek(0); },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(_ParseAST.prototype, "inputIndex", {
- get: function () {
- return (this.index < this.tokens.length) ? this.next.index + this.offset :
- this.inputLength + this.offset;
- },
- enumerable: true,
- configurable: true
- });
- _ParseAST.prototype.span = function (start) { return new ParseSpan(start, this.inputIndex); };
- _ParseAST.prototype.advance = function () { this.index++; };
- _ParseAST.prototype.optionalCharacter = function (code) {
- if (this.next.isCharacter(code)) {
- this.advance();
- return true;
- }
- else {
- return false;
- }
- };
- _ParseAST.prototype.peekKeywordLet = function () { return this.next.isKeywordLet(); };
- _ParseAST.prototype.expectCharacter = function (code) {
- if (this.optionalCharacter(code))
- return;
- this.error("Missing expected " + String.fromCharCode(code));
- };
- _ParseAST.prototype.optionalOperator = function (op) {
- if (this.next.isOperator(op)) {
- this.advance();
- return true;
- }
- else {
- return false;
- }
- };
- _ParseAST.prototype.expectOperator = function (operator) {
- if (this.optionalOperator(operator))
- return;
- this.error("Missing expected operator " + operator);
- };
- _ParseAST.prototype.expectIdentifierOrKeyword = function () {
- var n = this.next;
- if (!n.isIdentifier() && !n.isKeyword()) {
- this.error("Unexpected token " + n + ", expected identifier or keyword");
- return '';
- }
- this.advance();
- return n.toString();
- };
- _ParseAST.prototype.expectIdentifierOrKeywordOrString = function () {
- var n = this.next;
- if (!n.isIdentifier() && !n.isKeyword() && !n.isString()) {
- this.error("Unexpected token " + n + ", expected identifier, keyword, or string");
- return '';
- }
- this.advance();
- return n.toString();
- };
- _ParseAST.prototype.parseChain = function () {
- var exprs = [];
- var start = this.inputIndex;
- while (this.index < this.tokens.length) {
- var expr = this.parsePipe();
- exprs.push(expr);
- if (this.optionalCharacter($SEMICOLON)) {
- if (!this.parseAction) {
- this.error('Binding expression cannot contain chained expression');
- }
- while (this.optionalCharacter($SEMICOLON)) {
- } // read all semicolons
- }
- else if (this.index < this.tokens.length) {
- this.error("Unexpected token '" + this.next + "'");
- }
- }
- if (exprs.length == 0)
- return new EmptyExpr(this.span(start));
- if (exprs.length == 1)
- return exprs[0];
- return new Chain(this.span(start), exprs);
- };
- _ParseAST.prototype.parsePipe = function () {
- var result = this.parseExpression();
- if (this.optionalOperator('|')) {
- if (this.parseAction) {
- this.error('Cannot have a pipe in an action expression');
- }
- do {
- var name = this.expectIdentifierOrKeyword();
- var args = [];
- while (this.optionalCharacter($COLON)) {
- args.push(this.parseExpression());
- }
- result = new BindingPipe(this.span(result.span.start - this.offset), result, name, args);
- } while (this.optionalOperator('|'));
- }
- return result;
- };
- _ParseAST.prototype.parseExpression = function () { return this.parseConditional(); };
- _ParseAST.prototype.parseConditional = function () {
- var start = this.inputIndex;
- var result = this.parseLogicalOr();
- if (this.optionalOperator('?')) {
- var yes = this.parsePipe();
- var no = void 0;
- if (!this.optionalCharacter($COLON)) {
- var end = this.inputIndex;
- var expression = this.input.substring(start, end);
- this.error("Conditional expression " + expression + " requires all 3 expressions");
- no = new EmptyExpr(this.span(start));
- }
- else {
- no = this.parsePipe();
- }
- return new Conditional(this.span(start), result, yes, no);
- }
- else {
- return result;
- }
- };
- _ParseAST.prototype.parseLogicalOr = function () {
- // '||'
- var result = this.parseLogicalAnd();
- while (this.optionalOperator('||')) {
- var right = this.parseLogicalAnd();
- result = new Binary(this.span(result.span.start), '||', result, right);
- }
- return result;
- };
- _ParseAST.prototype.parseLogicalAnd = function () {
- // '&&'
- var result = this.parseEquality();
- while (this.optionalOperator('&&')) {
- var right = this.parseEquality();
- result = new Binary(this.span(result.span.start), '&&', result, right);
- }
- return result;
- };
- _ParseAST.prototype.parseEquality = function () {
- // '==','!=','===','!=='
- var result = this.parseRelational();
- while (this.next.type == TokenType.Operator) {
- var operator = this.next.strValue;
- switch (operator) {
- case '==':
- case '===':
- case '!=':
- case '!==':
- this.advance();
- var right = this.parseRelational();
- result = new Binary(this.span(result.span.start), operator, result, right);
- continue;
- }
- break;
- }
- return result;
- };
- _ParseAST.prototype.parseRelational = function () {
- // '<', '>', '<=', '>='
- var result = this.parseAdditive();
- while (this.next.type == TokenType.Operator) {
- var operator = this.next.strValue;
- switch (operator) {
- case '<':
- case '>':
- case '<=':
- case '>=':
- this.advance();
- var right = this.parseAdditive();
- result = new Binary(this.span(result.span.start), operator, result, right);
- continue;
- }
- break;
- }
- return result;
- };
- _ParseAST.prototype.parseAdditive = function () {
- // '+', '-'
- var result = this.parseMultiplicative();
- while (this.next.type == TokenType.Operator) {
- var operator = this.next.strValue;
- switch (operator) {
- case '+':
- case '-':
- this.advance();
- var right = this.parseMultiplicative();
- result = new Binary(this.span(result.span.start), operator, result, right);
- continue;
- }
- break;
- }
- return result;
- };
- _ParseAST.prototype.parseMultiplicative = function () {
- // '*', '%', '/'
- var result = this.parsePrefix();
- while (this.next.type == TokenType.Operator) {
- var operator = this.next.strValue;
- switch (operator) {
- case '*':
- case '%':
- case '/':
- this.advance();
- var right = this.parsePrefix();
- result = new Binary(this.span(result.span.start), operator, result, right);
- continue;
- }
- break;
- }
- return result;
- };
- _ParseAST.prototype.parsePrefix = function () {
- if (this.next.type == TokenType.Operator) {
- var start = this.inputIndex;
- var operator = this.next.strValue;
- var result = void 0;
- switch (operator) {
- case '+':
- this.advance();
- return this.parsePrefix();
- case '-':
- this.advance();
- result = this.parsePrefix();
- return new Binary(this.span(start), operator, new LiteralPrimitive(new ParseSpan(start, start), 0), result);
- case '!':
- this.advance();
- result = this.parsePrefix();
- return new PrefixNot(this.span(start), result);
- }
- }
- return this.parseCallChain();
- };
- _ParseAST.prototype.parseCallChain = function () {
- var result = this.parsePrimary();
- while (true) {
- if (this.optionalCharacter($PERIOD)) {
- result = this.parseAccessMemberOrMethodCall(result, false);
- }
- else if (this.optionalOperator('?.')) {
- result = this.parseAccessMemberOrMethodCall(result, true);
- }
- else if (this.optionalCharacter($LBRACKET)) {
- this.rbracketsExpected++;
- var key = this.parsePipe();
- this.rbracketsExpected--;
- this.expectCharacter($RBRACKET);
- if (this.optionalOperator('=')) {
- var value = this.parseConditional();
- result = new KeyedWrite(this.span(result.span.start), result, key, value);
- }
- else {
- result = new KeyedRead(this.span(result.span.start), result, key);
- }
- }
- else if (this.optionalCharacter($LPAREN)) {
- this.rparensExpected++;
- var args = this.parseCallArguments();
- this.rparensExpected--;
- this.expectCharacter($RPAREN);
- result = new FunctionCall(this.span(result.span.start), result, args);
- }
- else {
- return result;
- }
- }
- };
- _ParseAST.prototype.parsePrimary = function () {
- var start = this.inputIndex;
- if (this.optionalCharacter($LPAREN)) {
- this.rparensExpected++;
- var result = this.parsePipe();
- this.rparensExpected--;
- this.expectCharacter($RPAREN);
- return result;
- }
- else if (this.next.isKeywordNull()) {
- this.advance();
- return new LiteralPrimitive(this.span(start), null);
- }
- else if (this.next.isKeywordUndefined()) {
- this.advance();
- return new LiteralPrimitive(this.span(start), void 0);
- }
- else if (this.next.isKeywordTrue()) {
- this.advance();
- return new LiteralPrimitive(this.span(start), true);
- }
- else if (this.next.isKeywordFalse()) {
- this.advance();
- return new LiteralPrimitive(this.span(start), false);
- }
- else if (this.next.isKeywordThis()) {
- this.advance();
- return new ImplicitReceiver(this.span(start));
- }
- else if (this.optionalCharacter($LBRACKET)) {
- this.rbracketsExpected++;
- var elements = this.parseExpressionList($RBRACKET);
- this.rbracketsExpected--;
- this.expectCharacter($RBRACKET);
- return new LiteralArray(this.span(start), elements);
- }
- else if (this.next.isCharacter($LBRACE)) {
- return this.parseLiteralMap();
- }
- else if (this.next.isIdentifier()) {
- return this.parseAccessMemberOrMethodCall(new ImplicitReceiver(this.span(start)), false);
- }
- else if (this.next.isNumber()) {
- var value = this.next.toNumber();
- this.advance();
- return new LiteralPrimitive(this.span(start), value);
- }
- else if (this.next.isString()) {
- var literalValue = this.next.toString();
- this.advance();
- return new LiteralPrimitive(this.span(start), literalValue);
- }
- else if (this.index >= this.tokens.length) {
- this.error("Unexpected end of expression: " + this.input);
- return new EmptyExpr(this.span(start));
- }
- else {
- this.error("Unexpected token " + this.next);
- return new EmptyExpr(this.span(start));
- }
- };
- _ParseAST.prototype.parseExpressionList = function (terminator) {
- var result = [];
- if (!this.next.isCharacter(terminator)) {
- do {
- result.push(this.parsePipe());
- } while (this.optionalCharacter($COMMA));
- }
- return result;
- };
- _ParseAST.prototype.parseLiteralMap = function () {
- var keys = [];
- var values = [];
- var start = this.inputIndex;
- this.expectCharacter($LBRACE);
- if (!this.optionalCharacter($RBRACE)) {
- this.rbracesExpected++;
- do {
- var key = this.expectIdentifierOrKeywordOrString();
- keys.push(key);
- this.expectCharacter($COLON);
- values.push(this.parsePipe());
- } while (this.optionalCharacter($COMMA));
- this.rbracesExpected--;
- this.expectCharacter($RBRACE);
- }
- return new LiteralMap(this.span(start), keys, values);
- };
- _ParseAST.prototype.parseAccessMemberOrMethodCall = function (receiver, isSafe) {
- if (isSafe === void 0) { isSafe = false; }
- var start = receiver.span.start;
- var id = this.expectIdentifierOrKeyword();
- if (this.optionalCharacter($LPAREN)) {
- this.rparensExpected++;
- var args = this.parseCallArguments();
- this.expectCharacter($RPAREN);
- this.rparensExpected--;
- var span = this.span(start);
- return isSafe ? new SafeMethodCall(span, receiver, id, args) :
- new MethodCall(span, receiver, id, args);
- }
- else {
- if (isSafe) {
- if (this.optionalOperator('=')) {
- this.error('The \'?.\' operator cannot be used in the assignment');
- return new EmptyExpr(this.span(start));
- }
- else {
- return new SafePropertyRead(this.span(start), receiver, id);
- }
- }
- else {
- if (this.optionalOperator('=')) {
- if (!this.parseAction) {
- this.error('Bindings cannot contain assignments');
- return new EmptyExpr(this.span(start));
- }
- var value = this.parseConditional();
- return new PropertyWrite(this.span(start), receiver, id, value);
- }
- else {
- return new PropertyRead(this.span(start), receiver, id);
- }
- }
- }
- };
- _ParseAST.prototype.parseCallArguments = function () {
- if (this.next.isCharacter($RPAREN))
- return [];
- var positionals = [];
- do {
- positionals.push(this.parsePipe());
- } while (this.optionalCharacter($COMMA));
- return positionals;
- };
- /**
- * An identifier, a keyword, a string with an optional `-` inbetween.
- */
- _ParseAST.prototype.expectTemplateBindingKey = function () {
- var result = '';
- var operatorFound = false;
- do {
- result += this.expectIdentifierOrKeywordOrString();
- operatorFound = this.optionalOperator('-');
- if (operatorFound) {
- result += '-';
- }
- } while (operatorFound);
- return result.toString();
- };
- _ParseAST.prototype.parseTemplateBindings = function () {
- var bindings = [];
- var prefix = null;
- var warnings = [];
- while (this.index < this.tokens.length) {
- var keyIsVar = this.peekKeywordLet();
- if (keyIsVar) {
- this.advance();
- }
- var key = this.expectTemplateBindingKey();
- if (!keyIsVar) {
- if (prefix == null) {
- prefix = key;
- }
- else {
- key = prefix + key[0].toUpperCase() + key.substring(1);
- }
- }
- this.optionalCharacter($COLON);
- var name = null;
- var expression = null;
- if (keyIsVar) {
- if (this.optionalOperator('=')) {
- name = this.expectTemplateBindingKey();
- }
- else {
- name = '\$implicit';
- }
- }
- else if (this.next !== EOF && !this.peekKeywordLet()) {
- var start = this.inputIndex;
- var ast = this.parsePipe();
- var source = this.input.substring(start, this.inputIndex);
- expression = new ASTWithSource(ast, source, this.location, this.errors);
- }
- bindings.push(new TemplateBinding(key, keyIsVar, name, expression));
- if (!this.optionalCharacter($SEMICOLON)) {
- this.optionalCharacter($COMMA);
- }
- }
- return new TemplateBindingParseResult(bindings, warnings, this.errors);
- };
- _ParseAST.prototype.error = function (message, index) {
- if (index === void 0) { index = null; }
- this.errors.push(new ParserError(message, this.input, this.locationText(index), this.location));
- this.skip();
- };
- _ParseAST.prototype.locationText = function (index) {
- if (index === void 0) { index = null; }
- if (isBlank(index))
- index = this.index;
- return (index < this.tokens.length) ? "at column " + (this.tokens[index].index + 1) + " in" :
- "at the end of the expression";
- };
- // Error recovery should skip tokens until it encounters a recovery point. skip() treats
- // the end of input and a ';' as unconditionally a recovery point. It also treats ')',
- // '}' and ']' as conditional recovery points if one of calling productions is expecting
- // one of these symbols. This allows skip() to recover from errors such as '(a.) + 1' allowing
- // more of the AST to be retained (it doesn't skip any tokens as the ')' is retained because
- // of the '(' begins an '(' ')' production). The recovery points of grouping symbols
- // must be conditional as they must be skipped if none of the calling productions are not
- // expecting the closing token else we will never make progress in the case of an
- // extraneous group closing symbol (such as a stray ')'). This is not the case for ';' because
- // parseChain() is always the root production and it expects a ';'.
- // If a production expects one of these token it increments the corresponding nesting count,
- // and then decrements it just prior to checking if the token is in the input.
- _ParseAST.prototype.skip = function () {
- var n = this.next;
- while (this.index < this.tokens.length && !n.isCharacter($SEMICOLON) &&
- (this.rparensExpected <= 0 || !n.isCharacter($RPAREN)) &&
- (this.rbracesExpected <= 0 || !n.isCharacter($RBRACE)) &&
- (this.rbracketsExpected <= 0 || !n.isCharacter($RBRACKET))) {
- if (this.next.isError()) {
- this.errors.push(new ParserError(this.next.toString(), this.input, this.locationText(), this.location));
- }
- this.advance();
- n = this.next;
- }
- };
- return _ParseAST;
- }());
- var SimpleExpressionChecker = (function () {
- function SimpleExpressionChecker() {
- this.simple = true;
- }
- SimpleExpressionChecker.check = function (ast) {
- var s = new SimpleExpressionChecker();
- ast.visit(s);
- return s.simple;
- };
- SimpleExpressionChecker.prototype.visitImplicitReceiver = function (ast, context) { };
- SimpleExpressionChecker.prototype.visitInterpolation = function (ast, context) { this.simple = false; };
- SimpleExpressionChecker.prototype.visitLiteralPrimitive = function (ast, context) { };
- SimpleExpressionChecker.prototype.visitPropertyRead = function (ast, context) { };
- SimpleExpressionChecker.prototype.visitPropertyWrite = function (ast, context) { this.simple = false; };
- SimpleExpressionChecker.prototype.visitSafePropertyRead = function (ast, context) { this.simple = false; };
- SimpleExpressionChecker.prototype.visitMethodCall = function (ast, context) { this.simple = false; };
- SimpleExpressionChecker.prototype.visitSafeMethodCall = function (ast, context) { this.simple = false; };
- SimpleExpressionChecker.prototype.visitFunctionCall = function (ast, context) { this.simple = false; };
- SimpleExpressionChecker.prototype.visitLiteralArray = function (ast, context) { this.visitAll(ast.expressions); };
- SimpleExpressionChecker.prototype.visitLiteralMap = function (ast, context) { this.visitAll(ast.values); };
- SimpleExpressionChecker.prototype.visitBinary = function (ast, context) { this.simple = false; };
- SimpleExpressionChecker.prototype.visitPrefixNot = function (ast, context) { this.simple = false; };
- SimpleExpressionChecker.prototype.visitConditional = function (ast, context) { this.simple = false; };
- SimpleExpressionChecker.prototype.visitPipe = function (ast, context) { this.simple = false; };
- SimpleExpressionChecker.prototype.visitKeyedRead = function (ast, context) { this.simple = false; };
- SimpleExpressionChecker.prototype.visitKeyedWrite = function (ast, context) { this.simple = false; };
- SimpleExpressionChecker.prototype.visitAll = function (asts) {
- var _this = this;
- return asts.map(function (node) { return node.visit(_this); });
- };
- SimpleExpressionChecker.prototype.visitChain = function (ast, context) { this.simple = false; };
- SimpleExpressionChecker.prototype.visitQuote = function (ast, context) { this.simple = false; };
- return SimpleExpressionChecker;
- }());
-
- var ParseLocation = (function () {
- function ParseLocation(file, offset, line, col) {
- this.file = file;
- this.offset = offset;
- this.line = line;
- this.col = col;
- }
- ParseLocation.prototype.toString = function () {
- return isPresent(this.offset) ? this.file.url + "@" + this.line + ":" + this.col : this.file.url;
- };
- return ParseLocation;
- }());
- var ParseSourceFile = (function () {
- function ParseSourceFile(content, url) {
- this.content = content;
- this.url = url;
- }
- return ParseSourceFile;
- }());
- var ParseSourceSpan = (function () {
- function ParseSourceSpan(start, end, details) {
- if (details === void 0) { details = null; }
- this.start = start;
- this.end = end;
- this.details = details;
- }
- ParseSourceSpan.prototype.toString = function () {
- return this.start.file.content.substring(this.start.offset, this.end.offset);
- };
- return ParseSourceSpan;
- }());
- var ParseErrorLevel;
- (function (ParseErrorLevel) {
- ParseErrorLevel[ParseErrorLevel["WARNING"] = 0] = "WARNING";
- ParseErrorLevel[ParseErrorLevel["FATAL"] = 1] = "FATAL";
- })(ParseErrorLevel || (ParseErrorLevel = {}));
- var ParseError = (function () {
- function ParseError(span, msg, level) {
- if (level === void 0) { level = ParseErrorLevel.FATAL; }
- this.span = span;
- this.msg = msg;
- this.level = level;
- }
- ParseError.prototype.toString = function () {
- var source = this.span.start.file.content;
- var ctxStart = this.span.start.offset;
- var contextStr = '';
- var details = '';
- if (isPresent(ctxStart)) {
- if (ctxStart > source.length - 1) {
- ctxStart = source.length - 1;
- }
- var ctxEnd = ctxStart;
- var ctxLen = 0;
- var ctxLines = 0;
- while (ctxLen < 100 && ctxStart > 0) {
- ctxStart--;
- ctxLen++;
- if (source[ctxStart] == '\n') {
- if (++ctxLines == 3) {
- break;
- }
- }
- }
- ctxLen = 0;
- ctxLines = 0;
- while (ctxLen < 100 && ctxEnd < source.length - 1) {
- ctxEnd++;
- ctxLen++;
- if (source[ctxEnd] == '\n') {
- if (++ctxLines == 3) {
- break;
- }
- }
- }
- var context = source.substring(ctxStart, this.span.start.offset) + '[ERROR ->]' +
- source.substring(this.span.start.offset, ctxEnd + 1);
- contextStr = " (\"" + context + "\")";
- }
- if (this.span.details) {
- details = ", " + this.span.details;
- }
- return "" + this.msg + contextStr + ": " + this.span.start + details;
- };
- return ParseError;
- }());
-
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
- var Text = (function () {
- function Text(value, sourceSpan) {
- this.value = value;
- this.sourceSpan = sourceSpan;
- }
- Text.prototype.visit = function (visitor, context) { return visitor.visitText(this, context); };
- return Text;
- }());
- var Expansion = (function () {
- function Expansion(switchValue, type, cases, sourceSpan, switchValueSourceSpan) {
- this.switchValue = switchValue;
- this.type = type;
- this.cases = cases;
- this.sourceSpan = sourceSpan;
- this.switchValueSourceSpan = switchValueSourceSpan;
- }
- Expansion.prototype.visit = function (visitor, context) { return visitor.visitExpansion(this, context); };
- return Expansion;
- }());
- var ExpansionCase = (function () {
- function ExpansionCase(value, expression, sourceSpan, valueSourceSpan, expSourceSpan) {
- this.value = value;
- this.expression = expression;
- this.sourceSpan = sourceSpan;
- this.valueSourceSpan = valueSourceSpan;
- this.expSourceSpan = expSourceSpan;
- }
- ExpansionCase.prototype.visit = function (visitor, context) { return visitor.visitExpansionCase(this, context); };
- return ExpansionCase;
- }());
- var Attribute$1 = (function () {
- function Attribute(name, value, sourceSpan, valueSpan) {
- this.name = name;
- this.value = value;
- this.sourceSpan = sourceSpan;
- this.valueSpan = valueSpan;
- }
- Attribute.prototype.visit = function (visitor, context) { return visitor.visitAttribute(this, context); };
- return Attribute;
- }());
- var Element = (function () {
- function Element(name, attrs, children, sourceSpan, startSourceSpan, endSourceSpan) {
- this.name = name;
- this.attrs = attrs;
- this.children = children;
- this.sourceSpan = sourceSpan;
- this.startSourceSpan = startSourceSpan;
- this.endSourceSpan = endSourceSpan;
- }
- Element.prototype.visit = function (visitor, context) { return visitor.visitElement(this, context); };
- return Element;
- }());
- var Comment = (function () {
- function Comment(value, sourceSpan) {
- this.value = value;
- this.sourceSpan = sourceSpan;
- }
- Comment.prototype.visit = function (visitor, context) { return visitor.visitComment(this, context); };
- return Comment;
- }());
- function visitAll(visitor, nodes, context) {
- if (context === void 0) { context = null; }
- var result = [];
- var visit = visitor.visit ?
- function (ast) { return visitor.visit(ast, context) || ast.visit(visitor, context); } :
- function (ast) { return ast.visit(visitor, context); };
- nodes.forEach(function (ast) {
- var astResult = visit(ast);
- if (astResult) {
- result.push(astResult);
- }
- });
- return result;
- }
-
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
- var __extends$5 = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
var TokenType$1;
(function (TokenType) {
TokenType[TokenType["TAG_OPEN_START"] = 0] = "TAG_OPEN_START";
@@ -14081,7 +11901,7 @@
return Token;
}());
var TokenError = (function (_super) {
- __extends$5(TokenError, _super);
+ __extends$3(TokenError, _super);
function TokenError(errorMsg, tokenType, span) {
_super.call(this, span, errorMsg);
this.tokenType = tokenType;
@@ -14700,13 +12520,13 @@
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
- var __extends$4 = (this && this.__extends) || function (d, b) {
+ var __extends$2 = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var TreeError = (function (_super) {
- __extends$4(TreeError, _super);
+ __extends$2(TreeError, _super);
function TreeError(elementName, span, msg) {
_super.call(this, span, msg);
this.elementName = elementName;
@@ -14896,7 +12716,7 @@
};
_TreeBuilder.prototype._closeVoidElement = function () {
if (this._elementStack.length > 0) {
- var el = ListWrapper.last(this._elementStack);
+ var el = this._elementStack[this._elementStack.length - 1];
if (this.getTagDefinition(el.name).isVoid) {
this._elementStack.pop();
}
@@ -14936,7 +12756,7 @@
};
_TreeBuilder.prototype._pushElement = function (el) {
if (this._elementStack.length > 0) {
- var parentEl = ListWrapper.last(this._elementStack);
+ var parentEl = this._elementStack[this._elementStack.length - 1];
if (this.getTagDefinition(parentEl.name).isClosedByChild(el.name)) {
this._elementStack.pop();
}
@@ -14966,7 +12786,7 @@
for (var stackIndex = this._elementStack.length - 1; stackIndex >= 0; stackIndex--) {
var el = this._elementStack[stackIndex];
if (el.name == fullName) {
- ListWrapper.splice(this._elementStack, stackIndex, this._elementStack.length - stackIndex);
+ this._elementStack.splice(stackIndex, this._elementStack.length - stackIndex);
return true;
}
if (!this.getTagDefinition(el.name).closedByParent) {
@@ -14989,7 +12809,7 @@
return new Attribute$1(fullName, value, new ParseSourceSpan(attrName.sourceSpan.start, end), valueSpan);
};
_TreeBuilder.prototype._getParentElement = function () {
- return this._elementStack.length > 0 ? ListWrapper.last(this._elementStack) : null;
+ return this._elementStack.length > 0 ? this._elementStack[this._elementStack.length - 1] : null;
};
/**
* Returns the parent in the DOM and the container.
@@ -15004,7 +12824,7 @@
}
container = this._elementStack[i];
}
- return { parent: ListWrapper.last(this._elementStack), container: container };
+ return { parent: this._elementStack[this._elementStack.length - 1], container: container };
};
_TreeBuilder.prototype._addToParent = function (node) {
var parent = this._getParentElement();
@@ -15300,6 +13120,101 @@
return IcuPlaceholder;
}());
+ var HtmlTagDefinition = (function () {
+ function HtmlTagDefinition(_a) {
+ var _this = this;
+ var _b = _a === void 0 ? {} : _a, closedByChildren = _b.closedByChildren, requiredParents = _b.requiredParents, implicitNamespacePrefix = _b.implicitNamespacePrefix, _c = _b.contentType, contentType = _c === void 0 ? TagContentType.PARSABLE_DATA : _c, _d = _b.closedByParent, closedByParent = _d === void 0 ? false : _d, _e = _b.isVoid, isVoid = _e === void 0 ? false : _e, _f = _b.ignoreFirstLf, ignoreFirstLf = _f === void 0 ? false : _f;
+ this.closedByChildren = {};
+ this.closedByParent = false;
+ this.canSelfClose = false;
+ if (closedByChildren && closedByChildren.length > 0) {
+ closedByChildren.forEach(function (tagName) { return _this.closedByChildren[tagName] = true; });
+ }
+ this.isVoid = isVoid;
+ this.closedByParent = closedByParent || isVoid;
+ if (requiredParents && requiredParents.length > 0) {
+ this.requiredParents = {};
+ // The first parent is the list is automatically when none of the listed parents are present
+ this.parentToAdd = requiredParents[0];
+ requiredParents.forEach(function (tagName) { return _this.requiredParents[tagName] = true; });
+ }
+ this.implicitNamespacePrefix = implicitNamespacePrefix;
+ this.contentType = contentType;
+ this.ignoreFirstLf = ignoreFirstLf;
+ }
+ HtmlTagDefinition.prototype.requireExtraParent = function (currentParent) {
+ if (!this.requiredParents) {
+ return false;
+ }
+ if (!currentParent) {
+ return true;
+ }
+ var lcParent = currentParent.toLowerCase();
+ return this.requiredParents[lcParent] != true && lcParent != 'template';
+ };
+ HtmlTagDefinition.prototype.isClosedByChild = function (name) {
+ return this.isVoid || name.toLowerCase() in this.closedByChildren;
+ };
+ return HtmlTagDefinition;
+ }());
+ // see http://www.w3.org/TR/html51/syntax.html#optional-tags
+ // This implementation does not fully conform to the HTML5 spec.
+ var TAG_DEFINITIONS = {
+ 'base': new HtmlTagDefinition({ isVoid: true }),
+ 'meta': new HtmlTagDefinition({ isVoid: true }),
+ 'area': new HtmlTagDefinition({ isVoid: true }),
+ 'embed': new HtmlTagDefinition({ isVoid: true }),
+ 'link': new HtmlTagDefinition({ isVoid: true }),
+ 'img': new HtmlTagDefinition({ isVoid: true }),
+ 'input': new HtmlTagDefinition({ isVoid: true }),
+ 'param': new HtmlTagDefinition({ isVoid: true }),
+ 'hr': new HtmlTagDefinition({ isVoid: true }),
+ 'br': new HtmlTagDefinition({ isVoid: true }),
+ 'source': new HtmlTagDefinition({ isVoid: true }),
+ 'track': new HtmlTagDefinition({ isVoid: true }),
+ 'wbr': new HtmlTagDefinition({ isVoid: true }),
+ 'p': new HtmlTagDefinition({
+ closedByChildren: [
+ 'address', 'article', 'aside', 'blockquote', 'div', 'dl', 'fieldset', 'footer', 'form',
+ 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hgroup', 'hr',
+ 'main', 'nav', 'ol', 'p', 'pre', 'section', 'table', 'ul'
+ ],
+ closedByParent: true
+ }),
+ 'thead': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'] }),
+ 'tbody': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'], closedByParent: true }),
+ 'tfoot': new HtmlTagDefinition({ closedByChildren: ['tbody'], closedByParent: true }),
+ 'tr': new HtmlTagDefinition({
+ closedByChildren: ['tr'],
+ requiredParents: ['tbody', 'tfoot', 'thead'],
+ closedByParent: true
+ }),
+ 'td': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),
+ 'th': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),
+ 'col': new HtmlTagDefinition({ requiredParents: ['colgroup'], isVoid: true }),
+ 'svg': new HtmlTagDefinition({ implicitNamespacePrefix: 'svg' }),
+ 'math': new HtmlTagDefinition({ implicitNamespacePrefix: 'math' }),
+ 'li': new HtmlTagDefinition({ closedByChildren: ['li'], closedByParent: true }),
+ 'dt': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'] }),
+ 'dd': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'], closedByParent: true }),
+ 'rb': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),
+ 'rt': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),
+ 'rtc': new HtmlTagDefinition({ closedByChildren: ['rb', 'rtc', 'rp'], closedByParent: true }),
+ 'rp': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),
+ 'optgroup': new HtmlTagDefinition({ closedByChildren: ['optgroup'], closedByParent: true }),
+ 'option': new HtmlTagDefinition({ closedByChildren: ['option', 'optgroup'], closedByParent: true }),
+ 'pre': new HtmlTagDefinition({ ignoreFirstLf: true }),
+ 'listing': new HtmlTagDefinition({ ignoreFirstLf: true }),
+ 'style': new HtmlTagDefinition({ contentType: TagContentType.RAW_TEXT }),
+ 'script': new HtmlTagDefinition({ contentType: TagContentType.RAW_TEXT }),
+ 'title': new HtmlTagDefinition({ contentType: TagContentType.ESCAPABLE_RAW_TEXT }),
+ 'textarea': new HtmlTagDefinition({ contentType: TagContentType.ESCAPABLE_RAW_TEXT, ignoreFirstLf: true }),
+ };
+ var _DEFAULT_TAG_DEFINITION = new HtmlTagDefinition();
+ function getHtmlTagDefinition(tagName) {
+ return TAG_DEFINITIONS[tagName.toLowerCase()] || _DEFAULT_TAG_DEFINITION;
+ }
+
/**
* @license
* Copyright Google Inc. All Rights Reserved.
@@ -15523,7 +13438,7 @@
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
- var __extends$6 = (this && this.__extends) || function (d, b) {
+ var __extends$4 = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -15532,7 +13447,7 @@
* An i18n error.
*/
var I18nError = (function (_super) {
- __extends$6(I18nError, _super);
+ __extends$4(I18nError, _super);
function I18nError(span, msg) {
_super.call(this, span, msg);
}
@@ -15990,13 +13905,13 @@
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
- var __extends$7 = (this && this.__extends) || function (d, b) {
+ var __extends$5 = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var XmlParser = (function (_super) {
- __extends$7(XmlParser, _super);
+ __extends$5(XmlParser, _super);
function XmlParser() {
_super.call(this, getXmlTagDefinition);
}
@@ -16040,7 +13955,7 @@
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
- var __extends$8 = (this && this.__extends) || function (d, b) {
+ var __extends$6 = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -16118,7 +14033,7 @@
return Text;
}());
var CR = (function (_super) {
- __extends$8(CR, _super);
+ __extends$6(CR, _super);
function CR(ws) {
if (ws === void 0) { ws = 0; }
_super.call(this, "\n" + new Array(ws + 1).join(' '));
@@ -16244,7 +14159,8 @@
_WriteVisitor.prototype.serialize = function (nodes) {
var _this = this;
this._isInIcu = false;
- return ListWrapper.flatten(nodes.map(function (node) { return node.visit(_this); }));
+ return (_a = []).concat.apply(_a, nodes.map(function (node) { return node.visit(_this); }));
+ var _a;
};
return _WriteVisitor;
}());
@@ -16439,7 +14355,8 @@
};
_Visitor.prototype.serialize = function (nodes) {
var _this = this;
- return ListWrapper.flatten(nodes.map(function (node) { return node.visit(_this); }));
+ return (_a = []).concat.apply(_a, nodes.map(function (node) { return node.visit(_this); }));
+ var _a;
};
return _Visitor;
}());
@@ -16659,42 +14576,1022 @@
return I18NHtmlParser;
}());
+ /**
+ * Wraps Javascript Objects
+ */
+ var StringMapWrapper = (function () {
+ function StringMapWrapper() {
+ }
+ StringMapWrapper.merge = function (m1, m2) {
+ var m = {};
+ for (var _i = 0, _a = Object.keys(m1); _i < _a.length; _i++) {
+ var k = _a[_i];
+ m[k] = m1[k];
+ }
+ for (var _b = 0, _c = Object.keys(m2); _b < _c.length; _b++) {
+ var k = _c[_b];
+ m[k] = m2[k];
+ }
+ return m;
+ };
+ StringMapWrapper.equals = function (m1, m2) {
+ var k1 = Object.keys(m1);
+ var k2 = Object.keys(m2);
+ if (k1.length != k2.length) {
+ return false;
+ }
+ for (var i = 0; i < k1.length; i++) {
+ var key = k1[i];
+ if (m1[key] !== m2[key]) {
+ return false;
+ }
+ }
+ return true;
+ };
+ return StringMapWrapper;
+ }());
+ var ListWrapper = (function () {
+ function ListWrapper() {
+ }
+ ListWrapper.removeAll = function (list, items) {
+ for (var i = 0; i < items.length; ++i) {
+ var index = list.indexOf(items[i]);
+ if (index > -1) {
+ list.splice(index, 1);
+ }
+ }
+ };
+ ListWrapper.remove = function (list, el) {
+ var index = list.indexOf(el);
+ if (index > -1) {
+ list.splice(index, 1);
+ return true;
+ }
+ return false;
+ };
+ ListWrapper.equals = function (a, b) {
+ if (a.length != b.length)
+ return false;
+ for (var i = 0; i < a.length; ++i) {
+ if (a[i] !== b[i])
+ return false;
+ }
+ return true;
+ };
+ ListWrapper.flatten = function (list) {
+ return list.reduce(function (flat, item) {
+ var flatItem = Array.isArray(item) ? ListWrapper.flatten(item) : item;
+ return flat.concat(flatItem);
+ }, []);
+ };
+ return ListWrapper;
+ }());
+
+ var _SELECTOR_REGEXP = new RegExp('(\\:not\\()|' +
+ '([-\\w]+)|' +
+ '(?:\\.([-\\w]+))|' +
+ '(?:\\[([-\\w*]+)(?:=([^\\]]*))?\\])|' +
+ '(\\))|' +
+ '(\\s*,\\s*)', // ","
+ 'g');
+ /**
+ * A css selector contains an element name,
+ * css classes and attribute/value pairs with the purpose
+ * of selecting subsets out of them.
+ */
+ var CssSelector = (function () {
+ function CssSelector() {
+ this.element = null;
+ this.classNames = [];
+ this.attrs = [];
+ this.notSelectors = [];
+ }
+ CssSelector.parse = function (selector) {
+ var results = [];
+ var _addResult = function (res, cssSel) {
+ if (cssSel.notSelectors.length > 0 && !cssSel.element && cssSel.classNames.length == 0 &&
+ cssSel.attrs.length == 0) {
+ cssSel.element = '*';
+ }
+ res.push(cssSel);
+ };
+ var cssSelector = new CssSelector();
+ var match;
+ var current = cssSelector;
+ var inNot = false;
+ _SELECTOR_REGEXP.lastIndex = 0;
+ while (match = _SELECTOR_REGEXP.exec(selector)) {
+ if (match[1]) {
+ if (inNot) {
+ throw new Error('Nesting :not is not allowed in a selector');
+ }
+ inNot = true;
+ current = new CssSelector();
+ cssSelector.notSelectors.push(current);
+ }
+ if (match[2]) {
+ current.setElement(match[2]);
+ }
+ if (match[3]) {
+ current.addClassName(match[3]);
+ }
+ if (match[4]) {
+ current.addAttribute(match[4], match[5]);
+ }
+ if (match[6]) {
+ inNot = false;
+ current = cssSelector;
+ }
+ if (match[7]) {
+ if (inNot) {
+ throw new Error('Multiple selectors in :not are not supported');
+ }
+ _addResult(results, cssSelector);
+ cssSelector = current = new CssSelector();
+ }
+ }
+ _addResult(results, cssSelector);
+ return results;
+ };
+ CssSelector.prototype.isElementSelector = function () {
+ return this.hasElementSelector() && this.classNames.length == 0 && this.attrs.length == 0 &&
+ this.notSelectors.length === 0;
+ };
+ CssSelector.prototype.hasElementSelector = function () { return !!this.element; };
+ CssSelector.prototype.setElement = function (element) {
+ if (element === void 0) { element = null; }
+ this.element = element;
+ };
+ /** Gets a template string for an element that matches the selector. */
+ CssSelector.prototype.getMatchingElementTemplate = function () {
+ var tagName = this.element || 'div';
+ var classAttr = this.classNames.length > 0 ? " class=\"" + this.classNames.join(' ') + "\"" : '';
+ var attrs = '';
+ for (var i = 0; i < this.attrs.length; i += 2) {
+ var attrName = this.attrs[i];
+ var attrValue = this.attrs[i + 1] !== '' ? "=\"" + this.attrs[i + 1] + "\"" : '';
+ attrs += " " + attrName + attrValue;
+ }
+ return getHtmlTagDefinition(tagName).isVoid ? "<" + tagName + classAttr + attrs + "/>" :
+ "<" + tagName + classAttr + attrs + ">" + tagName + ">";
+ };
+ CssSelector.prototype.addAttribute = function (name, value) {
+ if (value === void 0) { value = ''; }
+ this.attrs.push(name, value && value.toLowerCase() || '');
+ };
+ CssSelector.prototype.addClassName = function (name) { this.classNames.push(name.toLowerCase()); };
+ CssSelector.prototype.toString = function () {
+ var res = this.element || '';
+ if (this.classNames) {
+ this.classNames.forEach(function (klass) { return res += "." + klass; });
+ }
+ if (this.attrs) {
+ for (var i = 0; i < this.attrs.length; i += 2) {
+ var name_1 = this.attrs[i];
+ var value = this.attrs[i + 1];
+ res += "[" + name_1 + (value ? '=' + value : '') + "]";
+ }
+ }
+ this.notSelectors.forEach(function (notSelector) { return res += ":not(" + notSelector + ")"; });
+ return res;
+ };
+ return CssSelector;
+ }());
+ /**
+ * Reads a list of CssSelectors and allows to calculate which ones
+ * are contained in a given CssSelector.
+ */
+ var SelectorMatcher = (function () {
+ function SelectorMatcher() {
+ this._elementMap = new Map();
+ this._elementPartialMap = new Map();
+ this._classMap = new Map();
+ this._classPartialMap = new Map();
+ this._attrValueMap = new Map();
+ this._attrValuePartialMap = new Map();
+ this._listContexts = [];
+ }
+ SelectorMatcher.createNotMatcher = function (notSelectors) {
+ var notMatcher = new SelectorMatcher();
+ notMatcher.addSelectables(notSelectors, null);
+ return notMatcher;
+ };
+ SelectorMatcher.prototype.addSelectables = function (cssSelectors, callbackCtxt) {
+ var listContext = null;
+ if (cssSelectors.length > 1) {
+ listContext = new SelectorListContext(cssSelectors);
+ this._listContexts.push(listContext);
+ }
+ for (var i = 0; i < cssSelectors.length; i++) {
+ this._addSelectable(cssSelectors[i], callbackCtxt, listContext);
+ }
+ };
+ /**
+ * Add an object that can be found later on by calling `match`.
+ * @param cssSelector A css selector
+ * @param callbackCtxt An opaque object that will be given to the callback of the `match` function
+ */
+ SelectorMatcher.prototype._addSelectable = function (cssSelector, callbackCtxt, listContext) {
+ var matcher = this;
+ var element = cssSelector.element;
+ var classNames = cssSelector.classNames;
+ var attrs = cssSelector.attrs;
+ var selectable = new SelectorContext(cssSelector, callbackCtxt, listContext);
+ if (element) {
+ var isTerminal = attrs.length === 0 && classNames.length === 0;
+ if (isTerminal) {
+ this._addTerminal(matcher._elementMap, element, selectable);
+ }
+ else {
+ matcher = this._addPartial(matcher._elementPartialMap, element);
+ }
+ }
+ if (classNames) {
+ for (var i = 0; i < classNames.length; i++) {
+ var isTerminal = attrs.length === 0 && i === classNames.length - 1;
+ var className = classNames[i];
+ if (isTerminal) {
+ this._addTerminal(matcher._classMap, className, selectable);
+ }
+ else {
+ matcher = this._addPartial(matcher._classPartialMap, className);
+ }
+ }
+ }
+ if (attrs) {
+ for (var i = 0; i < attrs.length; i += 2) {
+ var isTerminal = i === attrs.length - 2;
+ var name_2 = attrs[i];
+ var value = attrs[i + 1];
+ if (isTerminal) {
+ var terminalMap = matcher._attrValueMap;
+ var terminalValuesMap = terminalMap.get(name_2);
+ if (!terminalValuesMap) {
+ terminalValuesMap = new Map();
+ terminalMap.set(name_2, terminalValuesMap);
+ }
+ this._addTerminal(terminalValuesMap, value, selectable);
+ }
+ else {
+ var partialMap = matcher._attrValuePartialMap;
+ var partialValuesMap = partialMap.get(name_2);
+ if (!partialValuesMap) {
+ partialValuesMap = new Map();
+ partialMap.set(name_2, partialValuesMap);
+ }
+ matcher = this._addPartial(partialValuesMap, value);
+ }
+ }
+ }
+ };
+ SelectorMatcher.prototype._addTerminal = function (map, name, selectable) {
+ var terminalList = map.get(name);
+ if (!terminalList) {
+ terminalList = [];
+ map.set(name, terminalList);
+ }
+ terminalList.push(selectable);
+ };
+ SelectorMatcher.prototype._addPartial = function (map, name) {
+ var matcher = map.get(name);
+ if (!matcher) {
+ matcher = new SelectorMatcher();
+ map.set(name, matcher);
+ }
+ return matcher;
+ };
+ /**
+ * Find the objects that have been added via `addSelectable`
+ * whose css selector is contained in the given css selector.
+ * @param cssSelector A css selector
+ * @param matchedCallback This callback will be called with the object handed into `addSelectable`
+ * @return boolean true if a match was found
+ */
+ SelectorMatcher.prototype.match = function (cssSelector, matchedCallback) {
+ var result = false;
+ var element = cssSelector.element;
+ var classNames = cssSelector.classNames;
+ var attrs = cssSelector.attrs;
+ for (var i = 0; i < this._listContexts.length; i++) {
+ this._listContexts[i].alreadyMatched = false;
+ }
+ result = this._matchTerminal(this._elementMap, element, cssSelector, matchedCallback) || result;
+ result = this._matchPartial(this._elementPartialMap, element, cssSelector, matchedCallback) ||
+ result;
+ if (classNames) {
+ for (var i = 0; i < classNames.length; i++) {
+ var className = classNames[i];
+ result =
+ this._matchTerminal(this._classMap, className, cssSelector, matchedCallback) || result;
+ result =
+ this._matchPartial(this._classPartialMap, className, cssSelector, matchedCallback) ||
+ result;
+ }
+ }
+ if (attrs) {
+ for (var i = 0; i < attrs.length; i += 2) {
+ var name_3 = attrs[i];
+ var value = attrs[i + 1];
+ var terminalValuesMap = this._attrValueMap.get(name_3);
+ if (value) {
+ result =
+ this._matchTerminal(terminalValuesMap, '', cssSelector, matchedCallback) || result;
+ }
+ result =
+ this._matchTerminal(terminalValuesMap, value, cssSelector, matchedCallback) || result;
+ var partialValuesMap = this._attrValuePartialMap.get(name_3);
+ if (value) {
+ result = this._matchPartial(partialValuesMap, '', cssSelector, matchedCallback) || result;
+ }
+ result =
+ this._matchPartial(partialValuesMap, value, cssSelector, matchedCallback) || result;
+ }
+ }
+ return result;
+ };
+ /** @internal */
+ SelectorMatcher.prototype._matchTerminal = function (map, name, cssSelector, matchedCallback) {
+ if (!map || typeof name !== 'string') {
+ return false;
+ }
+ var selectables = map.get(name);
+ var starSelectables = map.get('*');
+ if (starSelectables) {
+ selectables = selectables.concat(starSelectables);
+ }
+ if (!selectables) {
+ return false;
+ }
+ var selectable;
+ var result = false;
+ for (var i = 0; i < selectables.length; i++) {
+ selectable = selectables[i];
+ result = selectable.finalize(cssSelector, matchedCallback) || result;
+ }
+ return result;
+ };
+ /** @internal */
+ SelectorMatcher.prototype._matchPartial = function (map, name, cssSelector, matchedCallback) {
+ if (!map || typeof name !== 'string') {
+ return false;
+ }
+ var nestedSelector = map.get(name);
+ if (!nestedSelector) {
+ return false;
+ }
+ // TODO(perf): get rid of recursion and measure again
+ // TODO(perf): don't pass the whole selector into the recursion,
+ // but only the not processed parts
+ return nestedSelector.match(cssSelector, matchedCallback);
+ };
+ return SelectorMatcher;
+ }());
+ var SelectorListContext = (function () {
+ function SelectorListContext(selectors) {
+ this.selectors = selectors;
+ this.alreadyMatched = false;
+ }
+ return SelectorListContext;
+ }());
+ // Store context to pass back selector and context when a selector is matched
+ var SelectorContext = (function () {
+ function SelectorContext(selector, cbContext, listContext) {
+ this.selector = selector;
+ this.cbContext = cbContext;
+ this.listContext = listContext;
+ this.notSelectors = selector.notSelectors;
+ }
+ SelectorContext.prototype.finalize = function (cssSelector, callback) {
+ var result = true;
+ if (this.notSelectors.length > 0 && (!this.listContext || !this.listContext.alreadyMatched)) {
+ var notMatcher = SelectorMatcher.createNotMatcher(this.notSelectors);
+ result = !notMatcher.match(cssSelector, null);
+ }
+ if (result && callback && (!this.listContext || !this.listContext.alreadyMatched)) {
+ if (this.listContext) {
+ this.listContext.alreadyMatched = true;
+ }
+ callback(this.selector, this.cbContext);
+ }
+ return result;
+ };
+ return SelectorContext;
+ }());
+
+ var MODULE_SUFFIX = '';
+ var DASH_CASE_REGEXP = /-+([a-z0-9])/g;
+ function dashCaseToCamelCase(input) {
+ return input.replace(DASH_CASE_REGEXP, function () {
+ var m = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ m[_i - 0] = arguments[_i];
+ }
+ return m[1].toUpperCase();
+ });
+ }
+ function splitAtColon(input, defaultValues) {
+ return _splitAt(input, ':', defaultValues);
+ }
+ function splitAtPeriod(input, defaultValues) {
+ return _splitAt(input, '.', defaultValues);
+ }
+ function _splitAt(input, character, defaultValues) {
+ var characterIndex = input.indexOf(character);
+ if (characterIndex == -1)
+ return defaultValues;
+ return [input.slice(0, characterIndex).trim(), input.slice(characterIndex + 1).trim()];
+ }
+ function sanitizeIdentifier(name) {
+ return name.replace(/\W/g, '_');
+ }
+ function visitValue(value, visitor, context) {
+ if (Array.isArray(value)) {
+ return visitor.visitArray(value, context);
+ }
+ if (isStrictStringMap(value)) {
+ return visitor.visitStringMap(value, context);
+ }
+ if (isBlank(value) || isPrimitive(value)) {
+ return visitor.visitPrimitive(value, context);
+ }
+ return visitor.visitOther(value, context);
+ }
+ var ValueTransformer = (function () {
+ function ValueTransformer() {
+ }
+ ValueTransformer.prototype.visitArray = function (arr, context) {
+ var _this = this;
+ return arr.map(function (value) { return visitValue(value, _this, context); });
+ };
+ ValueTransformer.prototype.visitStringMap = function (map, context) {
+ var _this = this;
+ var result = {};
+ Object.keys(map).forEach(function (key) { result[key] = visitValue(map[key], _this, context); });
+ return result;
+ };
+ ValueTransformer.prototype.visitPrimitive = function (value, context) { return value; };
+ ValueTransformer.prototype.visitOther = function (value, context) { return value; };
+ return ValueTransformer;
+ }());
+ var SyncAsyncResult = (function () {
+ function SyncAsyncResult(syncResult, asyncResult) {
+ if (asyncResult === void 0) { asyncResult = null; }
+ this.syncResult = syncResult;
+ this.asyncResult = asyncResult;
+ if (!asyncResult) {
+ this.asyncResult = Promise.resolve(syncResult);
+ }
+ }
+ return SyncAsyncResult;
+ }());
+
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+ var __extends$7 = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ function unimplemented() {
+ throw new Error('unimplemented');
+ }
+ // group 0: "[prop] or (event) or @trigger"
+ // group 1: "prop" from "[prop]"
+ // group 2: "event" from "(event)"
+ // group 3: "@trigger" from "@trigger"
+ var HOST_REG_EXP = /^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/;
+ var CompileMetadataWithIdentifier = (function () {
+ function CompileMetadataWithIdentifier() {
+ }
+ Object.defineProperty(CompileMetadataWithIdentifier.prototype, "identifier", {
+ get: function () { return unimplemented(); },
+ enumerable: true,
+ configurable: true
+ });
+ return CompileMetadataWithIdentifier;
+ }());
+ var CompileAnimationEntryMetadata = (function () {
+ function CompileAnimationEntryMetadata(name, definitions) {
+ if (name === void 0) { name = null; }
+ if (definitions === void 0) { definitions = null; }
+ this.name = name;
+ this.definitions = definitions;
+ }
+ return CompileAnimationEntryMetadata;
+ }());
+ var CompileAnimationStateMetadata = (function () {
+ function CompileAnimationStateMetadata() {
+ }
+ return CompileAnimationStateMetadata;
+ }());
+ var CompileAnimationStateDeclarationMetadata = (function (_super) {
+ __extends$7(CompileAnimationStateDeclarationMetadata, _super);
+ function CompileAnimationStateDeclarationMetadata(stateNameExpr, styles) {
+ _super.call(this);
+ this.stateNameExpr = stateNameExpr;
+ this.styles = styles;
+ }
+ return CompileAnimationStateDeclarationMetadata;
+ }(CompileAnimationStateMetadata));
+ var CompileAnimationStateTransitionMetadata = (function (_super) {
+ __extends$7(CompileAnimationStateTransitionMetadata, _super);
+ function CompileAnimationStateTransitionMetadata(stateChangeExpr, steps) {
+ _super.call(this);
+ this.stateChangeExpr = stateChangeExpr;
+ this.steps = steps;
+ }
+ return CompileAnimationStateTransitionMetadata;
+ }(CompileAnimationStateMetadata));
+ var CompileAnimationMetadata = (function () {
+ function CompileAnimationMetadata() {
+ }
+ return CompileAnimationMetadata;
+ }());
+ var CompileAnimationKeyframesSequenceMetadata = (function (_super) {
+ __extends$7(CompileAnimationKeyframesSequenceMetadata, _super);
+ function CompileAnimationKeyframesSequenceMetadata(steps) {
+ if (steps === void 0) { steps = []; }
+ _super.call(this);
+ this.steps = steps;
+ }
+ return CompileAnimationKeyframesSequenceMetadata;
+ }(CompileAnimationMetadata));
+ var CompileAnimationStyleMetadata = (function (_super) {
+ __extends$7(CompileAnimationStyleMetadata, _super);
+ function CompileAnimationStyleMetadata(offset, styles) {
+ if (styles === void 0) { styles = null; }
+ _super.call(this);
+ this.offset = offset;
+ this.styles = styles;
+ }
+ return CompileAnimationStyleMetadata;
+ }(CompileAnimationMetadata));
+ var CompileAnimationAnimateMetadata = (function (_super) {
+ __extends$7(CompileAnimationAnimateMetadata, _super);
+ function CompileAnimationAnimateMetadata(timings, styles) {
+ if (timings === void 0) { timings = 0; }
+ if (styles === void 0) { styles = null; }
+ _super.call(this);
+ this.timings = timings;
+ this.styles = styles;
+ }
+ return CompileAnimationAnimateMetadata;
+ }(CompileAnimationMetadata));
+ var CompileAnimationWithStepsMetadata = (function (_super) {
+ __extends$7(CompileAnimationWithStepsMetadata, _super);
+ function CompileAnimationWithStepsMetadata(steps) {
+ if (steps === void 0) { steps = null; }
+ _super.call(this);
+ this.steps = steps;
+ }
+ return CompileAnimationWithStepsMetadata;
+ }(CompileAnimationMetadata));
+ var CompileAnimationSequenceMetadata = (function (_super) {
+ __extends$7(CompileAnimationSequenceMetadata, _super);
+ function CompileAnimationSequenceMetadata(steps) {
+ if (steps === void 0) { steps = null; }
+ _super.call(this, steps);
+ }
+ return CompileAnimationSequenceMetadata;
+ }(CompileAnimationWithStepsMetadata));
+ var CompileAnimationGroupMetadata = (function (_super) {
+ __extends$7(CompileAnimationGroupMetadata, _super);
+ function CompileAnimationGroupMetadata(steps) {
+ if (steps === void 0) { steps = null; }
+ _super.call(this, steps);
+ }
+ return CompileAnimationGroupMetadata;
+ }(CompileAnimationWithStepsMetadata));
+ var CompileIdentifierMetadata = (function () {
+ function CompileIdentifierMetadata(_a) {
+ var _b = _a === void 0 ? {} : _a, reference = _b.reference, name = _b.name, moduleUrl = _b.moduleUrl, prefix = _b.prefix, value = _b.value;
+ this.reference = reference;
+ this.name = name;
+ this.prefix = prefix;
+ this.moduleUrl = moduleUrl;
+ this.value = value;
+ }
+ Object.defineProperty(CompileIdentifierMetadata.prototype, "identifier", {
+ get: function () { return this; },
+ enumerable: true,
+ configurable: true
+ });
+ return CompileIdentifierMetadata;
+ }());
+ var CompileDiDependencyMetadata = (function () {
+ function CompileDiDependencyMetadata(_a) {
+ var _b = _a === void 0 ? {} : _a, isAttribute = _b.isAttribute, isSelf = _b.isSelf, isHost = _b.isHost, isSkipSelf = _b.isSkipSelf, isOptional = _b.isOptional, isValue = _b.isValue, token = _b.token, value = _b.value;
+ this.isAttribute = !!isAttribute;
+ this.isSelf = !!isSelf;
+ this.isHost = !!isHost;
+ this.isSkipSelf = !!isSkipSelf;
+ this.isOptional = !!isOptional;
+ this.isValue = !!isValue;
+ this.token = token;
+ this.value = value;
+ }
+ return CompileDiDependencyMetadata;
+ }());
+ var CompileProviderMetadata = (function () {
+ function CompileProviderMetadata(_a) {
+ var token = _a.token, useClass = _a.useClass, useValue = _a.useValue, useExisting = _a.useExisting, useFactory = _a.useFactory, deps = _a.deps, multi = _a.multi;
+ this.token = token;
+ this.useClass = useClass;
+ this.useValue = useValue;
+ this.useExisting = useExisting;
+ this.useFactory = useFactory;
+ this.deps = deps || null;
+ this.multi = !!multi;
+ }
+ return CompileProviderMetadata;
+ }());
+ var CompileFactoryMetadata = (function (_super) {
+ __extends$7(CompileFactoryMetadata, _super);
+ function CompileFactoryMetadata(_a) {
+ var reference = _a.reference, name = _a.name, moduleUrl = _a.moduleUrl, prefix = _a.prefix, diDeps = _a.diDeps, value = _a.value;
+ _super.call(this, { reference: reference, name: name, prefix: prefix, moduleUrl: moduleUrl, value: value });
+ this.diDeps = _normalizeArray(diDeps);
+ }
+ return CompileFactoryMetadata;
+ }(CompileIdentifierMetadata));
+ var CompileTokenMetadata = (function () {
+ function CompileTokenMetadata(_a) {
+ var value = _a.value, identifier = _a.identifier, identifierIsInstance = _a.identifierIsInstance;
+ this.value = value;
+ this.identifier = identifier;
+ this.identifierIsInstance = !!identifierIsInstance;
+ }
+ Object.defineProperty(CompileTokenMetadata.prototype, "reference", {
+ get: function () {
+ if (isPresent(this.identifier)) {
+ return this.identifier.reference;
+ }
+ else {
+ return this.value;
+ }
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(CompileTokenMetadata.prototype, "name", {
+ get: function () {
+ return isPresent(this.value) ? sanitizeIdentifier(this.value) : this.identifier.name;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ return CompileTokenMetadata;
+ }());
+ /**
+ * Metadata regarding compilation of a type.
+ */
+ var CompileTypeMetadata = (function (_super) {
+ __extends$7(CompileTypeMetadata, _super);
+ function CompileTypeMetadata(_a) {
+ var _b = _a === void 0 ? {} : _a, reference = _b.reference, name = _b.name, moduleUrl = _b.moduleUrl, prefix = _b.prefix, isHost = _b.isHost, value = _b.value, diDeps = _b.diDeps, lifecycleHooks = _b.lifecycleHooks;
+ _super.call(this, { reference: reference, name: name, moduleUrl: moduleUrl, prefix: prefix, value: value });
+ this.isHost = !!isHost;
+ this.diDeps = _normalizeArray(diDeps);
+ this.lifecycleHooks = _normalizeArray(lifecycleHooks);
+ }
+ return CompileTypeMetadata;
+ }(CompileIdentifierMetadata));
+ var CompileQueryMetadata = (function () {
+ function CompileQueryMetadata(_a) {
+ var _b = _a === void 0 ? {} : _a, selectors = _b.selectors, descendants = _b.descendants, first = _b.first, propertyName = _b.propertyName, read = _b.read;
+ this.selectors = selectors;
+ this.descendants = !!descendants;
+ this.first = !!first;
+ this.propertyName = propertyName;
+ this.read = read;
+ }
+ return CompileQueryMetadata;
+ }());
+ /**
+ * Metadata about a stylesheet
+ */
+ var CompileStylesheetMetadata = (function () {
+ function CompileStylesheetMetadata(_a) {
+ var _b = _a === void 0 ? {} : _a, moduleUrl = _b.moduleUrl, styles = _b.styles, styleUrls = _b.styleUrls;
+ this.moduleUrl = moduleUrl;
+ this.styles = _normalizeArray(styles);
+ this.styleUrls = _normalizeArray(styleUrls);
+ }
+ return CompileStylesheetMetadata;
+ }());
+ /**
+ * Metadata regarding compilation of a template.
+ */
+ var CompileTemplateMetadata = (function () {
+ function CompileTemplateMetadata(_a) {
+ var _b = _a === void 0 ? {} : _a, encapsulation = _b.encapsulation, template = _b.template, templateUrl = _b.templateUrl, styles = _b.styles, styleUrls = _b.styleUrls, externalStylesheets = _b.externalStylesheets, animations = _b.animations, ngContentSelectors = _b.ngContentSelectors, interpolation = _b.interpolation;
+ this.encapsulation = encapsulation;
+ this.template = template;
+ this.templateUrl = templateUrl;
+ this.styles = _normalizeArray(styles);
+ this.styleUrls = _normalizeArray(styleUrls);
+ this.externalStylesheets = _normalizeArray(externalStylesheets);
+ this.animations = animations ? ListWrapper.flatten(animations) : [];
+ this.ngContentSelectors = ngContentSelectors || [];
+ if (interpolation && interpolation.length != 2) {
+ throw new Error("'interpolation' should have a start and an end symbol.");
+ }
+ this.interpolation = interpolation;
+ }
+ CompileTemplateMetadata.prototype.toSummary = function () {
+ return {
+ isSummary: true,
+ animations: this.animations.map(function (anim) { return anim.name; }),
+ ngContentSelectors: this.ngContentSelectors,
+ encapsulation: this.encapsulation
+ };
+ };
+ return CompileTemplateMetadata;
+ }());
+ /**
+ * Metadata regarding compilation of a directive.
+ */
+ var CompileDirectiveMetadata = (function () {
+ function CompileDirectiveMetadata(_a) {
+ var _b = _a === void 0 ? {} : _a, type = _b.type, isComponent = _b.isComponent, selector = _b.selector, exportAs = _b.exportAs, changeDetection = _b.changeDetection, inputs = _b.inputs, outputs = _b.outputs, hostListeners = _b.hostListeners, hostProperties = _b.hostProperties, hostAttributes = _b.hostAttributes, providers = _b.providers, viewProviders = _b.viewProviders, queries = _b.queries, viewQueries = _b.viewQueries, entryComponents = _b.entryComponents, template = _b.template;
+ this.type = type;
+ this.isComponent = isComponent;
+ this.selector = selector;
+ this.exportAs = exportAs;
+ this.changeDetection = changeDetection;
+ this.inputs = inputs;
+ this.outputs = outputs;
+ this.hostListeners = hostListeners;
+ this.hostProperties = hostProperties;
+ this.hostAttributes = hostAttributes;
+ this.providers = _normalizeArray(providers);
+ this.viewProviders = _normalizeArray(viewProviders);
+ this.queries = _normalizeArray(queries);
+ this.viewQueries = _normalizeArray(viewQueries);
+ this.entryComponents = _normalizeArray(entryComponents);
+ this.template = template;
+ }
+ CompileDirectiveMetadata.create = function (_a) {
+ var _b = _a === void 0 ? {} : _a, type = _b.type, isComponent = _b.isComponent, selector = _b.selector, exportAs = _b.exportAs, changeDetection = _b.changeDetection, inputs = _b.inputs, outputs = _b.outputs, host = _b.host, providers = _b.providers, viewProviders = _b.viewProviders, queries = _b.queries, viewQueries = _b.viewQueries, entryComponents = _b.entryComponents, template = _b.template;
+ var hostListeners = {};
+ var hostProperties = {};
+ var hostAttributes = {};
+ if (isPresent(host)) {
+ Object.keys(host).forEach(function (key) {
+ var value = host[key];
+ var matches = key.match(HOST_REG_EXP);
+ if (matches === null) {
+ hostAttributes[key] = value;
+ }
+ else if (isPresent(matches[1])) {
+ hostProperties[matches[1]] = value;
+ }
+ else if (isPresent(matches[2])) {
+ hostListeners[matches[2]] = value;
+ }
+ });
+ }
+ var inputsMap = {};
+ if (isPresent(inputs)) {
+ inputs.forEach(function (bindConfig) {
+ // canonical syntax: `dirProp: elProp`
+ // if there is no `:`, use dirProp = elProp
+ var parts = splitAtColon(bindConfig, [bindConfig, bindConfig]);
+ inputsMap[parts[0]] = parts[1];
+ });
+ }
+ var outputsMap = {};
+ if (isPresent(outputs)) {
+ outputs.forEach(function (bindConfig) {
+ // canonical syntax: `dirProp: elProp`
+ // if there is no `:`, use dirProp = elProp
+ var parts = splitAtColon(bindConfig, [bindConfig, bindConfig]);
+ outputsMap[parts[0]] = parts[1];
+ });
+ }
+ return new CompileDirectiveMetadata({
+ type: type,
+ isComponent: !!isComponent, selector: selector, exportAs: exportAs, changeDetection: changeDetection,
+ inputs: inputsMap,
+ outputs: outputsMap,
+ hostListeners: hostListeners,
+ hostProperties: hostProperties,
+ hostAttributes: hostAttributes,
+ providers: providers,
+ viewProviders: viewProviders,
+ queries: queries,
+ viewQueries: viewQueries,
+ entryComponents: entryComponents,
+ template: template,
+ });
+ };
+ Object.defineProperty(CompileDirectiveMetadata.prototype, "identifier", {
+ get: function () { return this.type; },
+ enumerable: true,
+ configurable: true
+ });
+ CompileDirectiveMetadata.prototype.toSummary = function () {
+ return {
+ isSummary: true,
+ type: this.type,
+ isComponent: this.isComponent,
+ selector: this.selector,
+ exportAs: this.exportAs,
+ inputs: this.inputs,
+ outputs: this.outputs,
+ hostListeners: this.hostListeners,
+ hostProperties: this.hostProperties,
+ hostAttributes: this.hostAttributes,
+ providers: this.providers,
+ viewProviders: this.viewProviders,
+ queries: this.queries,
+ entryComponents: this.entryComponents,
+ changeDetection: this.changeDetection,
+ template: this.template && this.template.toSummary()
+ };
+ };
+ return CompileDirectiveMetadata;
+ }());
+ /**
+ * Construct {@link CompileDirectiveMetadata} from {@link ComponentTypeMetadata} and a selector.
+ */
+ function createHostComponentMeta(compMeta) {
+ var template = CssSelector.parse(compMeta.selector)[0].getMatchingElementTemplate();
+ return CompileDirectiveMetadata.create({
+ type: new CompileTypeMetadata({
+ reference: Object,
+ name: compMeta.type.name + "_Host",
+ moduleUrl: compMeta.type.moduleUrl,
+ isHost: true
+ }),
+ template: new CompileTemplateMetadata({
+ encapsulation: _angular_core.ViewEncapsulation.None,
+ template: template,
+ templateUrl: '',
+ styles: [],
+ styleUrls: [],
+ ngContentSelectors: [],
+ animations: []
+ }),
+ changeDetection: _angular_core.ChangeDetectionStrategy.Default,
+ inputs: [],
+ outputs: [],
+ host: {},
+ isComponent: true,
+ selector: '*',
+ providers: [],
+ viewProviders: [],
+ queries: [],
+ viewQueries: []
+ });
+ }
+ var CompilePipeMetadata = (function () {
+ function CompilePipeMetadata(_a) {
+ var _b = _a === void 0 ? {} : _a, type = _b.type, name = _b.name, pure = _b.pure;
+ this.type = type;
+ this.name = name;
+ this.pure = !!pure;
+ }
+ Object.defineProperty(CompilePipeMetadata.prototype, "identifier", {
+ get: function () { return this.type; },
+ enumerable: true,
+ configurable: true
+ });
+ CompilePipeMetadata.prototype.toSummary = function () {
+ return { isSummary: true, type: this.type, name: this.name, pure: this.pure };
+ };
+ return CompilePipeMetadata;
+ }());
+ /**
+ * Metadata regarding compilation of a module.
+ */
+ var CompileNgModuleMetadata = (function () {
+ function CompileNgModuleMetadata(_a) {
+ var _b = _a === void 0 ? {} : _a, type = _b.type, providers = _b.providers, declaredDirectives = _b.declaredDirectives, exportedDirectives = _b.exportedDirectives, declaredPipes = _b.declaredPipes, exportedPipes = _b.exportedPipes, entryComponents = _b.entryComponents, bootstrapComponents = _b.bootstrapComponents, importedModules = _b.importedModules, exportedModules = _b.exportedModules, schemas = _b.schemas, transitiveModule = _b.transitiveModule, id = _b.id;
+ this.type = type;
+ this.declaredDirectives = _normalizeArray(declaredDirectives);
+ this.exportedDirectives = _normalizeArray(exportedDirectives);
+ this.declaredPipes = _normalizeArray(declaredPipes);
+ this.exportedPipes = _normalizeArray(exportedPipes);
+ this.providers = _normalizeArray(providers);
+ this.entryComponents = _normalizeArray(entryComponents);
+ this.bootstrapComponents = _normalizeArray(bootstrapComponents);
+ this.importedModules = _normalizeArray(importedModules);
+ this.exportedModules = _normalizeArray(exportedModules);
+ this.schemas = _normalizeArray(schemas);
+ this.id = id;
+ this.transitiveModule = transitiveModule;
+ }
+ Object.defineProperty(CompileNgModuleMetadata.prototype, "identifier", {
+ get: function () { return this.type; },
+ enumerable: true,
+ configurable: true
+ });
+ CompileNgModuleMetadata.prototype.toSummary = function () {
+ return {
+ isSummary: true,
+ type: this.type,
+ entryComponents: this.entryComponents,
+ providers: this.providers,
+ importedModules: this.importedModules,
+ exportedModules: this.exportedModules,
+ exportedDirectives: this.exportedDirectives,
+ exportedPipes: this.exportedPipes,
+ directiveLoaders: this.transitiveModule.directiveLoaders
+ };
+ };
+ CompileNgModuleMetadata.prototype.toInjectorSummary = function () {
+ return {
+ isSummary: true,
+ type: this.type,
+ entryComponents: this.entryComponents,
+ providers: this.providers,
+ importedModules: this.importedModules,
+ exportedModules: this.exportedModules
+ };
+ };
+ CompileNgModuleMetadata.prototype.toDirectiveSummary = function () {
+ return {
+ isSummary: true,
+ type: this.type,
+ exportedDirectives: this.exportedDirectives,
+ exportedPipes: this.exportedPipes,
+ exportedModules: this.exportedModules,
+ directiveLoaders: this.transitiveModule.directiveLoaders
+ };
+ };
+ return CompileNgModuleMetadata;
+ }());
+ var TransitiveCompileNgModuleMetadata = (function () {
+ function TransitiveCompileNgModuleMetadata(modules, providers, entryComponents, directives, pipes, directiveLoaders) {
+ var _this = this;
+ this.modules = modules;
+ this.providers = providers;
+ this.entryComponents = entryComponents;
+ this.directives = directives;
+ this.pipes = pipes;
+ this.directiveLoaders = directiveLoaders;
+ this.directivesSet = new Set();
+ this.pipesSet = new Set();
+ directives.forEach(function (dir) { return _this.directivesSet.add(dir.reference); });
+ pipes.forEach(function (pipe) { return _this.pipesSet.add(pipe.reference); });
+ }
+ return TransitiveCompileNgModuleMetadata;
+ }());
+ function removeIdentifierDuplicates(items) {
+ var map = new Map();
+ items.forEach(function (item) {
+ if (!map.get(item.identifier.reference)) {
+ map.set(item.identifier.reference, item);
+ }
+ });
+ return Array.from(map.values());
+ }
+ function _normalizeArray(obj) {
+ return obj || [];
+ }
+ function isStaticSymbol(value) {
+ return typeof value === 'object' && value !== null && value['name'] && value['filePath'];
+ }
+ var ProviderMeta = (function () {
+ function ProviderMeta(token, _a) {
+ var useClass = _a.useClass, useValue = _a.useValue, useExisting = _a.useExisting, useFactory = _a.useFactory, deps = _a.deps, multi = _a.multi;
+ this.token = token;
+ this.useClass = useClass;
+ this.useValue = useValue;
+ this.useExisting = useExisting;
+ this.useFactory = useFactory;
+ this.dependencies = deps;
+ this.multi = !!multi;
+ }
+ return ProviderMeta;
+ }());
+
var isDefaultChangeDetectionStrategy = _angular_core.__core_private__.isDefaultChangeDetectionStrategy;
var ChangeDetectorStatus = _angular_core.__core_private__.ChangeDetectorStatus;
var LifecycleHooks = _angular_core.__core_private__.LifecycleHooks;
var LIFECYCLE_HOOKS_VALUES = _angular_core.__core_private__.LIFECYCLE_HOOKS_VALUES;
var ReflectorReader = _angular_core.__core_private__.ReflectorReader;
- var AppElement = _angular_core.__core_private__.AppElement;
+ var ViewContainer = _angular_core.__core_private__.ViewContainer;
var CodegenComponentFactoryResolver = _angular_core.__core_private__.CodegenComponentFactoryResolver;
+ var ComponentRef_ = _angular_core.__core_private__.ComponentRef_;
var AppView = _angular_core.__core_private__.AppView;
var DebugAppView = _angular_core.__core_private__.DebugAppView;
var NgModuleInjector = _angular_core.__core_private__.NgModuleInjector;
var registerModuleFactory = _angular_core.__core_private__.registerModuleFactory;
var ViewType = _angular_core.__core_private__.ViewType;
- var MAX_INTERPOLATION_VALUES = _angular_core.__core_private__.MAX_INTERPOLATION_VALUES;
- var checkBinding = _angular_core.__core_private__.checkBinding;
- var flattenNestedViewRenderNodes = _angular_core.__core_private__.flattenNestedViewRenderNodes;
- var interpolate = _angular_core.__core_private__.interpolate;
- var ViewUtils = _angular_core.__core_private__.ViewUtils;
+ var view_utils = _angular_core.__core_private__.view_utils;
var DebugContext = _angular_core.__core_private__.DebugContext;
var StaticNodeDebugInfo = _angular_core.__core_private__.StaticNodeDebugInfo;
var devModeEqual = _angular_core.__core_private__.devModeEqual;
var UNINITIALIZED = _angular_core.__core_private__.UNINITIALIZED;
var ValueUnwrapper = _angular_core.__core_private__.ValueUnwrapper;
var TemplateRef_ = _angular_core.__core_private__.TemplateRef_;
- var EMPTY_ARRAY = _angular_core.__core_private__.EMPTY_ARRAY;
- var EMPTY_MAP = _angular_core.__core_private__.EMPTY_MAP;
- var pureProxy1 = _angular_core.__core_private__.pureProxy1;
- var pureProxy2 = _angular_core.__core_private__.pureProxy2;
- var pureProxy3 = _angular_core.__core_private__.pureProxy3;
- var pureProxy4 = _angular_core.__core_private__.pureProxy4;
- var pureProxy5 = _angular_core.__core_private__.pureProxy5;
- var pureProxy6 = _angular_core.__core_private__.pureProxy6;
- var pureProxy7 = _angular_core.__core_private__.pureProxy7;
- var pureProxy8 = _angular_core.__core_private__.pureProxy8;
- var pureProxy9 = _angular_core.__core_private__.pureProxy9;
- var pureProxy10 = _angular_core.__core_private__.pureProxy10;
- var castByValue = _angular_core.__core_private__.castByValue;
var Console = _angular_core.__core_private__.Console;
var reflector = _angular_core.__core_private__.reflector;
var Reflector = _angular_core.__core_private__.Reflector;
@@ -16714,6 +15611,7 @@
var collectAndResolveStyles = _angular_core.__core_private__.collectAndResolveStyles;
var renderStyles = _angular_core.__core_private__.renderStyles;
var ComponentStillLoadingError = _angular_core.__core_private__.ComponentStillLoadingError;
+ var AnimationTransition = _angular_core.__core_private__.AnimationTransition;
var APP_VIEW_MODULE_URL = assetUrl('core', 'linker/view');
var VIEW_UTILS_MODULE_URL = assetUrl('core', 'linker/view_utils');
@@ -16730,7 +15628,7 @@
Identifiers.ViewUtils = {
name: 'ViewUtils',
moduleUrl: assetUrl('core', 'linker/view_utils'),
- runtime: ViewUtils
+ runtime: view_utils.ViewUtils
};
Identifiers.AppView = { name: 'AppView', moduleUrl: APP_VIEW_MODULE_URL, runtime: AppView };
Identifiers.DebugAppView = {
@@ -16738,10 +15636,10 @@
moduleUrl: APP_VIEW_MODULE_URL,
runtime: DebugAppView
};
- Identifiers.AppElement = {
- name: 'AppElement',
- moduleUrl: assetUrl('core', 'linker/element'),
- runtime: AppElement
+ Identifiers.ViewContainer = {
+ name: 'ViewContainer',
+ moduleUrl: assetUrl('core', 'linker/view_container'),
+ runtime: ViewContainer
};
Identifiers.ElementRef = {
name: 'ElementRef',
@@ -16793,6 +15691,16 @@
runtime: _angular_core.ComponentFactory,
moduleUrl: assetUrl('core', 'linker/component_factory')
};
+ Identifiers.ComponentRef_ = {
+ name: 'ComponentRef_',
+ runtime: ComponentRef_,
+ moduleUrl: assetUrl('core', 'linker/component_factory')
+ };
+ Identifiers.ComponentRef = {
+ name: 'ComponentRef',
+ runtime: _angular_core.ComponentRef,
+ moduleUrl: assetUrl('core', 'linker/component_factory')
+ };
Identifiers.NgModuleFactory = {
name: 'NgModuleFactory',
runtime: _angular_core.NgModuleFactory,
@@ -16854,42 +15762,56 @@
Identifiers.checkBinding = {
name: 'checkBinding',
moduleUrl: VIEW_UTILS_MODULE_URL,
- runtime: checkBinding
- };
- Identifiers.flattenNestedViewRenderNodes = {
- name: 'flattenNestedViewRenderNodes',
- moduleUrl: VIEW_UTILS_MODULE_URL,
- runtime: flattenNestedViewRenderNodes
+ runtime: view_utils.checkBinding
};
Identifiers.devModeEqual = { name: 'devModeEqual', moduleUrl: CD_MODULE_URL, runtime: devModeEqual };
+ Identifiers.inlineInterpolate = {
+ name: 'inlineInterpolate',
+ moduleUrl: VIEW_UTILS_MODULE_URL,
+ runtime: view_utils.inlineInterpolate
+ };
Identifiers.interpolate = {
name: 'interpolate',
moduleUrl: VIEW_UTILS_MODULE_URL,
- runtime: interpolate
+ runtime: view_utils.interpolate
};
Identifiers.castByValue = {
name: 'castByValue',
moduleUrl: VIEW_UTILS_MODULE_URL,
- runtime: castByValue
+ runtime: view_utils.castByValue
};
Identifiers.EMPTY_ARRAY = {
name: 'EMPTY_ARRAY',
moduleUrl: VIEW_UTILS_MODULE_URL,
- runtime: EMPTY_ARRAY
+ runtime: view_utils.EMPTY_ARRAY
+ };
+ Identifiers.EMPTY_MAP = {
+ name: 'EMPTY_MAP',
+ moduleUrl: VIEW_UTILS_MODULE_URL,
+ runtime: view_utils.EMPTY_MAP
+ };
+ Identifiers.createRenderElement = {
+ name: 'createRenderElement',
+ moduleUrl: VIEW_UTILS_MODULE_URL,
+ runtime: view_utils.createRenderElement
+ };
+ Identifiers.selectOrCreateRenderHostElement = {
+ name: 'selectOrCreateRenderHostElement',
+ moduleUrl: VIEW_UTILS_MODULE_URL,
+ runtime: view_utils.selectOrCreateRenderHostElement
};
- Identifiers.EMPTY_MAP = { name: 'EMPTY_MAP', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: EMPTY_MAP };
Identifiers.pureProxies = [
null,
- { name: 'pureProxy1', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: pureProxy1 },
- { name: 'pureProxy2', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: pureProxy2 },
- { name: 'pureProxy3', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: pureProxy3 },
- { name: 'pureProxy4', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: pureProxy4 },
- { name: 'pureProxy5', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: pureProxy5 },
- { name: 'pureProxy6', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: pureProxy6 },
- { name: 'pureProxy7', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: pureProxy7 },
- { name: 'pureProxy8', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: pureProxy8 },
- { name: 'pureProxy9', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: pureProxy9 },
- { name: 'pureProxy10', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: pureProxy10 },
+ { name: 'pureProxy1', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.pureProxy1 },
+ { name: 'pureProxy2', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.pureProxy2 },
+ { name: 'pureProxy3', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.pureProxy3 },
+ { name: 'pureProxy4', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.pureProxy4 },
+ { name: 'pureProxy5', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.pureProxy5 },
+ { name: 'pureProxy6', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.pureProxy6 },
+ { name: 'pureProxy7', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.pureProxy7 },
+ { name: 'pureProxy8', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.pureProxy8 },
+ { name: 'pureProxy9', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.pureProxy9 },
+ { name: 'pureProxy10', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.pureProxy10 },
];
Identifiers.SecurityContext = {
name: 'SecurityContext',
@@ -16956,8 +15878,63 @@
moduleUrl: assetUrl('core', 'i18n/tokens'),
runtime: _angular_core.TRANSLATIONS_FORMAT
};
+ Identifiers.setBindingDebugInfo = {
+ name: 'setBindingDebugInfo',
+ moduleUrl: VIEW_UTILS_MODULE_URL,
+ runtime: view_utils.setBindingDebugInfo
+ };
+ Identifiers.setBindingDebugInfoForChanges = {
+ name: 'setBindingDebugInfoForChanges',
+ moduleUrl: VIEW_UTILS_MODULE_URL,
+ runtime: view_utils.setBindingDebugInfoForChanges
+ };
+ Identifiers.AnimationTransition = {
+ name: 'AnimationTransition',
+ moduleUrl: assetUrl('core', 'animation/animation_transition'),
+ runtime: AnimationTransition
+ };
+ // This is just the interface!
+ Identifiers.InlineArray = { name: 'InlineArray', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: null };
+ Identifiers.inlineArrays = [
+ { name: 'InlineArray2', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.InlineArray2 },
+ { name: 'InlineArray2', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.InlineArray2 },
+ { name: 'InlineArray4', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.InlineArray4 },
+ { name: 'InlineArray8', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.InlineArray8 },
+ { name: 'InlineArray16', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.InlineArray16 },
+ ];
+ Identifiers.EMPTY_INLINE_ARRAY = {
+ name: 'EMPTY_INLINE_ARRAY',
+ moduleUrl: VIEW_UTILS_MODULE_URL,
+ runtime: view_utils.EMPTY_INLINE_ARRAY
+ };
+ Identifiers.InlineArrayDynamic = {
+ name: 'InlineArrayDynamic',
+ moduleUrl: VIEW_UTILS_MODULE_URL,
+ runtime: view_utils.InlineArrayDynamic
+ };
+ Identifiers.subscribeToRenderElement = {
+ name: 'subscribeToRenderElement',
+ moduleUrl: VIEW_UTILS_MODULE_URL,
+ runtime: view_utils.subscribeToRenderElement
+ };
+ Identifiers.createRenderComponentType = {
+ name: 'createRenderComponentType',
+ moduleUrl: VIEW_UTILS_MODULE_URL,
+ runtime: view_utils.createRenderComponentType
+ };
+ Identifiers.noop = { name: 'noop', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: view_utils.noop };
return Identifiers;
}());
+ function assetUrl(pkg, path, type) {
+ if (path === void 0) { path = null; }
+ if (type === void 0) { type = 'src'; }
+ if (path == null) {
+ return "asset:@angular/lib/" + pkg + "/index";
+ }
+ else {
+ return "asset:@angular/lib/" + pkg + "/src/" + path;
+ }
+ }
function resolveIdentifier(identifier) {
return new CompileIdentifierMetadata({
name: identifier.name,
@@ -16983,13 +15960,13 @@
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
- var __extends$9 = (this && this.__extends) || function (d, b) {
+ var __extends$8 = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var HtmlParser = (function (_super) {
- __extends$9(HtmlParser, _super);
+ __extends$8(HtmlParser, _super);
function HtmlParser() {
_super.call(this, getHtmlTagDefinition);
}
@@ -17013,7 +15990,7 @@
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
- var __extends$10 = (this && this.__extends) || function (d, b) {
+ var __extends$9 = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -17056,7 +16033,7 @@
return ExpansionResult;
}());
var ExpansionError = (function (_super) {
- __extends$10(ExpansionError, _super);
+ __extends$9(ExpansionError, _super);
function ExpansionError(span, errorMsg) {
_super.call(this, span, errorMsg);
}
@@ -17104,6 +16081,10 @@
var children = ast.cases.map(function (c) {
var expansionResult = expandNodes(c.expression);
errors.push.apply(errors, expansionResult.errors);
+ if (c.value === 'other') {
+ // other is the default case when no values match
+ return new Element("template", [new Attribute$1('ngSwitchDefault', '', c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);
+ }
return new Element("template", [new Attribute$1('ngSwitchCase', "" + c.value, c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);
});
var switchAttr = new Attribute$1('[ngSwitch]', ast.switchValue, ast.switchValueSourceSpan);
@@ -17117,13 +16098,13 @@
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
- var __extends$11 = (this && this.__extends) || function (d, b) {
+ var __extends$10 = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var ProviderError = (function (_super) {
- __extends$11(ProviderError, _super);
+ __extends$10(ProviderError, _super);
function ProviderError(message, span) {
_super.call(this, span, message);
}
@@ -17163,7 +16144,7 @@
_resolveProvidersFromDirectives(directivesMeta, _sourceSpan, viewContext.errors);
this._contentQueries = _getContentQueries(directivesMeta);
var queriedTokens = new Map();
- MapWrapper.values(this._allProviders).forEach(function (provider) {
+ Array.from(this._allProviders.values()).forEach(function (provider) {
_this._addQueryReadsTo(provider.token, queriedTokens);
});
refs.forEach(function (refAst) {
@@ -17173,7 +16154,7 @@
this._hasViewContainer = true;
}
// create the providers that we know are eager first
- MapWrapper.values(this._allProviders).forEach(function (provider) {
+ Array.from(this._allProviders.values()).forEach(function (provider) {
var eager = provider.eager || isPresent(queriedTokens.get(provider.token.reference));
if (eager) {
_this._getOrCreateLocalProvider(provider.providerType, provider.token, true);
@@ -17183,20 +16164,22 @@
ProviderElementContext.prototype.afterElement = function () {
var _this = this;
// collect lazy providers
- MapWrapper.values(this._allProviders).forEach(function (provider) {
+ Array.from(this._allProviders.values()).forEach(function (provider) {
_this._getOrCreateLocalProvider(provider.providerType, provider.token, false);
});
};
Object.defineProperty(ProviderElementContext.prototype, "transformProviders", {
- get: function () { return MapWrapper.values(this._transformedProviders); },
+ get: function () {
+ return Array.from(this._transformedProviders.values());
+ },
enumerable: true,
configurable: true
});
Object.defineProperty(ProviderElementContext.prototype, "transformedDirectiveAsts", {
get: function () {
var sortedProviderTypes = this.transformProviders.map(function (provider) { return provider.token.identifier; });
- var sortedDirectives = ListWrapper.clone(this._directiveAsts);
- ListWrapper.sort(sortedDirectives, function (dir1, dir2) { return sortedProviderTypes.indexOf(dir1.directive.type) -
+ var sortedDirectives = this._directiveAsts.slice();
+ sortedDirectives.sort(function (dir1, dir2) { return sortedProviderTypes.indexOf(dir1.directive.type) -
sortedProviderTypes.indexOf(dir2.directive.type); });
return sortedDirectives;
},
@@ -17224,7 +16207,7 @@
while (currentEl !== null) {
queries = currentEl._contentQueries.get(token.reference);
if (isPresent(queries)) {
- ListWrapper.addAll(result, queries.filter(function (query) { return query.descendants || distance <= 1; }));
+ result.push.apply(result, queries.filter(function (query) { return query.descendants || distance <= 1; }));
}
if (currentEl._directiveAsts.length > 0) {
distance++;
@@ -17233,7 +16216,7 @@
}
queries = this.viewContext.viewQueries.get(token.reference);
if (isPresent(queries)) {
- ListWrapper.addAll(result, queries);
+ result.push.apply(result, queries);
}
return result;
};
@@ -17296,10 +16279,7 @@
if (eager === void 0) { eager = null; }
if (dep.isAttribute) {
var attrValue = this._attrs[dep.token.value];
- return new CompileDiDependencyMetadata({ isValue: true, value: normalizeBlank(attrValue) });
- }
- if (isPresent(dep.query) || isPresent(dep.viewQuery)) {
- return dep;
+ return new CompileDiDependencyMetadata({ isValue: true, value: attrValue == null ? null : attrValue });
}
if (isPresent(dep.token)) {
// access builtints
@@ -17388,14 +16368,14 @@
}
NgModuleProviderAnalyzer.prototype.parse = function () {
var _this = this;
- MapWrapper.values(this._allProviders).forEach(function (provider) {
+ Array.from(this._allProviders.values()).forEach(function (provider) {
_this._getOrCreateLocalProvider(provider.token, provider.eager);
});
if (this._errors.length > 0) {
var errorString = this._errors.join('\n');
throw new Error("Provider parse errors:\n" + errorString);
}
- return MapWrapper.values(this._transformedProviders);
+ return Array.from(this._transformedProviders.values());
};
NgModuleProviderAnalyzer.prototype._getOrCreateLocalProvider = function (token, eager) {
var _this = this;
@@ -17497,7 +16477,7 @@
}
if (isPresent(providers)) {
providers.forEach(function (provider) {
- if (isArray(provider)) {
+ if (Array.isArray(provider)) {
_normalizeProviders(provider, sourceSpan, targetErrors, targetProviders);
}
else {
@@ -17548,7 +16528,7 @@
}
else {
if (!provider.multi) {
- ListWrapper.clear(resolvedProvider.providers);
+ resolvedProvider.providers.length = 0;
}
resolvedProvider.providers.push(provider);
}
@@ -17559,11 +16539,6 @@
if (isPresent(component.viewQueries)) {
component.viewQueries.forEach(function (query) { return _addQueryToTokenMap(viewQueries, query); });
}
- component.type.diDeps.forEach(function (dep) {
- if (isPresent(dep.viewQuery)) {
- _addQueryToTokenMap(viewQueries, dep.viewQuery);
- }
- });
return viewQueries;
}
function _getContentQueries(directives) {
@@ -17572,11 +16547,6 @@
if (isPresent(directive.queries)) {
directive.queries.forEach(function (query) { return _addQueryToTokenMap(contentQueries, query); });
}
- directive.type.diDeps.forEach(function (dep) {
- if (isPresent(dep.query)) {
- _addQueryToTokenMap(contentQueries, dep.query);
- }
- });
});
return contentQueries;
}
@@ -17641,6 +16611,382 @@
var _cssImportRe = /@import\s+(?:url\()?\s*(?:(?:['"]([^'"]*))|([^;\)\s]*))[^;]*;?/g;
var _urlWithSchemaRe = /^([^:/?#]+):/;
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+ var __extends$11 = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ var PROPERTY_PARTS_SEPARATOR = '.';
+ var ATTRIBUTE_PREFIX = 'attr';
+ var CLASS_PREFIX = 'class';
+ var STYLE_PREFIX = 'style';
+ var ANIMATE_PROP_PREFIX = 'animate-';
+ var BoundPropertyType;
+ (function (BoundPropertyType) {
+ BoundPropertyType[BoundPropertyType["DEFAULT"] = 0] = "DEFAULT";
+ BoundPropertyType[BoundPropertyType["LITERAL_ATTR"] = 1] = "LITERAL_ATTR";
+ BoundPropertyType[BoundPropertyType["ANIMATION"] = 2] = "ANIMATION";
+ })(BoundPropertyType || (BoundPropertyType = {}));
+ /**
+ * Represents a parsed property.
+ */
+ var BoundProperty = (function () {
+ function BoundProperty(name, expression, type, sourceSpan) {
+ this.name = name;
+ this.expression = expression;
+ this.type = type;
+ this.sourceSpan = sourceSpan;
+ }
+ Object.defineProperty(BoundProperty.prototype, "isLiteral", {
+ get: function () { return this.type === BoundPropertyType.LITERAL_ATTR; },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(BoundProperty.prototype, "isAnimation", {
+ get: function () { return this.type === BoundPropertyType.ANIMATION; },
+ enumerable: true,
+ configurable: true
+ });
+ return BoundProperty;
+ }());
+ /**
+ * Parses bindings in templates and in the directive host area.
+ */
+ var BindingParser = (function () {
+ function BindingParser(_exprParser, _interpolationConfig, _schemaRegistry, pipes, _targetErrors) {
+ var _this = this;
+ this._exprParser = _exprParser;
+ this._interpolationConfig = _interpolationConfig;
+ this._schemaRegistry = _schemaRegistry;
+ this._targetErrors = _targetErrors;
+ this.pipesByName = new Map();
+ pipes.forEach(function (pipe) { return _this.pipesByName.set(pipe.name, pipe); });
+ }
+ BindingParser.prototype.createDirectiveHostPropertyAsts = function (dirMeta, sourceSpan) {
+ var _this = this;
+ if (dirMeta.hostProperties) {
+ var boundProps_1 = [];
+ Object.keys(dirMeta.hostProperties).forEach(function (propName) {
+ var expression = dirMeta.hostProperties[propName];
+ if (typeof expression === 'string') {
+ _this.parsePropertyBinding(propName, expression, true, sourceSpan, [], boundProps_1);
+ }
+ else {
+ _this._reportError("Value of the host property binding \"" + propName + "\" needs to be a string representing an expression but got \"" + expression + "\" (" + typeof expression + ")", sourceSpan);
+ }
+ });
+ return boundProps_1.map(function (prop) { return _this.createElementPropertyAst(dirMeta.selector, prop); });
+ }
+ };
+ BindingParser.prototype.createDirectiveHostEventAsts = function (dirMeta, sourceSpan) {
+ var _this = this;
+ if (dirMeta.hostListeners) {
+ var targetEventAsts_1 = [];
+ Object.keys(dirMeta.hostListeners).forEach(function (propName) {
+ var expression = dirMeta.hostListeners[propName];
+ if (typeof expression === 'string') {
+ _this.parseEvent(propName, expression, sourceSpan, [], targetEventAsts_1);
+ }
+ else {
+ _this._reportError("Value of the host listener \"" + propName + "\" needs to be a string representing an expression but got \"" + expression + "\" (" + typeof expression + ")", sourceSpan);
+ }
+ });
+ return targetEventAsts_1;
+ }
+ };
+ BindingParser.prototype.parseInterpolation = function (value, sourceSpan) {
+ var sourceInfo = sourceSpan.start.toString();
+ try {
+ var ast = this._exprParser.parseInterpolation(value, sourceInfo, this._interpolationConfig);
+ if (ast)
+ this._reportExpressionParserErrors(ast.errors, sourceSpan);
+ this._checkPipes(ast, sourceSpan);
+ return ast;
+ }
+ catch (e) {
+ this._reportError("" + e, sourceSpan);
+ return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);
+ }
+ };
+ BindingParser.prototype.parseInlineTemplateBinding = function (name, prefixToken, value, sourceSpan, targetMatchableAttrs, targetProps, targetVars) {
+ var bindings = this._parseTemplateBindings(prefixToken, value, sourceSpan);
+ for (var i = 0; i < bindings.length; i++) {
+ var binding = bindings[i];
+ if (binding.keyIsVar) {
+ targetVars.push(new VariableAst(binding.key, binding.name, sourceSpan));
+ }
+ else if (isPresent(binding.expression)) {
+ this._parsePropertyAst(binding.key, binding.expression, sourceSpan, targetMatchableAttrs, targetProps);
+ }
+ else {
+ targetMatchableAttrs.push([binding.key, '']);
+ this.parseLiteralAttr(binding.key, null, sourceSpan, targetMatchableAttrs, targetProps);
+ }
+ }
+ };
+ BindingParser.prototype._parseTemplateBindings = function (prefixToken, value, sourceSpan) {
+ var _this = this;
+ var sourceInfo = sourceSpan.start.toString();
+ try {
+ var bindingsResult = this._exprParser.parseTemplateBindings(prefixToken, value, sourceInfo);
+ this._reportExpressionParserErrors(bindingsResult.errors, sourceSpan);
+ bindingsResult.templateBindings.forEach(function (binding) {
+ if (isPresent(binding.expression)) {
+ _this._checkPipes(binding.expression, sourceSpan);
+ }
+ });
+ bindingsResult.warnings.forEach(function (warning) { _this._reportError(warning, sourceSpan, exports.ParseErrorLevel.WARNING); });
+ return bindingsResult.templateBindings;
+ }
+ catch (e) {
+ this._reportError("" + e, sourceSpan);
+ return [];
+ }
+ };
+ BindingParser.prototype.parseLiteralAttr = function (name, value, sourceSpan, targetMatchableAttrs, targetProps) {
+ if (_isAnimationLabel(name)) {
+ name = name.substring(1);
+ if (value) {
+ this._reportError("Assigning animation triggers via @prop=\"exp\" attributes with an expression is invalid." +
+ " Use property bindings (e.g. [@prop]=\"exp\") or use an attribute without a value (e.g. @prop) instead.", sourceSpan, exports.ParseErrorLevel.FATAL);
+ }
+ this._parseAnimation(name, value, sourceSpan, targetMatchableAttrs, targetProps);
+ }
+ else {
+ targetProps.push(new BoundProperty(name, this._exprParser.wrapLiteralPrimitive(value, ''), BoundPropertyType.LITERAL_ATTR, sourceSpan));
+ }
+ };
+ BindingParser.prototype.parsePropertyBinding = function (name, expression, isHost, sourceSpan, targetMatchableAttrs, targetProps) {
+ var isAnimationProp = false;
+ if (name.startsWith(ANIMATE_PROP_PREFIX)) {
+ isAnimationProp = true;
+ name = name.substring(ANIMATE_PROP_PREFIX.length);
+ }
+ else if (_isAnimationLabel(name)) {
+ isAnimationProp = true;
+ name = name.substring(1);
+ }
+ if (isAnimationProp) {
+ this._parseAnimation(name, expression, sourceSpan, targetMatchableAttrs, targetProps);
+ }
+ else {
+ this._parsePropertyAst(name, this._parseBinding(expression, isHost, sourceSpan), sourceSpan, targetMatchableAttrs, targetProps);
+ }
+ };
+ BindingParser.prototype.parsePropertyInterpolation = function (name, value, sourceSpan, targetMatchableAttrs, targetProps) {
+ var expr = this.parseInterpolation(value, sourceSpan);
+ if (isPresent(expr)) {
+ this._parsePropertyAst(name, expr, sourceSpan, targetMatchableAttrs, targetProps);
+ return true;
+ }
+ return false;
+ };
+ BindingParser.prototype._parsePropertyAst = function (name, ast, sourceSpan, targetMatchableAttrs, targetProps) {
+ targetMatchableAttrs.push([name, ast.source]);
+ targetProps.push(new BoundProperty(name, ast, BoundPropertyType.DEFAULT, sourceSpan));
+ };
+ BindingParser.prototype._parseAnimation = function (name, expression, sourceSpan, targetMatchableAttrs, targetProps) {
+ // This will occur when a @trigger is not paired with an expression.
+ // For animations it is valid to not have an expression since */void
+ // states will be applied by angular when the element is attached/detached
+ var ast = this._parseBinding(expression || 'null', false, sourceSpan);
+ targetMatchableAttrs.push([name, ast.source]);
+ targetProps.push(new BoundProperty(name, ast, BoundPropertyType.ANIMATION, sourceSpan));
+ };
+ BindingParser.prototype._parseBinding = function (value, isHostBinding, sourceSpan) {
+ var sourceInfo = sourceSpan.start.toString();
+ try {
+ var ast = isHostBinding ?
+ this._exprParser.parseSimpleBinding(value, sourceInfo, this._interpolationConfig) :
+ this._exprParser.parseBinding(value, sourceInfo, this._interpolationConfig);
+ if (ast)
+ this._reportExpressionParserErrors(ast.errors, sourceSpan);
+ this._checkPipes(ast, sourceSpan);
+ return ast;
+ }
+ catch (e) {
+ this._reportError("" + e, sourceSpan);
+ return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);
+ }
+ };
+ BindingParser.prototype.createElementPropertyAst = function (elementSelector, boundProp) {
+ if (boundProp.isAnimation) {
+ return new BoundElementPropertyAst(boundProp.name, exports.PropertyBindingType.Animation, _angular_core.SecurityContext.NONE, false, boundProp.expression, null, boundProp.sourceSpan);
+ }
+ var unit = null;
+ var bindingType;
+ var boundPropertyName;
+ var parts = boundProp.name.split(PROPERTY_PARTS_SEPARATOR);
+ var securityContexts;
+ if (parts.length === 1) {
+ var partValue = parts[0];
+ boundPropertyName = this._schemaRegistry.getMappedPropName(partValue);
+ securityContexts = calcPossibleSecurityContexts(this._schemaRegistry, elementSelector, boundPropertyName, false);
+ bindingType = exports.PropertyBindingType.Property;
+ this._validatePropertyOrAttributeName(boundPropertyName, boundProp.sourceSpan, false);
+ }
+ else {
+ if (parts[0] == ATTRIBUTE_PREFIX) {
+ boundPropertyName = parts[1];
+ this._validatePropertyOrAttributeName(boundPropertyName, boundProp.sourceSpan, true);
+ securityContexts = calcPossibleSecurityContexts(this._schemaRegistry, elementSelector, boundPropertyName, true);
+ var nsSeparatorIdx = boundPropertyName.indexOf(':');
+ if (nsSeparatorIdx > -1) {
+ var ns = boundPropertyName.substring(0, nsSeparatorIdx);
+ var name_1 = boundPropertyName.substring(nsSeparatorIdx + 1);
+ boundPropertyName = mergeNsAndName(ns, name_1);
+ }
+ bindingType = exports.PropertyBindingType.Attribute;
+ }
+ else if (parts[0] == CLASS_PREFIX) {
+ boundPropertyName = parts[1];
+ bindingType = exports.PropertyBindingType.Class;
+ securityContexts = [_angular_core.SecurityContext.NONE];
+ }
+ else if (parts[0] == STYLE_PREFIX) {
+ unit = parts.length > 2 ? parts[2] : null;
+ boundPropertyName = parts[1];
+ bindingType = exports.PropertyBindingType.Style;
+ securityContexts = [_angular_core.SecurityContext.STYLE];
+ }
+ else {
+ this._reportError("Invalid property name '" + boundProp.name + "'", boundProp.sourceSpan);
+ bindingType = null;
+ securityContexts = [];
+ }
+ }
+ return new BoundElementPropertyAst(boundPropertyName, bindingType, securityContexts.length === 1 ? securityContexts[0] : null, securityContexts.length > 1, boundProp.expression, unit, boundProp.sourceSpan);
+ };
+ BindingParser.prototype.parseEvent = function (name, expression, sourceSpan, targetMatchableAttrs, targetEvents) {
+ if (_isAnimationLabel(name)) {
+ name = name.substr(1);
+ this._parseAnimationEvent(name, expression, sourceSpan, targetEvents);
+ }
+ else {
+ this._parseEvent(name, expression, sourceSpan, targetMatchableAttrs, targetEvents);
+ }
+ };
+ BindingParser.prototype._parseAnimationEvent = function (name, expression, sourceSpan, targetEvents) {
+ var matches = splitAtPeriod(name, [name, '']);
+ var eventName = matches[0];
+ var phase = matches[1].toLowerCase();
+ if (phase) {
+ switch (phase) {
+ case 'start':
+ case 'done':
+ var ast = this._parseAction(expression, sourceSpan);
+ targetEvents.push(new BoundEventAst(eventName, null, phase, ast, sourceSpan));
+ break;
+ default:
+ this._reportError("The provided animation output phase value \"" + phase + "\" for \"@" + eventName + "\" is not supported (use start or done)", sourceSpan);
+ break;
+ }
+ }
+ else {
+ this._reportError("The animation trigger output event (@" + eventName + ") is missing its phase value name (start or done are currently supported)", sourceSpan);
+ }
+ };
+ BindingParser.prototype._parseEvent = function (name, expression, sourceSpan, targetMatchableAttrs, targetEvents) {
+ // long format: 'target: eventName'
+ var _a = splitAtColon(name, [null, name]), target = _a[0], eventName = _a[1];
+ var ast = this._parseAction(expression, sourceSpan);
+ targetMatchableAttrs.push([name, ast.source]);
+ targetEvents.push(new BoundEventAst(eventName, target, null, ast, sourceSpan));
+ // Don't detect directives for event names for now,
+ // so don't add the event name to the matchableAttrs
+ };
+ BindingParser.prototype._parseAction = function (value, sourceSpan) {
+ var sourceInfo = sourceSpan.start.toString();
+ try {
+ var ast = this._exprParser.parseAction(value, sourceInfo, this._interpolationConfig);
+ if (ast) {
+ this._reportExpressionParserErrors(ast.errors, sourceSpan);
+ }
+ if (!ast || ast.ast instanceof EmptyExpr) {
+ this._reportError("Empty expressions are not allowed", sourceSpan);
+ return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);
+ }
+ this._checkPipes(ast, sourceSpan);
+ return ast;
+ }
+ catch (e) {
+ this._reportError("" + e, sourceSpan);
+ return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);
+ }
+ };
+ BindingParser.prototype._reportError = function (message, sourceSpan, level) {
+ if (level === void 0) { level = exports.ParseErrorLevel.FATAL; }
+ this._targetErrors.push(new ParseError(sourceSpan, message, level));
+ };
+ BindingParser.prototype._reportExpressionParserErrors = function (errors, sourceSpan) {
+ for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {
+ var error = errors_1[_i];
+ this._reportError(error.message, sourceSpan);
+ }
+ };
+ BindingParser.prototype._checkPipes = function (ast, sourceSpan) {
+ var _this = this;
+ if (isPresent(ast)) {
+ var collector = new PipeCollector();
+ ast.visit(collector);
+ collector.pipes.forEach(function (pipeName) {
+ if (!_this.pipesByName.has(pipeName)) {
+ _this._reportError("The pipe '" + pipeName + "' could not be found", sourceSpan);
+ }
+ });
+ }
+ };
+ /**
+ * @param propName the name of the property / attribute
+ * @param sourceSpan
+ * @param isAttr true when binding to an attribute
+ * @private
+ */
+ BindingParser.prototype._validatePropertyOrAttributeName = function (propName, sourceSpan, isAttr) {
+ var report = isAttr ? this._schemaRegistry.validateAttribute(propName) :
+ this._schemaRegistry.validateProperty(propName);
+ if (report.error) {
+ this._reportError(report.msg, sourceSpan, exports.ParseErrorLevel.FATAL);
+ }
+ };
+ return BindingParser;
+ }());
+ var PipeCollector = (function (_super) {
+ __extends$11(PipeCollector, _super);
+ function PipeCollector() {
+ _super.apply(this, arguments);
+ this.pipes = new Set();
+ }
+ PipeCollector.prototype.visitPipe = function (ast, context) {
+ this.pipes.add(ast.name);
+ ast.exp.visit(this);
+ this.visitAll(ast.args, context);
+ return null;
+ };
+ return PipeCollector;
+ }(RecursiveAstVisitor));
+ function _isAnimationLabel(name) {
+ return name[0] == '@';
+ }
+ function calcPossibleSecurityContexts(registry, selector, propName, isAttribute) {
+ var ctxs = [];
+ CssSelector.parse(selector).forEach(function (selector) {
+ var elementNames = selector.element ? [selector.element] : registry.allKnownElementNames();
+ var notElementNames = new Set(selector.notSelectors.filter(function (selector) { return selector.isElementSelector(); })
+ .map(function (selector) { return selector.element; }));
+ var possibleElementNames = elementNames.filter(function (elementName) { return !notElementNames.has(elementName); });
+ ctxs.push.apply(ctxs, possibleElementNames.map(function (elementName) { return registry.securityContext(elementName, propName, isAttribute); }));
+ });
+ return ctxs.length === 0 ? [_angular_core.SecurityContext.NONE] : Array.from(new Set(ctxs)).sort();
+ }
+
var NG_CONTENT_SELECT_ATTR = 'select';
var NG_CONTENT_ELEMENT = 'ng-content';
var LINK_ELEMENT = 'link';
@@ -17752,15 +17098,10 @@
var IDENT_BANANA_BOX_IDX = 8;
var IDENT_PROPERTY_IDX = 9;
var IDENT_EVENT_IDX = 10;
- var ANIMATE_PROP_PREFIX = 'animate-';
var TEMPLATE_ELEMENT = 'template';
var TEMPLATE_ATTR = 'template';
var TEMPLATE_ATTR_PREFIX = '*';
var CLASS_ATTR = 'class';
- var PROPERTY_PARTS_SEPARATOR = '.';
- var ATTRIBUTE_PREFIX = 'attr';
- var CLASS_PREFIX = 'class';
- var STYLE_PREFIX = 'style';
var TEXT_CSS_SELECTOR = CssSelector.parse('*')[0];
/**
* Provides an array of {@link TemplateAstVisitor}s which will be used to transform
@@ -17794,8 +17135,8 @@
}
TemplateParser.prototype.parse = function (component, template, directives, pipes, schemas, templateUrl) {
var result = this.tryParse(component, template, directives, pipes, schemas, templateUrl);
- var warnings = result.errors.filter(function (error) { return error.level === ParseErrorLevel.WARNING; });
- var errors = result.errors.filter(function (error) { return error.level === ParseErrorLevel.FATAL; });
+ var warnings = result.errors.filter(function (error) { return error.level === exports.ParseErrorLevel.WARNING; });
+ var errors = result.errors.filter(function (error) { return error.level === exports.ParseErrorLevel.FATAL; });
if (warnings.length > 0) {
this._console.warn("Template parse warnings:\n" + warnings.join('\n'));
}
@@ -17812,12 +17153,20 @@
var result;
var errors = htmlAstWithErrors.errors;
if (htmlAstWithErrors.rootNodes.length > 0) {
- var uniqDirectives = removeIdentifierDuplicates(directives);
- var uniqPipes = removeIdentifierDuplicates(pipes);
+ var uniqDirectives = removeSummaryDuplicates(directives);
+ var uniqPipes = removeSummaryDuplicates(pipes);
var providerViewContext = new ProviderViewContext(component, htmlAstWithErrors.rootNodes[0].sourceSpan);
- var parseVisitor = new TemplateParseVisitor(providerViewContext, uniqDirectives, uniqPipes, schemas, this._exprParser, this._schemaRegistry);
+ var interpolationConfig = void 0;
+ if (component.template && component.template.interpolation) {
+ interpolationConfig = {
+ start: component.template.interpolation[0],
+ end: component.template.interpolation[1]
+ };
+ }
+ var bindingParser = new BindingParser(this._exprParser, interpolationConfig, this._schemaRegistry, uniqPipes, errors);
+ var parseVisitor = new TemplateParseVisitor(providerViewContext, uniqDirectives, bindingParser, this._schemaRegistry, schemas, errors);
result = visitAll(parseVisitor, htmlAstWithErrors.rootNodes, EMPTY_ELEMENT_CONTEXT);
- errors.push.apply(errors, parseVisitor.errors.concat(providerViewContext.errors));
+ errors.push.apply(errors, providerViewContext.errors);
}
else {
result = [];
@@ -17857,7 +17206,7 @@
existingReferences.push(name);
}
else {
- var error = new TemplateParseError("Reference \"#" + name + "\" is defined several times", reference.sourceSpan, ParseErrorLevel.FATAL);
+ var error = new TemplateParseError("Reference \"#" + name + "\" is defined several times", reference.sourceSpan, exports.ParseErrorLevel.FATAL);
errors.push(error);
}
}); });
@@ -17876,128 +17225,27 @@
return TemplateParser;
}());
var TemplateParseVisitor = (function () {
- function TemplateParseVisitor(providerViewContext, directives, pipes, _schemas, _exprParser, _schemaRegistry) {
+ function TemplateParseVisitor(providerViewContext, directives, _bindingParser, _schemaRegistry, _schemas, _targetErrors) {
var _this = this;
this.providerViewContext = providerViewContext;
- this._schemas = _schemas;
- this._exprParser = _exprParser;
+ this._bindingParser = _bindingParser;
this._schemaRegistry = _schemaRegistry;
+ this._schemas = _schemas;
+ this._targetErrors = _targetErrors;
this.selectorMatcher = new SelectorMatcher();
- this.errors = [];
this.directivesIndex = new Map();
this.ngContentCount = 0;
- this.pipesByName = new Map();
- var tempMeta = providerViewContext.component.template;
- if (tempMeta && tempMeta.interpolation) {
- this._interpolationConfig = {
- start: tempMeta.interpolation[0],
- end: tempMeta.interpolation[1]
- };
- }
directives.forEach(function (directive, index) {
var selector = CssSelector.parse(directive.selector);
_this.selectorMatcher.addSelectables(selector, directive);
_this.directivesIndex.set(directive, index);
});
- pipes.forEach(function (pipe) { return _this.pipesByName.set(pipe.name, pipe); });
}
- TemplateParseVisitor.prototype._reportError = function (message, sourceSpan, level) {
- if (level === void 0) { level = ParseErrorLevel.FATAL; }
- this.errors.push(new TemplateParseError(message, sourceSpan, level));
- };
- TemplateParseVisitor.prototype._reportParserErrors = function (errors, sourceSpan) {
- for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {
- var error = errors_1[_i];
- this._reportError(error.message, sourceSpan);
- }
- };
- TemplateParseVisitor.prototype._parseInterpolation = function (value, sourceSpan) {
- var sourceInfo = sourceSpan.start.toString();
- try {
- var ast = this._exprParser.parseInterpolation(value, sourceInfo, this._interpolationConfig);
- if (ast)
- this._reportParserErrors(ast.errors, sourceSpan);
- this._checkPipes(ast, sourceSpan);
- if (isPresent(ast) &&
- ast.ast.expressions.length > MAX_INTERPOLATION_VALUES) {
- throw new Error("Only support at most " + MAX_INTERPOLATION_VALUES + " interpolation values!");
- }
- return ast;
- }
- catch (e) {
- this._reportError("" + e, sourceSpan);
- return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);
- }
- };
- TemplateParseVisitor.prototype._parseAction = function (value, sourceSpan) {
- var sourceInfo = sourceSpan.start.toString();
- try {
- var ast = this._exprParser.parseAction(value, sourceInfo, this._interpolationConfig);
- if (ast) {
- this._reportParserErrors(ast.errors, sourceSpan);
- }
- if (!ast || ast.ast instanceof EmptyExpr) {
- this._reportError("Empty expressions are not allowed", sourceSpan);
- return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);
- }
- this._checkPipes(ast, sourceSpan);
- return ast;
- }
- catch (e) {
- this._reportError("" + e, sourceSpan);
- return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);
- }
- };
- TemplateParseVisitor.prototype._parseBinding = function (value, sourceSpan) {
- var sourceInfo = sourceSpan.start.toString();
- try {
- var ast = this._exprParser.parseBinding(value, sourceInfo, this._interpolationConfig);
- if (ast)
- this._reportParserErrors(ast.errors, sourceSpan);
- this._checkPipes(ast, sourceSpan);
- return ast;
- }
- catch (e) {
- this._reportError("" + e, sourceSpan);
- return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);
- }
- };
- TemplateParseVisitor.prototype._parseTemplateBindings = function (value, sourceSpan) {
- var _this = this;
- var sourceInfo = sourceSpan.start.toString();
- try {
- var bindingsResult = this._exprParser.parseTemplateBindings(value, sourceInfo);
- this._reportParserErrors(bindingsResult.errors, sourceSpan);
- bindingsResult.templateBindings.forEach(function (binding) {
- if (isPresent(binding.expression)) {
- _this._checkPipes(binding.expression, sourceSpan);
- }
- });
- bindingsResult.warnings.forEach(function (warning) { _this._reportError(warning, sourceSpan, ParseErrorLevel.WARNING); });
- return bindingsResult.templateBindings;
- }
- catch (e) {
- this._reportError("" + e, sourceSpan);
- return [];
- }
- };
- TemplateParseVisitor.prototype._checkPipes = function (ast, sourceSpan) {
- var _this = this;
- if (isPresent(ast)) {
- var collector = new PipeCollector();
- ast.visit(collector);
- collector.pipes.forEach(function (pipeName) {
- if (!_this.pipesByName.has(pipeName)) {
- _this._reportError("The pipe '" + pipeName + "' could not be found", sourceSpan);
- }
- });
- }
- };
TemplateParseVisitor.prototype.visitExpansion = function (expansion, context) { return null; };
TemplateParseVisitor.prototype.visitExpansionCase = function (expansionCase, context) { return null; };
TemplateParseVisitor.prototype.visitText = function (text, parent) {
var ngContentIndex = parent.findNgContentIndex(TEXT_CSS_SELECTOR);
- var expr = this._parseInterpolation(text.value, text.sourceSpan);
+ var expr = this._bindingParser.parseInterpolation(text.value, text.sourceSpan);
if (isPresent(expr)) {
return new BoundTextAst(expr, ngContentIndex, text.sourceSpan);
}
@@ -18030,7 +17278,6 @@
var elementOrDirectiveProps = [];
var elementOrDirectiveRefs = [];
var elementVars = [];
- var animationProps = [];
var events = [];
var templateElementOrDirectiveProps = [];
var templateMatchableAttrs = [];
@@ -18040,26 +17287,35 @@
var lcElName = splitNsName(nodeName.toLowerCase())[1];
var isTemplateElement = lcElName == TEMPLATE_ELEMENT;
element.attrs.forEach(function (attr) {
- var hasBinding = _this._parseAttr(isTemplateElement, attr, matchableAttrs, elementOrDirectiveProps, animationProps, events, elementOrDirectiveRefs, elementVars);
- var hasTemplateBinding = _this._parseInlineTemplateBinding(attr, templateMatchableAttrs, templateElementOrDirectiveProps, templateElementVars);
- if (hasTemplateBinding && hasInlineTemplates) {
- _this._reportError("Can't have multiple template bindings on one element. Use only one attribute named 'template' or prefixed with *", attr.sourceSpan);
+ var hasBinding = _this._parseAttr(isTemplateElement, attr, matchableAttrs, elementOrDirectiveProps, events, elementOrDirectiveRefs, elementVars);
+ var templateBindingsSource = undefined;
+ var prefixToken = undefined;
+ if (_this._normalizeAttributeName(attr.name) == TEMPLATE_ATTR) {
+ templateBindingsSource = attr.value;
+ }
+ else if (attr.name.startsWith(TEMPLATE_ATTR_PREFIX)) {
+ templateBindingsSource = attr.value;
+ prefixToken = attr.name.substring(TEMPLATE_ATTR_PREFIX.length); // remove the star
+ }
+ var hasTemplateBinding = isPresent(templateBindingsSource);
+ if (hasTemplateBinding) {
+ if (hasInlineTemplates) {
+ _this._reportError("Can't have multiple template bindings on one element. Use only one attribute named 'template' or prefixed with *", attr.sourceSpan);
+ }
+ hasInlineTemplates = true;
+ _this._bindingParser.parseInlineTemplateBinding(attr.name, prefixToken, templateBindingsSource, attr.sourceSpan, templateMatchableAttrs, templateElementOrDirectiveProps, templateElementVars);
}
if (!hasBinding && !hasTemplateBinding) {
// don't include the bindings as attributes as well in the AST
attrs.push(_this.visitAttribute(attr, null));
matchableAttrs.push([attr.name, attr.value]);
}
- if (hasTemplateBinding) {
- hasInlineTemplates = true;
- }
});
var elementCssSelector = createElementCssSelector(nodeName, matchableAttrs);
var _a = this._parseDirectives(this.selectorMatcher, elementCssSelector), directiveMetas = _a.directives, matchElement = _a.matchElement;
var references = [];
var directiveAsts = this._createDirectiveAsts(isTemplateElement, element.name, directiveMetas, elementOrDirectiveProps, elementOrDirectiveRefs, element.sourceSpan, references);
- var elementProps = this._createElementPropertyAsts(element.name, elementOrDirectiveProps, directiveAsts)
- .concat(animationProps);
+ var elementProps = this._createElementPropertyAsts(element.name, elementOrDirectiveProps, directiveAsts);
var isViewRoot = parent.isTemplateElement || hasInlineTemplates;
var providerContext = new ProviderElementContext(this.providerViewContext, parent.providerContext, isViewRoot, directiveAsts, attrs, references, element.sourceSpan);
var children = visitAll(preparsedElement.nonBindable ? NON_BINDABLE_VISITOR : this, element.children, ElementContext.create(isTemplateElement, directiveAsts, isTemplateElement ? parent.providerContext : providerContext));
@@ -18089,7 +17345,7 @@
this._findComponentDirectives(directiveAsts)
.forEach(function (componentDirectiveAst) { return _this._validateElementAnimationInputOutputs(componentDirectiveAst.hostProperties, componentDirectiveAst.hostEvents, componentDirectiveAst.directive.template); });
var componentTemplate = providerContext.viewContext.component.template;
- this._validateElementAnimationInputOutputs(elementProps, events, componentTemplate);
+ this._validateElementAnimationInputOutputs(elementProps, events, componentTemplate.toSummary());
}
if (hasInlineTemplates) {
var templateCssSelector = createElementCssSelector(TEMPLATE_ELEMENT, templateMatchableAttrs);
@@ -18106,7 +17362,7 @@
TemplateParseVisitor.prototype._validateElementAnimationInputOutputs = function (inputs, outputs, template) {
var _this = this;
var triggerLookup = new Set();
- template.animations.forEach(function (entry) { triggerLookup.add(entry.name); });
+ template.animations.forEach(function (entry) { triggerLookup.add(entry); });
var animationInputs = inputs.filter(function (input) { return input.isAnimation; });
animationInputs.forEach(function (input) {
var name = input.name;
@@ -18123,35 +17379,7 @@
}
});
};
- TemplateParseVisitor.prototype._parseInlineTemplateBinding = function (attr, targetMatchableAttrs, targetProps, targetVars) {
- var templateBindingsSource = null;
- if (this._normalizeAttributeName(attr.name) == TEMPLATE_ATTR) {
- templateBindingsSource = attr.value;
- }
- else if (attr.name.startsWith(TEMPLATE_ATTR_PREFIX)) {
- var key = attr.name.substring(TEMPLATE_ATTR_PREFIX.length); // remove the star
- templateBindingsSource = (attr.value.length == 0) ? key : key + ' ' + attr.value;
- }
- if (isPresent(templateBindingsSource)) {
- var bindings = this._parseTemplateBindings(templateBindingsSource, attr.sourceSpan);
- for (var i = 0; i < bindings.length; i++) {
- var binding = bindings[i];
- if (binding.keyIsVar) {
- targetVars.push(new VariableAst(binding.key, binding.name, attr.sourceSpan));
- }
- else if (isPresent(binding.expression)) {
- this._parsePropertyAst(binding.key, binding.expression, attr.sourceSpan, targetMatchableAttrs, targetProps);
- }
- else {
- targetMatchableAttrs.push([binding.key, '']);
- this._parseLiteralAttr(binding.key, null, attr.sourceSpan, targetProps);
- }
- }
- return true;
- }
- return false;
- };
- TemplateParseVisitor.prototype._parseAttr = function (isTemplateElement, attr, targetMatchableAttrs, targetProps, targetAnimationProps, targetEvents, targetRefs, targetVars) {
+ TemplateParseVisitor.prototype._parseAttr = function (isTemplateElement, attr, targetMatchableAttrs, targetProps, targetEvents, targetRefs, targetVars) {
var name = this._normalizeAttributeName(attr.name);
var value = attr.value;
var srcSpan = attr.sourceSpan;
@@ -18160,7 +17388,7 @@
if (bindParts !== null) {
hasBinding = true;
if (isPresent(bindParts[KW_BIND_IDX])) {
- this._parsePropertyOrAnimation(bindParts[IDENT_KW_IDX], value, srcSpan, targetMatchableAttrs, targetProps, targetAnimationProps);
+ this._bindingParser.parsePropertyBinding(bindParts[IDENT_KW_IDX], value, false, srcSpan, targetMatchableAttrs, targetProps);
}
else if (bindParts[KW_LET_IDX]) {
if (isTemplateElement) {
@@ -18176,36 +17404,31 @@
this._parseReference(identifier, value, srcSpan, targetRefs);
}
else if (bindParts[KW_ON_IDX]) {
- this._parseEventOrAnimationEvent(bindParts[IDENT_KW_IDX], value, srcSpan, targetMatchableAttrs, targetEvents);
+ this._bindingParser.parseEvent(bindParts[IDENT_KW_IDX], value, srcSpan, targetMatchableAttrs, targetEvents);
}
else if (bindParts[KW_BINDON_IDX]) {
- this._parsePropertyOrAnimation(bindParts[IDENT_KW_IDX], value, srcSpan, targetMatchableAttrs, targetProps, targetAnimationProps);
+ this._bindingParser.parsePropertyBinding(bindParts[IDENT_KW_IDX], value, false, srcSpan, targetMatchableAttrs, targetProps);
this._parseAssignmentEvent(bindParts[IDENT_KW_IDX], value, srcSpan, targetMatchableAttrs, targetEvents);
}
else if (bindParts[KW_AT_IDX]) {
- if (_isAnimationLabel(name) && isPresent(value) && value.length > 0) {
- this._reportError("Assigning animation triggers via @prop=\"exp\" attributes with an expression is invalid." +
- " Use property bindings (e.g. [@prop]=\"exp\") or use an attribute without a value (e.g. @prop) instead.", srcSpan, ParseErrorLevel.FATAL);
- }
- this._parseAnimation(bindParts[IDENT_KW_IDX], value, srcSpan, targetMatchableAttrs, targetAnimationProps);
+ this._bindingParser.parseLiteralAttr(name, value, srcSpan, targetMatchableAttrs, targetProps);
}
else if (bindParts[IDENT_BANANA_BOX_IDX]) {
- this._parsePropertyOrAnimation(bindParts[IDENT_BANANA_BOX_IDX], value, srcSpan, targetMatchableAttrs, targetProps, targetAnimationProps);
+ this._bindingParser.parsePropertyBinding(bindParts[IDENT_BANANA_BOX_IDX], value, false, srcSpan, targetMatchableAttrs, targetProps);
this._parseAssignmentEvent(bindParts[IDENT_BANANA_BOX_IDX], value, srcSpan, targetMatchableAttrs, targetEvents);
}
else if (bindParts[IDENT_PROPERTY_IDX]) {
- this._parsePropertyOrAnimation(bindParts[IDENT_PROPERTY_IDX], value, srcSpan, targetMatchableAttrs, targetProps, targetAnimationProps);
+ this._bindingParser.parsePropertyBinding(bindParts[IDENT_PROPERTY_IDX], value, false, srcSpan, targetMatchableAttrs, targetProps);
}
else if (bindParts[IDENT_EVENT_IDX]) {
- this._parseEventOrAnimationEvent(bindParts[IDENT_EVENT_IDX], value, srcSpan, targetMatchableAttrs, targetEvents);
+ this._bindingParser.parseEvent(bindParts[IDENT_EVENT_IDX], value, srcSpan, targetMatchableAttrs, targetEvents);
}
}
else {
- hasBinding =
- this._parsePropertyInterpolation(name, value, srcSpan, targetMatchableAttrs, targetProps);
+ hasBinding = this._bindingParser.parsePropertyInterpolation(name, value, srcSpan, targetMatchableAttrs, targetProps);
}
if (!hasBinding) {
- this._parseLiteralAttr(name, value, srcSpan, targetProps);
+ this._bindingParser.parseLiteralAttr(name, value, srcSpan, targetMatchableAttrs, targetProps);
}
return hasBinding;
};
@@ -18224,87 +17447,8 @@
}
targetRefs.push(new ElementOrDirectiveRef(identifier, value, sourceSpan));
};
- TemplateParseVisitor.prototype._parsePropertyOrAnimation = function (name, expression, sourceSpan, targetMatchableAttrs, targetProps, targetAnimationProps) {
- var animatePropLength = ANIMATE_PROP_PREFIX.length;
- var isAnimationProp = _isAnimationLabel(name);
- var animationPrefixLength = 1;
- if (name.substring(0, animatePropLength) == ANIMATE_PROP_PREFIX) {
- isAnimationProp = true;
- animationPrefixLength = animatePropLength;
- }
- if (isAnimationProp) {
- this._parseAnimation(name.substr(animationPrefixLength), expression, sourceSpan, targetMatchableAttrs, targetAnimationProps);
- }
- else {
- this._parsePropertyAst(name, this._parseBinding(expression, sourceSpan), sourceSpan, targetMatchableAttrs, targetProps);
- }
- };
- TemplateParseVisitor.prototype._parseAnimation = function (name, expression, sourceSpan, targetMatchableAttrs, targetAnimationProps) {
- // This will occur when a @trigger is not paired with an expression.
- // For animations it is valid to not have an expression since */void
- // states will be applied by angular when the element is attached/detached
- if (!isPresent(expression) || expression.length == 0) {
- expression = 'null';
- }
- var ast = this._parseBinding(expression, sourceSpan);
- targetMatchableAttrs.push([name, ast.source]);
- targetAnimationProps.push(new BoundElementPropertyAst(name, exports.PropertyBindingType.Animation, _angular_core.SecurityContext.NONE, ast, null, sourceSpan));
- };
- TemplateParseVisitor.prototype._parsePropertyInterpolation = function (name, value, sourceSpan, targetMatchableAttrs, targetProps) {
- var expr = this._parseInterpolation(value, sourceSpan);
- if (isPresent(expr)) {
- this._parsePropertyAst(name, expr, sourceSpan, targetMatchableAttrs, targetProps);
- return true;
- }
- return false;
- };
- TemplateParseVisitor.prototype._parsePropertyAst = function (name, ast, sourceSpan, targetMatchableAttrs, targetProps) {
- targetMatchableAttrs.push([name, ast.source]);
- targetProps.push(new BoundElementOrDirectiveProperty(name, ast, false, sourceSpan));
- };
TemplateParseVisitor.prototype._parseAssignmentEvent = function (name, expression, sourceSpan, targetMatchableAttrs, targetEvents) {
- this._parseEventOrAnimationEvent(name + "Change", expression + "=$event", sourceSpan, targetMatchableAttrs, targetEvents);
- };
- TemplateParseVisitor.prototype._parseEventOrAnimationEvent = function (name, expression, sourceSpan, targetMatchableAttrs, targetEvents) {
- if (_isAnimationLabel(name)) {
- name = name.substr(1);
- this._parseAnimationEvent(name, expression, sourceSpan, targetEvents);
- }
- else {
- this._parseEvent(name, expression, sourceSpan, targetMatchableAttrs, targetEvents);
- }
- };
- TemplateParseVisitor.prototype._parseAnimationEvent = function (name, expression, sourceSpan, targetEvents) {
- var matches = splitAtPeriod(name, [name, '']);
- var eventName = matches[0];
- var phase = matches[1].toLowerCase();
- if (phase) {
- switch (phase) {
- case 'start':
- case 'done':
- var ast = this._parseAction(expression, sourceSpan);
- targetEvents.push(new BoundEventAst(eventName, null, phase, ast, sourceSpan));
- break;
- default:
- this._reportError("The provided animation output phase value \"" + phase + "\" for \"@" + eventName + "\" is not supported (use start or done)", sourceSpan);
- break;
- }
- }
- else {
- this._reportError("The animation trigger output event (@" + eventName + ") is missing its phase value name (start or done are currently supported)", sourceSpan);
- }
- };
- TemplateParseVisitor.prototype._parseEvent = function (name, expression, sourceSpan, targetMatchableAttrs, targetEvents) {
- // long format: 'target: eventName'
- var _a = splitAtColon(name, [null, name]), target = _a[0], eventName = _a[1];
- var ast = this._parseAction(expression, sourceSpan);
- targetMatchableAttrs.push([name, ast.source]);
- targetEvents.push(new BoundEventAst(eventName, target, null, ast, sourceSpan));
- // Don't detect directives for event names for now,
- // so don't add the event name to the matchableAttrs
- };
- TemplateParseVisitor.prototype._parseLiteralAttr = function (name, value, sourceSpan, targetProps) {
- targetProps.push(new BoundElementOrDirectiveProperty(name, this._exprParser.wrapLiteralPrimitive(value, ''), true, sourceSpan));
+ this._bindingParser.parseEvent(name + "Change", expression + "=$event", sourceSpan, targetMatchableAttrs, targetEvents);
};
TemplateParseVisitor.prototype._parseDirectives = function (selectorMatcher, elementCssSelector) {
var _this = this;
@@ -18332,11 +17476,12 @@
if (directive.isComponent) {
component = directive;
}
- var hostProperties = [];
- var hostEvents = [];
var directiveProperties = [];
- _this._createDirectiveHostPropertyAsts(elementName, directive.hostProperties, sourceSpan, hostProperties);
- _this._createDirectiveHostEventAsts(directive.hostListeners, sourceSpan, hostEvents);
+ var hostProperties = _this._bindingParser.createDirectiveHostPropertyAsts(directive, sourceSpan);
+ // Note: We need to check the host properties here as well,
+ // as we don't know the element name in the DirectiveWrapperCompiler yet.
+ _this._checkPropertiesInSchema(elementName, hostProperties);
+ var hostEvents = _this._bindingParser.createDirectiveHostEventAsts(directive, sourceSpan);
_this._createDirectivePropertyAsts(directive.inputs, props, directiveProperties);
elementOrDirectiveRefs.forEach(function (elOrDirRef) {
if ((elOrDirRef.value.length === 0 && directive.isComponent) ||
@@ -18363,35 +17508,6 @@
}); // fix syntax highlighting issue: `
return directiveAsts;
};
- TemplateParseVisitor.prototype._createDirectiveHostPropertyAsts = function (elementName, hostProps, sourceSpan, targetPropertyAsts) {
- var _this = this;
- if (hostProps) {
- Object.keys(hostProps).forEach(function (propName) {
- var expression = hostProps[propName];
- if (isString(expression)) {
- var exprAst = _this._parseBinding(expression, sourceSpan);
- targetPropertyAsts.push(_this._createElementPropertyAst(elementName, propName, exprAst, sourceSpan));
- }
- else {
- _this._reportError("Value of the host property binding \"" + propName + "\" needs to be a string representing an expression but got \"" + expression + "\" (" + typeof expression + ")", sourceSpan);
- }
- });
- }
- };
- TemplateParseVisitor.prototype._createDirectiveHostEventAsts = function (hostListeners, sourceSpan, targetEventAsts) {
- var _this = this;
- if (hostListeners) {
- Object.keys(hostListeners).forEach(function (propName) {
- var expression = hostListeners[propName];
- if (isString(expression)) {
- _this._parseEventOrAnimationEvent(propName, expression, sourceSpan, [], targetEventAsts);
- }
- else {
- _this._reportError("Value of the host listener \"" + propName + "\" needs to be a string representing an expression but got \"" + expression + "\" (" + typeof expression + ")", sourceSpan);
- }
- });
- }
- };
TemplateParseVisitor.prototype._createDirectivePropertyAsts = function (directiveProperties, boundProps, targetBoundDirectiveProps) {
if (directiveProperties) {
var boundPropsByName_1 = new Map();
@@ -18423,87 +17539,12 @@
});
props.forEach(function (prop) {
if (!prop.isLiteral && !boundDirectivePropsIndex.get(prop.name)) {
- boundElementProps.push(_this._createElementPropertyAst(elementName, prop.name, prop.expression, prop.sourceSpan));
+ boundElementProps.push(_this._bindingParser.createElementPropertyAst(elementName, prop));
}
});
+ this._checkPropertiesInSchema(elementName, boundElementProps);
return boundElementProps;
};
- TemplateParseVisitor.prototype._createElementPropertyAst = function (elementName, name, ast, sourceSpan) {
- var unit = null;
- var bindingType;
- var boundPropertyName;
- var parts = name.split(PROPERTY_PARTS_SEPARATOR);
- var securityContext;
- if (parts.length === 1) {
- var partValue = parts[0];
- if (_isAnimationLabel(partValue)) {
- boundPropertyName = partValue.substr(1);
- bindingType = exports.PropertyBindingType.Animation;
- securityContext = _angular_core.SecurityContext.NONE;
- }
- else {
- boundPropertyName = this._schemaRegistry.getMappedPropName(partValue);
- securityContext = this._schemaRegistry.securityContext(elementName, boundPropertyName);
- bindingType = exports.PropertyBindingType.Property;
- this._validatePropertyOrAttributeName(boundPropertyName, sourceSpan, false);
- if (!this._schemaRegistry.hasProperty(elementName, boundPropertyName, this._schemas)) {
- var errorMsg = "Can't bind to '" + boundPropertyName + "' since it isn't a known property of '" + elementName + "'.";
- if (elementName.indexOf('-') > -1) {
- errorMsg +=
- ("\n1. If '" + elementName + "' is an Angular component and it has '" + boundPropertyName + "' input, then verify that it is part of this module.") +
- ("\n2. If '" + elementName + "' is a Web Component then add \"CUSTOM_ELEMENTS_SCHEMA\" to the '@NgModule.schemas' of this component to suppress this message.\n");
- }
- this._reportError(errorMsg, sourceSpan);
- }
- }
- }
- else {
- if (parts[0] == ATTRIBUTE_PREFIX) {
- boundPropertyName = parts[1];
- this._validatePropertyOrAttributeName(boundPropertyName, sourceSpan, true);
- // NB: For security purposes, use the mapped property name, not the attribute name.
- var mapPropName = this._schemaRegistry.getMappedPropName(boundPropertyName);
- securityContext = this._schemaRegistry.securityContext(elementName, mapPropName);
- var nsSeparatorIdx = boundPropertyName.indexOf(':');
- if (nsSeparatorIdx > -1) {
- var ns = boundPropertyName.substring(0, nsSeparatorIdx);
- var name_1 = boundPropertyName.substring(nsSeparatorIdx + 1);
- boundPropertyName = mergeNsAndName(ns, name_1);
- }
- bindingType = exports.PropertyBindingType.Attribute;
- }
- else if (parts[0] == CLASS_PREFIX) {
- boundPropertyName = parts[1];
- bindingType = exports.PropertyBindingType.Class;
- securityContext = _angular_core.SecurityContext.NONE;
- }
- else if (parts[0] == STYLE_PREFIX) {
- unit = parts.length > 2 ? parts[2] : null;
- boundPropertyName = parts[1];
- bindingType = exports.PropertyBindingType.Style;
- securityContext = _angular_core.SecurityContext.STYLE;
- }
- else {
- this._reportError("Invalid property name '" + name + "'", sourceSpan);
- bindingType = null;
- securityContext = null;
- }
- }
- return new BoundElementPropertyAst(boundPropertyName, bindingType, securityContext, ast, unit, sourceSpan);
- };
- /**
- * @param propName the name of the property / attribute
- * @param sourceSpan
- * @param isAttr true when binding to an attribute
- * @private
- */
- TemplateParseVisitor.prototype._validatePropertyOrAttributeName = function (propName, sourceSpan, isAttr) {
- var report = isAttr ? this._schemaRegistry.validateAttribute(propName) :
- this._schemaRegistry.validateProperty(propName);
- if (report.error) {
- this._reportError(report.msg, sourceSpan, ParseErrorLevel.FATAL);
- }
- };
TemplateParseVisitor.prototype._findComponentDirectives = function (directives) {
return directives.filter(function (directive) { return directive.directive.isComponent; });
};
@@ -18514,7 +17555,9 @@
TemplateParseVisitor.prototype._assertOnlyOneComponent = function (directives, sourceSpan) {
var componentTypeNames = this._findComponentDirectiveNames(directives);
if (componentTypeNames.length > 1) {
- this._reportError("More than one component: " + componentTypeNames.join(','), sourceSpan);
+ this._reportError("More than one component matched on this element.\n" +
+ "Make sure that only one component's selector can match a given element.\n" +
+ ("Conflicting components: " + componentTypeNames.join(',')), sourceSpan);
}
};
/**
@@ -18560,6 +17603,25 @@
}
});
};
+ TemplateParseVisitor.prototype._checkPropertiesInSchema = function (elementName, boundProps) {
+ var _this = this;
+ boundProps.forEach(function (boundProp) {
+ if (boundProp.type === exports.PropertyBindingType.Property &&
+ !_this._schemaRegistry.hasProperty(elementName, boundProp.name, _this._schemas)) {
+ var errorMsg = "Can't bind to '" + boundProp.name + "' since it isn't a known property of '" + elementName + "'.";
+ if (elementName.indexOf('-') > -1) {
+ errorMsg +=
+ ("\n1. If '" + elementName + "' is an Angular component and it has '" + boundProp.name + "' input, then verify that it is part of this module.") +
+ ("\n2. If '" + elementName + "' is a Web Component then add \"CUSTOM_ELEMENTS_SCHEMA\" to the '@NgModule.schemas' of this component to suppress this message.\n");
+ }
+ _this._reportError(errorMsg, boundProp.sourceSpan);
+ }
+ });
+ };
+ TemplateParseVisitor.prototype._reportError = function (message, sourceSpan, level) {
+ if (level === void 0) { level = exports.ParseErrorLevel.FATAL; }
+ this._targetErrors.push(new ParseError(sourceSpan, message, level));
+ };
return TemplateParseVisitor;
}());
var NonBindableVisitor = (function () {
@@ -18593,15 +17655,6 @@
NonBindableVisitor.prototype.visitExpansionCase = function (expansionCase, context) { return expansionCase; };
return NonBindableVisitor;
}());
- var BoundElementOrDirectiveProperty = (function () {
- function BoundElementOrDirectiveProperty(name, expression, isLiteral, sourceSpan) {
- this.name = name;
- this.expression = expression;
- this.isLiteral = isLiteral;
- this.sourceSpan = sourceSpan;
- }
- return BoundElementOrDirectiveProperty;
- }());
var ElementOrDirectiveRef = (function () {
function ElementOrDirectiveRef(name, value, sourceSpan) {
this.name = name;
@@ -18667,26 +17720,18 @@
}
var EMPTY_ELEMENT_CONTEXT = new ElementContext(true, new SelectorMatcher(), null, null);
var NON_BINDABLE_VISITOR = new NonBindableVisitor();
- var PipeCollector = (function (_super) {
- __extends(PipeCollector, _super);
- function PipeCollector() {
- _super.apply(this, arguments);
- this.pipes = new Set();
- }
- PipeCollector.prototype.visitPipe = function (ast, context) {
- this.pipes.add(ast.name);
- ast.exp.visit(this);
- this.visitAll(ast.args, context);
- return null;
- };
- return PipeCollector;
- }(RecursiveAstVisitor));
- function _isAnimationLabel(name) {
- return name[0] == '@';
- }
function _isEmptyTextNode(node) {
return node instanceof Text && node.value.trim().length == 0;
}
+ function removeSummaryDuplicates(items) {
+ var map = new Map();
+ items.forEach(function (item) {
+ if (!map.get(item.type.reference)) {
+ map.set(item.type.reference, item);
+ }
+ });
+ return Array.from(map.values());
+ }
function unimplemented$1() {
throw new Error('unimplemented');
@@ -18785,6 +17830,944 @@
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
+ //// Types
+ var TypeModifier;
+ (function (TypeModifier) {
+ TypeModifier[TypeModifier["Const"] = 0] = "Const";
+ })(TypeModifier || (TypeModifier = {}));
+ var Type$1 = (function () {
+ function Type(modifiers) {
+ if (modifiers === void 0) { modifiers = null; }
+ this.modifiers = modifiers;
+ if (!modifiers) {
+ this.modifiers = [];
+ }
+ }
+ Type.prototype.hasModifier = function (modifier) { return this.modifiers.indexOf(modifier) !== -1; };
+ return Type;
+ }());
+ var BuiltinTypeName;
+ (function (BuiltinTypeName) {
+ BuiltinTypeName[BuiltinTypeName["Dynamic"] = 0] = "Dynamic";
+ BuiltinTypeName[BuiltinTypeName["Bool"] = 1] = "Bool";
+ BuiltinTypeName[BuiltinTypeName["String"] = 2] = "String";
+ BuiltinTypeName[BuiltinTypeName["Int"] = 3] = "Int";
+ BuiltinTypeName[BuiltinTypeName["Number"] = 4] = "Number";
+ BuiltinTypeName[BuiltinTypeName["Function"] = 5] = "Function";
+ BuiltinTypeName[BuiltinTypeName["Null"] = 6] = "Null";
+ })(BuiltinTypeName || (BuiltinTypeName = {}));
+ var BuiltinType = (function (_super) {
+ __extends$12(BuiltinType, _super);
+ function BuiltinType(name, modifiers) {
+ if (modifiers === void 0) { modifiers = null; }
+ _super.call(this, modifiers);
+ this.name = name;
+ }
+ BuiltinType.prototype.visitType = function (visitor, context) {
+ return visitor.visitBuiltintType(this, context);
+ };
+ return BuiltinType;
+ }(Type$1));
+ var ExternalType = (function (_super) {
+ __extends$12(ExternalType, _super);
+ function ExternalType(value, typeParams, modifiers) {
+ if (typeParams === void 0) { typeParams = null; }
+ if (modifiers === void 0) { modifiers = null; }
+ _super.call(this, modifiers);
+ this.value = value;
+ this.typeParams = typeParams;
+ }
+ ExternalType.prototype.visitType = function (visitor, context) {
+ return visitor.visitExternalType(this, context);
+ };
+ return ExternalType;
+ }(Type$1));
+ var ArrayType = (function (_super) {
+ __extends$12(ArrayType, _super);
+ function ArrayType(of, modifiers) {
+ if (modifiers === void 0) { modifiers = null; }
+ _super.call(this, modifiers);
+ this.of = of;
+ }
+ ArrayType.prototype.visitType = function (visitor, context) {
+ return visitor.visitArrayType(this, context);
+ };
+ return ArrayType;
+ }(Type$1));
+ var MapType = (function (_super) {
+ __extends$12(MapType, _super);
+ function MapType(valueType, modifiers) {
+ if (modifiers === void 0) { modifiers = null; }
+ _super.call(this, modifiers);
+ this.valueType = valueType;
+ }
+ MapType.prototype.visitType = function (visitor, context) { return visitor.visitMapType(this, context); };
+ return MapType;
+ }(Type$1));
+ var DYNAMIC_TYPE = new BuiltinType(BuiltinTypeName.Dynamic);
+ var BOOL_TYPE = new BuiltinType(BuiltinTypeName.Bool);
+ var INT_TYPE = new BuiltinType(BuiltinTypeName.Int);
+ var NUMBER_TYPE = new BuiltinType(BuiltinTypeName.Number);
+ var STRING_TYPE = new BuiltinType(BuiltinTypeName.String);
+ var FUNCTION_TYPE = new BuiltinType(BuiltinTypeName.Function);
+ var NULL_TYPE = new BuiltinType(BuiltinTypeName.Null);
+ ///// Expressions
+ var BinaryOperator;
+ (function (BinaryOperator) {
+ BinaryOperator[BinaryOperator["Equals"] = 0] = "Equals";
+ BinaryOperator[BinaryOperator["NotEquals"] = 1] = "NotEquals";
+ BinaryOperator[BinaryOperator["Identical"] = 2] = "Identical";
+ BinaryOperator[BinaryOperator["NotIdentical"] = 3] = "NotIdentical";
+ BinaryOperator[BinaryOperator["Minus"] = 4] = "Minus";
+ BinaryOperator[BinaryOperator["Plus"] = 5] = "Plus";
+ BinaryOperator[BinaryOperator["Divide"] = 6] = "Divide";
+ BinaryOperator[BinaryOperator["Multiply"] = 7] = "Multiply";
+ BinaryOperator[BinaryOperator["Modulo"] = 8] = "Modulo";
+ BinaryOperator[BinaryOperator["And"] = 9] = "And";
+ BinaryOperator[BinaryOperator["Or"] = 10] = "Or";
+ BinaryOperator[BinaryOperator["Lower"] = 11] = "Lower";
+ BinaryOperator[BinaryOperator["LowerEquals"] = 12] = "LowerEquals";
+ BinaryOperator[BinaryOperator["Bigger"] = 13] = "Bigger";
+ BinaryOperator[BinaryOperator["BiggerEquals"] = 14] = "BiggerEquals";
+ })(BinaryOperator || (BinaryOperator = {}));
+ var Expression = (function () {
+ function Expression(type) {
+ this.type = type;
+ }
+ Expression.prototype.prop = function (name) { return new ReadPropExpr(this, name); };
+ Expression.prototype.key = function (index, type) {
+ if (type === void 0) { type = null; }
+ return new ReadKeyExpr(this, index, type);
+ };
+ Expression.prototype.callMethod = function (name, params) {
+ return new InvokeMethodExpr(this, name, params);
+ };
+ Expression.prototype.callFn = function (params) { return new InvokeFunctionExpr(this, params); };
+ Expression.prototype.instantiate = function (params, type) {
+ if (type === void 0) { type = null; }
+ return new InstantiateExpr(this, params, type);
+ };
+ Expression.prototype.conditional = function (trueCase, falseCase) {
+ if (falseCase === void 0) { falseCase = null; }
+ return new ConditionalExpr(this, trueCase, falseCase);
+ };
+ Expression.prototype.equals = function (rhs) {
+ return new BinaryOperatorExpr(BinaryOperator.Equals, this, rhs);
+ };
+ Expression.prototype.notEquals = function (rhs) {
+ return new BinaryOperatorExpr(BinaryOperator.NotEquals, this, rhs);
+ };
+ Expression.prototype.identical = function (rhs) {
+ return new BinaryOperatorExpr(BinaryOperator.Identical, this, rhs);
+ };
+ Expression.prototype.notIdentical = function (rhs) {
+ return new BinaryOperatorExpr(BinaryOperator.NotIdentical, this, rhs);
+ };
+ Expression.prototype.minus = function (rhs) {
+ return new BinaryOperatorExpr(BinaryOperator.Minus, this, rhs);
+ };
+ Expression.prototype.plus = function (rhs) {
+ return new BinaryOperatorExpr(BinaryOperator.Plus, this, rhs);
+ };
+ Expression.prototype.divide = function (rhs) {
+ return new BinaryOperatorExpr(BinaryOperator.Divide, this, rhs);
+ };
+ Expression.prototype.multiply = function (rhs) {
+ return new BinaryOperatorExpr(BinaryOperator.Multiply, this, rhs);
+ };
+ Expression.prototype.modulo = function (rhs) {
+ return new BinaryOperatorExpr(BinaryOperator.Modulo, this, rhs);
+ };
+ Expression.prototype.and = function (rhs) {
+ return new BinaryOperatorExpr(BinaryOperator.And, this, rhs);
+ };
+ Expression.prototype.or = function (rhs) {
+ return new BinaryOperatorExpr(BinaryOperator.Or, this, rhs);
+ };
+ Expression.prototype.lower = function (rhs) {
+ return new BinaryOperatorExpr(BinaryOperator.Lower, this, rhs);
+ };
+ Expression.prototype.lowerEquals = function (rhs) {
+ return new BinaryOperatorExpr(BinaryOperator.LowerEquals, this, rhs);
+ };
+ Expression.prototype.bigger = function (rhs) {
+ return new BinaryOperatorExpr(BinaryOperator.Bigger, this, rhs);
+ };
+ Expression.prototype.biggerEquals = function (rhs) {
+ return new BinaryOperatorExpr(BinaryOperator.BiggerEquals, this, rhs);
+ };
+ Expression.prototype.isBlank = function () {
+ // Note: We use equals by purpose here to compare to null and undefined in JS.
+ // We use the typed null to allow strictNullChecks to narrow types.
+ return this.equals(TYPED_NULL_EXPR);
+ };
+ Expression.prototype.cast = function (type) { return new CastExpr(this, type); };
+ Expression.prototype.toStmt = function () { return new ExpressionStatement(this); };
+ return Expression;
+ }());
+ var BuiltinVar;
+ (function (BuiltinVar) {
+ BuiltinVar[BuiltinVar["This"] = 0] = "This";
+ BuiltinVar[BuiltinVar["Super"] = 1] = "Super";
+ BuiltinVar[BuiltinVar["CatchError"] = 2] = "CatchError";
+ BuiltinVar[BuiltinVar["CatchStack"] = 3] = "CatchStack";
+ })(BuiltinVar || (BuiltinVar = {}));
+ var ReadVarExpr = (function (_super) {
+ __extends$12(ReadVarExpr, _super);
+ function ReadVarExpr(name, type) {
+ if (type === void 0) { type = null; }
+ _super.call(this, type);
+ if (typeof name === 'string') {
+ this.name = name;
+ this.builtin = null;
+ }
+ else {
+ this.name = null;
+ this.builtin = name;
+ }
+ }
+ ReadVarExpr.prototype.visitExpression = function (visitor, context) {
+ return visitor.visitReadVarExpr(this, context);
+ };
+ ReadVarExpr.prototype.set = function (value) { return new WriteVarExpr(this.name, value); };
+ return ReadVarExpr;
+ }(Expression));
+ var WriteVarExpr = (function (_super) {
+ __extends$12(WriteVarExpr, _super);
+ function WriteVarExpr(name, value, type) {
+ if (type === void 0) { type = null; }
+ _super.call(this, type || value.type);
+ this.name = name;
+ this.value = value;
+ }
+ WriteVarExpr.prototype.visitExpression = function (visitor, context) {
+ return visitor.visitWriteVarExpr(this, context);
+ };
+ WriteVarExpr.prototype.toDeclStmt = function (type, modifiers) {
+ if (type === void 0) { type = null; }
+ if (modifiers === void 0) { modifiers = null; }
+ return new DeclareVarStmt(this.name, this.value, type, modifiers);
+ };
+ return WriteVarExpr;
+ }(Expression));
+ var WriteKeyExpr = (function (_super) {
+ __extends$12(WriteKeyExpr, _super);
+ function WriteKeyExpr(receiver, index, value, type) {
+ if (type === void 0) { type = null; }
+ _super.call(this, type || value.type);
+ this.receiver = receiver;
+ this.index = index;
+ this.value = value;
+ }
+ WriteKeyExpr.prototype.visitExpression = function (visitor, context) {
+ return visitor.visitWriteKeyExpr(this, context);
+ };
+ return WriteKeyExpr;
+ }(Expression));
+ var WritePropExpr = (function (_super) {
+ __extends$12(WritePropExpr, _super);
+ function WritePropExpr(receiver, name, value, type) {
+ if (type === void 0) { type = null; }
+ _super.call(this, type || value.type);
+ this.receiver = receiver;
+ this.name = name;
+ this.value = value;
+ }
+ WritePropExpr.prototype.visitExpression = function (visitor, context) {
+ return visitor.visitWritePropExpr(this, context);
+ };
+ return WritePropExpr;
+ }(Expression));
+ var BuiltinMethod;
+ (function (BuiltinMethod) {
+ BuiltinMethod[BuiltinMethod["ConcatArray"] = 0] = "ConcatArray";
+ BuiltinMethod[BuiltinMethod["SubscribeObservable"] = 1] = "SubscribeObservable";
+ BuiltinMethod[BuiltinMethod["Bind"] = 2] = "Bind";
+ })(BuiltinMethod || (BuiltinMethod = {}));
+ var InvokeMethodExpr = (function (_super) {
+ __extends$12(InvokeMethodExpr, _super);
+ function InvokeMethodExpr(receiver, method, args, type) {
+ if (type === void 0) { type = null; }
+ _super.call(this, type);
+ this.receiver = receiver;
+ this.args = args;
+ if (typeof method === 'string') {
+ this.name = method;
+ this.builtin = null;
+ }
+ else {
+ this.name = null;
+ this.builtin = method;
+ }
+ }
+ InvokeMethodExpr.prototype.visitExpression = function (visitor, context) {
+ return visitor.visitInvokeMethodExpr(this, context);
+ };
+ return InvokeMethodExpr;
+ }(Expression));
+ var InvokeFunctionExpr = (function (_super) {
+ __extends$12(InvokeFunctionExpr, _super);
+ function InvokeFunctionExpr(fn, args, type) {
+ if (type === void 0) { type = null; }
+ _super.call(this, type);
+ this.fn = fn;
+ this.args = args;
+ }
+ InvokeFunctionExpr.prototype.visitExpression = function (visitor, context) {
+ return visitor.visitInvokeFunctionExpr(this, context);
+ };
+ return InvokeFunctionExpr;
+ }(Expression));
+ var InstantiateExpr = (function (_super) {
+ __extends$12(InstantiateExpr, _super);
+ function InstantiateExpr(classExpr, args, type) {
+ _super.call(this, type);
+ this.classExpr = classExpr;
+ this.args = args;
+ }
+ InstantiateExpr.prototype.visitExpression = function (visitor, context) {
+ return visitor.visitInstantiateExpr(this, context);
+ };
+ return InstantiateExpr;
+ }(Expression));
+ var LiteralExpr = (function (_super) {
+ __extends$12(LiteralExpr, _super);
+ function LiteralExpr(value, type) {
+ if (type === void 0) { type = null; }
+ _super.call(this, type);
+ this.value = value;
+ }
+ LiteralExpr.prototype.visitExpression = function (visitor, context) {
+ return visitor.visitLiteralExpr(this, context);
+ };
+ return LiteralExpr;
+ }(Expression));
+ var ExternalExpr = (function (_super) {
+ __extends$12(ExternalExpr, _super);
+ function ExternalExpr(value, type, typeParams) {
+ if (type === void 0) { type = null; }
+ if (typeParams === void 0) { typeParams = null; }
+ _super.call(this, type);
+ this.value = value;
+ this.typeParams = typeParams;
+ }
+ ExternalExpr.prototype.visitExpression = function (visitor, context) {
+ return visitor.visitExternalExpr(this, context);
+ };
+ return ExternalExpr;
+ }(Expression));
+ var ConditionalExpr = (function (_super) {
+ __extends$12(ConditionalExpr, _super);
+ function ConditionalExpr(condition, trueCase, falseCase, type) {
+ if (falseCase === void 0) { falseCase = null; }
+ if (type === void 0) { type = null; }
+ _super.call(this, type || trueCase.type);
+ this.condition = condition;
+ this.falseCase = falseCase;
+ this.trueCase = trueCase;
+ }
+ ConditionalExpr.prototype.visitExpression = function (visitor, context) {
+ return visitor.visitConditionalExpr(this, context);
+ };
+ return ConditionalExpr;
+ }(Expression));
+ var NotExpr = (function (_super) {
+ __extends$12(NotExpr, _super);
+ function NotExpr(condition) {
+ _super.call(this, BOOL_TYPE);
+ this.condition = condition;
+ }
+ NotExpr.prototype.visitExpression = function (visitor, context) {
+ return visitor.visitNotExpr(this, context);
+ };
+ return NotExpr;
+ }(Expression));
+ var CastExpr = (function (_super) {
+ __extends$12(CastExpr, _super);
+ function CastExpr(value, type) {
+ _super.call(this, type);
+ this.value = value;
+ }
+ CastExpr.prototype.visitExpression = function (visitor, context) {
+ return visitor.visitCastExpr(this, context);
+ };
+ return CastExpr;
+ }(Expression));
+ var FnParam = (function () {
+ function FnParam(name, type) {
+ if (type === void 0) { type = null; }
+ this.name = name;
+ this.type = type;
+ }
+ return FnParam;
+ }());
+ var FunctionExpr = (function (_super) {
+ __extends$12(FunctionExpr, _super);
+ function FunctionExpr(params, statements, type) {
+ if (type === void 0) { type = null; }
+ _super.call(this, type);
+ this.params = params;
+ this.statements = statements;
+ }
+ FunctionExpr.prototype.visitExpression = function (visitor, context) {
+ return visitor.visitFunctionExpr(this, context);
+ };
+ FunctionExpr.prototype.toDeclStmt = function (name, modifiers) {
+ if (modifiers === void 0) { modifiers = null; }
+ return new DeclareFunctionStmt(name, this.params, this.statements, this.type, modifiers);
+ };
+ return FunctionExpr;
+ }(Expression));
+ var BinaryOperatorExpr = (function (_super) {
+ __extends$12(BinaryOperatorExpr, _super);
+ function BinaryOperatorExpr(operator, lhs, rhs, type) {
+ if (type === void 0) { type = null; }
+ _super.call(this, type || lhs.type);
+ this.operator = operator;
+ this.rhs = rhs;
+ this.lhs = lhs;
+ }
+ BinaryOperatorExpr.prototype.visitExpression = function (visitor, context) {
+ return visitor.visitBinaryOperatorExpr(this, context);
+ };
+ return BinaryOperatorExpr;
+ }(Expression));
+ var ReadPropExpr = (function (_super) {
+ __extends$12(ReadPropExpr, _super);
+ function ReadPropExpr(receiver, name, type) {
+ if (type === void 0) { type = null; }
+ _super.call(this, type);
+ this.receiver = receiver;
+ this.name = name;
+ }
+ ReadPropExpr.prototype.visitExpression = function (visitor, context) {
+ return visitor.visitReadPropExpr(this, context);
+ };
+ ReadPropExpr.prototype.set = function (value) {
+ return new WritePropExpr(this.receiver, this.name, value);
+ };
+ return ReadPropExpr;
+ }(Expression));
+ var ReadKeyExpr = (function (_super) {
+ __extends$12(ReadKeyExpr, _super);
+ function ReadKeyExpr(receiver, index, type) {
+ if (type === void 0) { type = null; }
+ _super.call(this, type);
+ this.receiver = receiver;
+ this.index = index;
+ }
+ ReadKeyExpr.prototype.visitExpression = function (visitor, context) {
+ return visitor.visitReadKeyExpr(this, context);
+ };
+ ReadKeyExpr.prototype.set = function (value) {
+ return new WriteKeyExpr(this.receiver, this.index, value);
+ };
+ return ReadKeyExpr;
+ }(Expression));
+ var LiteralArrayExpr = (function (_super) {
+ __extends$12(LiteralArrayExpr, _super);
+ function LiteralArrayExpr(entries, type) {
+ if (type === void 0) { type = null; }
+ _super.call(this, type);
+ this.entries = entries;
+ }
+ LiteralArrayExpr.prototype.visitExpression = function (visitor, context) {
+ return visitor.visitLiteralArrayExpr(this, context);
+ };
+ return LiteralArrayExpr;
+ }(Expression));
+ var LiteralMapExpr = (function (_super) {
+ __extends$12(LiteralMapExpr, _super);
+ function LiteralMapExpr(entries, type) {
+ if (type === void 0) { type = null; }
+ _super.call(this, type);
+ this.entries = entries;
+ this.valueType = null;
+ if (isPresent(type)) {
+ this.valueType = type.valueType;
+ }
+ }
+ LiteralMapExpr.prototype.visitExpression = function (visitor, context) {
+ return visitor.visitLiteralMapExpr(this, context);
+ };
+ return LiteralMapExpr;
+ }(Expression));
+ var THIS_EXPR = new ReadVarExpr(BuiltinVar.This);
+ var SUPER_EXPR = new ReadVarExpr(BuiltinVar.Super);
+ var CATCH_ERROR_VAR = new ReadVarExpr(BuiltinVar.CatchError);
+ var CATCH_STACK_VAR = new ReadVarExpr(BuiltinVar.CatchStack);
+ var NULL_EXPR = new LiteralExpr(null, null);
+ var TYPED_NULL_EXPR = new LiteralExpr(null, NULL_TYPE);
+ //// Statements
+ var StmtModifier;
+ (function (StmtModifier) {
+ StmtModifier[StmtModifier["Final"] = 0] = "Final";
+ StmtModifier[StmtModifier["Private"] = 1] = "Private";
+ })(StmtModifier || (StmtModifier = {}));
+ var Statement = (function () {
+ function Statement(modifiers) {
+ if (modifiers === void 0) { modifiers = null; }
+ this.modifiers = modifiers;
+ if (!modifiers) {
+ this.modifiers = [];
+ }
+ }
+ Statement.prototype.hasModifier = function (modifier) { return this.modifiers.indexOf(modifier) !== -1; };
+ return Statement;
+ }());
+ var DeclareVarStmt = (function (_super) {
+ __extends$12(DeclareVarStmt, _super);
+ function DeclareVarStmt(name, value, type, modifiers) {
+ if (type === void 0) { type = null; }
+ if (modifiers === void 0) { modifiers = null; }
+ _super.call(this, modifiers);
+ this.name = name;
+ this.value = value;
+ this.type = type || value.type;
+ }
+ DeclareVarStmt.prototype.visitStatement = function (visitor, context) {
+ return visitor.visitDeclareVarStmt(this, context);
+ };
+ return DeclareVarStmt;
+ }(Statement));
+ var DeclareFunctionStmt = (function (_super) {
+ __extends$12(DeclareFunctionStmt, _super);
+ function DeclareFunctionStmt(name, params, statements, type, modifiers) {
+ if (type === void 0) { type = null; }
+ if (modifiers === void 0) { modifiers = null; }
+ _super.call(this, modifiers);
+ this.name = name;
+ this.params = params;
+ this.statements = statements;
+ this.type = type;
+ }
+ DeclareFunctionStmt.prototype.visitStatement = function (visitor, context) {
+ return visitor.visitDeclareFunctionStmt(this, context);
+ };
+ return DeclareFunctionStmt;
+ }(Statement));
+ var ExpressionStatement = (function (_super) {
+ __extends$12(ExpressionStatement, _super);
+ function ExpressionStatement(expr) {
+ _super.call(this);
+ this.expr = expr;
+ }
+ ExpressionStatement.prototype.visitStatement = function (visitor, context) {
+ return visitor.visitExpressionStmt(this, context);
+ };
+ return ExpressionStatement;
+ }(Statement));
+ var ReturnStatement = (function (_super) {
+ __extends$12(ReturnStatement, _super);
+ function ReturnStatement(value) {
+ _super.call(this);
+ this.value = value;
+ }
+ ReturnStatement.prototype.visitStatement = function (visitor, context) {
+ return visitor.visitReturnStmt(this, context);
+ };
+ return ReturnStatement;
+ }(Statement));
+ var AbstractClassPart = (function () {
+ function AbstractClassPart(type, modifiers) {
+ if (type === void 0) { type = null; }
+ this.type = type;
+ this.modifiers = modifiers;
+ if (!modifiers) {
+ this.modifiers = [];
+ }
+ }
+ AbstractClassPart.prototype.hasModifier = function (modifier) { return this.modifiers.indexOf(modifier) !== -1; };
+ return AbstractClassPart;
+ }());
+ var ClassField = (function (_super) {
+ __extends$12(ClassField, _super);
+ function ClassField(name, type, modifiers) {
+ if (type === void 0) { type = null; }
+ if (modifiers === void 0) { modifiers = null; }
+ _super.call(this, type, modifiers);
+ this.name = name;
+ }
+ return ClassField;
+ }(AbstractClassPart));
+ var ClassMethod = (function (_super) {
+ __extends$12(ClassMethod, _super);
+ function ClassMethod(name, params, body, type, modifiers) {
+ if (type === void 0) { type = null; }
+ if (modifiers === void 0) { modifiers = null; }
+ _super.call(this, type, modifiers);
+ this.name = name;
+ this.params = params;
+ this.body = body;
+ }
+ return ClassMethod;
+ }(AbstractClassPart));
+ var ClassGetter = (function (_super) {
+ __extends$12(ClassGetter, _super);
+ function ClassGetter(name, body, type, modifiers) {
+ if (type === void 0) { type = null; }
+ if (modifiers === void 0) { modifiers = null; }
+ _super.call(this, type, modifiers);
+ this.name = name;
+ this.body = body;
+ }
+ return ClassGetter;
+ }(AbstractClassPart));
+ var ClassStmt = (function (_super) {
+ __extends$12(ClassStmt, _super);
+ function ClassStmt(name, parent, fields, getters, constructorMethod, methods, modifiers) {
+ if (modifiers === void 0) { modifiers = null; }
+ _super.call(this, modifiers);
+ this.name = name;
+ this.parent = parent;
+ this.fields = fields;
+ this.getters = getters;
+ this.constructorMethod = constructorMethod;
+ this.methods = methods;
+ }
+ ClassStmt.prototype.visitStatement = function (visitor, context) {
+ return visitor.visitDeclareClassStmt(this, context);
+ };
+ return ClassStmt;
+ }(Statement));
+ var IfStmt = (function (_super) {
+ __extends$12(IfStmt, _super);
+ function IfStmt(condition, trueCase, falseCase) {
+ if (falseCase === void 0) { falseCase = []; }
+ _super.call(this);
+ this.condition = condition;
+ this.trueCase = trueCase;
+ this.falseCase = falseCase;
+ }
+ IfStmt.prototype.visitStatement = function (visitor, context) {
+ return visitor.visitIfStmt(this, context);
+ };
+ return IfStmt;
+ }(Statement));
+ var CommentStmt = (function (_super) {
+ __extends$12(CommentStmt, _super);
+ function CommentStmt(comment) {
+ _super.call(this);
+ this.comment = comment;
+ }
+ CommentStmt.prototype.visitStatement = function (visitor, context) {
+ return visitor.visitCommentStmt(this, context);
+ };
+ return CommentStmt;
+ }(Statement));
+ var TryCatchStmt = (function (_super) {
+ __extends$12(TryCatchStmt, _super);
+ function TryCatchStmt(bodyStmts, catchStmts) {
+ _super.call(this);
+ this.bodyStmts = bodyStmts;
+ this.catchStmts = catchStmts;
+ }
+ TryCatchStmt.prototype.visitStatement = function (visitor, context) {
+ return visitor.visitTryCatchStmt(this, context);
+ };
+ return TryCatchStmt;
+ }(Statement));
+ var ThrowStmt = (function (_super) {
+ __extends$12(ThrowStmt, _super);
+ function ThrowStmt(error) {
+ _super.call(this);
+ this.error = error;
+ }
+ ThrowStmt.prototype.visitStatement = function (visitor, context) {
+ return visitor.visitThrowStmt(this, context);
+ };
+ return ThrowStmt;
+ }(Statement));
+ var ExpressionTransformer = (function () {
+ function ExpressionTransformer() {
+ }
+ ExpressionTransformer.prototype.visitReadVarExpr = function (ast, context) { return ast; };
+ ExpressionTransformer.prototype.visitWriteVarExpr = function (expr, context) {
+ return new WriteVarExpr(expr.name, expr.value.visitExpression(this, context));
+ };
+ ExpressionTransformer.prototype.visitWriteKeyExpr = function (expr, context) {
+ return new WriteKeyExpr(expr.receiver.visitExpression(this, context), expr.index.visitExpression(this, context), expr.value.visitExpression(this, context));
+ };
+ ExpressionTransformer.prototype.visitWritePropExpr = function (expr, context) {
+ return new WritePropExpr(expr.receiver.visitExpression(this, context), expr.name, expr.value.visitExpression(this, context));
+ };
+ ExpressionTransformer.prototype.visitInvokeMethodExpr = function (ast, context) {
+ var method = ast.builtin || ast.name;
+ return new InvokeMethodExpr(ast.receiver.visitExpression(this, context), method, this.visitAllExpressions(ast.args, context), ast.type);
+ };
+ ExpressionTransformer.prototype.visitInvokeFunctionExpr = function (ast, context) {
+ return new InvokeFunctionExpr(ast.fn.visitExpression(this, context), this.visitAllExpressions(ast.args, context), ast.type);
+ };
+ ExpressionTransformer.prototype.visitInstantiateExpr = function (ast, context) {
+ return new InstantiateExpr(ast.classExpr.visitExpression(this, context), this.visitAllExpressions(ast.args, context), ast.type);
+ };
+ ExpressionTransformer.prototype.visitLiteralExpr = function (ast, context) { return ast; };
+ ExpressionTransformer.prototype.visitExternalExpr = function (ast, context) { return ast; };
+ ExpressionTransformer.prototype.visitConditionalExpr = function (ast, context) {
+ return new ConditionalExpr(ast.condition.visitExpression(this, context), ast.trueCase.visitExpression(this, context), ast.falseCase.visitExpression(this, context));
+ };
+ ExpressionTransformer.prototype.visitNotExpr = function (ast, context) {
+ return new NotExpr(ast.condition.visitExpression(this, context));
+ };
+ ExpressionTransformer.prototype.visitCastExpr = function (ast, context) {
+ return new CastExpr(ast.value.visitExpression(this, context), context);
+ };
+ ExpressionTransformer.prototype.visitFunctionExpr = function (ast, context) {
+ // Don't descend into nested functions
+ return ast;
+ };
+ ExpressionTransformer.prototype.visitBinaryOperatorExpr = function (ast, context) {
+ return new BinaryOperatorExpr(ast.operator, ast.lhs.visitExpression(this, context), ast.rhs.visitExpression(this, context), ast.type);
+ };
+ ExpressionTransformer.prototype.visitReadPropExpr = function (ast, context) {
+ return new ReadPropExpr(ast.receiver.visitExpression(this, context), ast.name, ast.type);
+ };
+ ExpressionTransformer.prototype.visitReadKeyExpr = function (ast, context) {
+ return new ReadKeyExpr(ast.receiver.visitExpression(this, context), ast.index.visitExpression(this, context), ast.type);
+ };
+ ExpressionTransformer.prototype.visitLiteralArrayExpr = function (ast, context) {
+ return new LiteralArrayExpr(this.visitAllExpressions(ast.entries, context));
+ };
+ ExpressionTransformer.prototype.visitLiteralMapExpr = function (ast, context) {
+ var _this = this;
+ var entries = ast.entries.map(function (entry) { return [entry[0], entry[1].visitExpression(_this, context),]; });
+ return new LiteralMapExpr(entries);
+ };
+ ExpressionTransformer.prototype.visitAllExpressions = function (exprs, context) {
+ var _this = this;
+ return exprs.map(function (expr) { return expr.visitExpression(_this, context); });
+ };
+ ExpressionTransformer.prototype.visitDeclareVarStmt = function (stmt, context) {
+ return new DeclareVarStmt(stmt.name, stmt.value.visitExpression(this, context), stmt.type, stmt.modifiers);
+ };
+ ExpressionTransformer.prototype.visitDeclareFunctionStmt = function (stmt, context) {
+ // Don't descend into nested functions
+ return stmt;
+ };
+ ExpressionTransformer.prototype.visitExpressionStmt = function (stmt, context) {
+ return new ExpressionStatement(stmt.expr.visitExpression(this, context));
+ };
+ ExpressionTransformer.prototype.visitReturnStmt = function (stmt, context) {
+ return new ReturnStatement(stmt.value.visitExpression(this, context));
+ };
+ ExpressionTransformer.prototype.visitDeclareClassStmt = function (stmt, context) {
+ // Don't descend into nested functions
+ return stmt;
+ };
+ ExpressionTransformer.prototype.visitIfStmt = function (stmt, context) {
+ return new IfStmt(stmt.condition.visitExpression(this, context), this.visitAllStatements(stmt.trueCase, context), this.visitAllStatements(stmt.falseCase, context));
+ };
+ ExpressionTransformer.prototype.visitTryCatchStmt = function (stmt, context) {
+ return new TryCatchStmt(this.visitAllStatements(stmt.bodyStmts, context), this.visitAllStatements(stmt.catchStmts, context));
+ };
+ ExpressionTransformer.prototype.visitThrowStmt = function (stmt, context) {
+ return new ThrowStmt(stmt.error.visitExpression(this, context));
+ };
+ ExpressionTransformer.prototype.visitCommentStmt = function (stmt, context) { return stmt; };
+ ExpressionTransformer.prototype.visitAllStatements = function (stmts, context) {
+ var _this = this;
+ return stmts.map(function (stmt) { return stmt.visitStatement(_this, context); });
+ };
+ return ExpressionTransformer;
+ }());
+ var RecursiveExpressionVisitor = (function () {
+ function RecursiveExpressionVisitor() {
+ }
+ RecursiveExpressionVisitor.prototype.visitReadVarExpr = function (ast, context) { return ast; };
+ RecursiveExpressionVisitor.prototype.visitWriteVarExpr = function (expr, context) {
+ expr.value.visitExpression(this, context);
+ return expr;
+ };
+ RecursiveExpressionVisitor.prototype.visitWriteKeyExpr = function (expr, context) {
+ expr.receiver.visitExpression(this, context);
+ expr.index.visitExpression(this, context);
+ expr.value.visitExpression(this, context);
+ return expr;
+ };
+ RecursiveExpressionVisitor.prototype.visitWritePropExpr = function (expr, context) {
+ expr.receiver.visitExpression(this, context);
+ expr.value.visitExpression(this, context);
+ return expr;
+ };
+ RecursiveExpressionVisitor.prototype.visitInvokeMethodExpr = function (ast, context) {
+ ast.receiver.visitExpression(this, context);
+ this.visitAllExpressions(ast.args, context);
+ return ast;
+ };
+ RecursiveExpressionVisitor.prototype.visitInvokeFunctionExpr = function (ast, context) {
+ ast.fn.visitExpression(this, context);
+ this.visitAllExpressions(ast.args, context);
+ return ast;
+ };
+ RecursiveExpressionVisitor.prototype.visitInstantiateExpr = function (ast, context) {
+ ast.classExpr.visitExpression(this, context);
+ this.visitAllExpressions(ast.args, context);
+ return ast;
+ };
+ RecursiveExpressionVisitor.prototype.visitLiteralExpr = function (ast, context) { return ast; };
+ RecursiveExpressionVisitor.prototype.visitExternalExpr = function (ast, context) { return ast; };
+ RecursiveExpressionVisitor.prototype.visitConditionalExpr = function (ast, context) {
+ ast.condition.visitExpression(this, context);
+ ast.trueCase.visitExpression(this, context);
+ ast.falseCase.visitExpression(this, context);
+ return ast;
+ };
+ RecursiveExpressionVisitor.prototype.visitNotExpr = function (ast, context) {
+ ast.condition.visitExpression(this, context);
+ return ast;
+ };
+ RecursiveExpressionVisitor.prototype.visitCastExpr = function (ast, context) {
+ ast.value.visitExpression(this, context);
+ return ast;
+ };
+ RecursiveExpressionVisitor.prototype.visitFunctionExpr = function (ast, context) { return ast; };
+ RecursiveExpressionVisitor.prototype.visitBinaryOperatorExpr = function (ast, context) {
+ ast.lhs.visitExpression(this, context);
+ ast.rhs.visitExpression(this, context);
+ return ast;
+ };
+ RecursiveExpressionVisitor.prototype.visitReadPropExpr = function (ast, context) {
+ ast.receiver.visitExpression(this, context);
+ return ast;
+ };
+ RecursiveExpressionVisitor.prototype.visitReadKeyExpr = function (ast, context) {
+ ast.receiver.visitExpression(this, context);
+ ast.index.visitExpression(this, context);
+ return ast;
+ };
+ RecursiveExpressionVisitor.prototype.visitLiteralArrayExpr = function (ast, context) {
+ this.visitAllExpressions(ast.entries, context);
+ return ast;
+ };
+ RecursiveExpressionVisitor.prototype.visitLiteralMapExpr = function (ast, context) {
+ var _this = this;
+ ast.entries.forEach(function (entry) { return entry[1].visitExpression(_this, context); });
+ return ast;
+ };
+ RecursiveExpressionVisitor.prototype.visitAllExpressions = function (exprs, context) {
+ var _this = this;
+ exprs.forEach(function (expr) { return expr.visitExpression(_this, context); });
+ };
+ RecursiveExpressionVisitor.prototype.visitDeclareVarStmt = function (stmt, context) {
+ stmt.value.visitExpression(this, context);
+ return stmt;
+ };
+ RecursiveExpressionVisitor.prototype.visitDeclareFunctionStmt = function (stmt, context) {
+ // Don't descend into nested functions
+ return stmt;
+ };
+ RecursiveExpressionVisitor.prototype.visitExpressionStmt = function (stmt, context) {
+ stmt.expr.visitExpression(this, context);
+ return stmt;
+ };
+ RecursiveExpressionVisitor.prototype.visitReturnStmt = function (stmt, context) {
+ stmt.value.visitExpression(this, context);
+ return stmt;
+ };
+ RecursiveExpressionVisitor.prototype.visitDeclareClassStmt = function (stmt, context) {
+ // Don't descend into nested functions
+ return stmt;
+ };
+ RecursiveExpressionVisitor.prototype.visitIfStmt = function (stmt, context) {
+ stmt.condition.visitExpression(this, context);
+ this.visitAllStatements(stmt.trueCase, context);
+ this.visitAllStatements(stmt.falseCase, context);
+ return stmt;
+ };
+ RecursiveExpressionVisitor.prototype.visitTryCatchStmt = function (stmt, context) {
+ this.visitAllStatements(stmt.bodyStmts, context);
+ this.visitAllStatements(stmt.catchStmts, context);
+ return stmt;
+ };
+ RecursiveExpressionVisitor.prototype.visitThrowStmt = function (stmt, context) {
+ stmt.error.visitExpression(this, context);
+ return stmt;
+ };
+ RecursiveExpressionVisitor.prototype.visitCommentStmt = function (stmt, context) { return stmt; };
+ RecursiveExpressionVisitor.prototype.visitAllStatements = function (stmts, context) {
+ var _this = this;
+ stmts.forEach(function (stmt) { return stmt.visitStatement(_this, context); });
+ };
+ return RecursiveExpressionVisitor;
+ }());
+ function replaceVarInExpression(varName, newValue, expression) {
+ var transformer = new _ReplaceVariableTransformer(varName, newValue);
+ return expression.visitExpression(transformer, null);
+ }
+ var _ReplaceVariableTransformer = (function (_super) {
+ __extends$12(_ReplaceVariableTransformer, _super);
+ function _ReplaceVariableTransformer(_varName, _newValue) {
+ _super.call(this);
+ this._varName = _varName;
+ this._newValue = _newValue;
+ }
+ _ReplaceVariableTransformer.prototype.visitReadVarExpr = function (ast, context) {
+ return ast.name == this._varName ? this._newValue : ast;
+ };
+ return _ReplaceVariableTransformer;
+ }(ExpressionTransformer));
+ function findReadVarNames(stmts) {
+ var finder = new _VariableFinder();
+ finder.visitAllStatements(stmts, null);
+ return finder.varNames;
+ }
+ var _VariableFinder = (function (_super) {
+ __extends$12(_VariableFinder, _super);
+ function _VariableFinder() {
+ _super.apply(this, arguments);
+ this.varNames = new Set();
+ }
+ _VariableFinder.prototype.visitReadVarExpr = function (ast, context) {
+ this.varNames.add(ast.name);
+ return null;
+ };
+ return _VariableFinder;
+ }(RecursiveExpressionVisitor));
+ function variable(name, type) {
+ if (type === void 0) { type = null; }
+ return new ReadVarExpr(name, type);
+ }
+ function importExpr(id, typeParams) {
+ if (typeParams === void 0) { typeParams = null; }
+ return new ExternalExpr(id, null, typeParams);
+ }
+ function importType(id, typeParams, typeModifiers) {
+ if (typeParams === void 0) { typeParams = null; }
+ if (typeModifiers === void 0) { typeModifiers = null; }
+ return isPresent(id) ? new ExternalType(id, typeParams, typeModifiers) : null;
+ }
+ function literalArr(values, type) {
+ if (type === void 0) { type = null; }
+ return new LiteralArrayExpr(values, type);
+ }
+ function literalMap(values, type) {
+ if (type === void 0) { type = null; }
+ return new LiteralMapExpr(values, type);
+ }
+ function not(expr) {
+ return new NotExpr(expr);
+ }
+ function fn(params, body, type) {
+ if (type === void 0) { type = null; }
+ return new FunctionExpr(params, body, type);
+ }
+ function literal(value, type) {
+ if (type === void 0) { type = null; }
+ return new LiteralExpr(value, type);
+ }
+
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+ var __extends$13 = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
var AnimationAst = (function () {
function AnimationAst() {
this.startTime = 0;
@@ -18793,14 +18776,14 @@
return AnimationAst;
}());
var AnimationStateAst = (function (_super) {
- __extends$12(AnimationStateAst, _super);
+ __extends$13(AnimationStateAst, _super);
function AnimationStateAst() {
_super.apply(this, arguments);
}
return AnimationStateAst;
}(AnimationAst));
var AnimationEntryAst = (function (_super) {
- __extends$12(AnimationEntryAst, _super);
+ __extends$13(AnimationEntryAst, _super);
function AnimationEntryAst(name, stateDeclarations, stateTransitions) {
_super.call(this);
this.name = name;
@@ -18813,7 +18796,7 @@
return AnimationEntryAst;
}(AnimationAst));
var AnimationStateDeclarationAst = (function (_super) {
- __extends$12(AnimationStateDeclarationAst, _super);
+ __extends$13(AnimationStateDeclarationAst, _super);
function AnimationStateDeclarationAst(stateName, styles) {
_super.call(this);
this.stateName = stateName;
@@ -18832,7 +18815,7 @@
return AnimationStateTransitionExpression;
}());
var AnimationStateTransitionAst = (function (_super) {
- __extends$12(AnimationStateTransitionAst, _super);
+ __extends$13(AnimationStateTransitionAst, _super);
function AnimationStateTransitionAst(stateChanges, animation) {
_super.call(this);
this.stateChanges = stateChanges;
@@ -18844,7 +18827,7 @@
return AnimationStateTransitionAst;
}(AnimationStateAst));
var AnimationStepAst = (function (_super) {
- __extends$12(AnimationStepAst, _super);
+ __extends$13(AnimationStepAst, _super);
function AnimationStepAst(startingStyles, keyframes, duration, delay, easing) {
_super.call(this);
this.startingStyles = startingStyles;
@@ -18859,7 +18842,7 @@
return AnimationStepAst;
}(AnimationAst));
var AnimationStylesAst = (function (_super) {
- __extends$12(AnimationStylesAst, _super);
+ __extends$13(AnimationStylesAst, _super);
function AnimationStylesAst(styles) {
_super.call(this);
this.styles = styles;
@@ -18870,7 +18853,7 @@
return AnimationStylesAst;
}(AnimationAst));
var AnimationKeyframeAst = (function (_super) {
- __extends$12(AnimationKeyframeAst, _super);
+ __extends$13(AnimationKeyframeAst, _super);
function AnimationKeyframeAst(offset, styles) {
_super.call(this);
this.offset = offset;
@@ -18882,7 +18865,7 @@
return AnimationKeyframeAst;
}(AnimationAst));
var AnimationWithStepsAst = (function (_super) {
- __extends$12(AnimationWithStepsAst, _super);
+ __extends$13(AnimationWithStepsAst, _super);
function AnimationWithStepsAst(steps) {
_super.call(this);
this.steps = steps;
@@ -18890,7 +18873,7 @@
return AnimationWithStepsAst;
}(AnimationAst));
var AnimationGroupAst = (function (_super) {
- __extends$12(AnimationGroupAst, _super);
+ __extends$13(AnimationGroupAst, _super);
function AnimationGroupAst(steps) {
_super.call(this, steps);
}
@@ -18900,7 +18883,7 @@
return AnimationGroupAst;
}(AnimationWithStepsAst));
var AnimationSequenceAst = (function (_super) {
- __extends$12(AnimationSequenceAst, _super);
+ __extends$13(AnimationSequenceAst, _super);
function AnimationSequenceAst(steps) {
_super.call(this, steps);
}
@@ -18933,6 +18916,7 @@
var _ANIMATION_FACTORY_ELEMENT_VAR = variable('element');
var _ANIMATION_DEFAULT_STATE_VAR = variable('defaultStateStyles');
var _ANIMATION_FACTORY_VIEW_VAR = variable('view');
+ var _ANIMATION_FACTORY_VIEW_CONTEXT = _ANIMATION_FACTORY_VIEW_VAR.prop('animationContext');
var _ANIMATION_FACTORY_RENDERER_VAR = _ANIMATION_FACTORY_VIEW_VAR.prop('renderer');
var _ANIMATION_CURRENT_STATE_VAR = variable('currentState');
var _ANIMATION_NEXT_STATE_VAR = variable('nextState');
@@ -18941,7 +18925,9 @@
var _ANIMATION_START_STATE_STYLES_VAR = variable('startStateStyles');
var _ANIMATION_END_STATE_STYLES_VAR = variable('endStateStyles');
var _ANIMATION_COLLECTED_STYLES = variable('collectedStyles');
- var EMPTY_MAP$1 = literalMap([]);
+ var _PREVIOUS_ANIMATION_PLAYERS = variable('previousPlayers');
+ var _EMPTY_MAP = literalMap([]);
+ var _EMPTY_ARRAY = literalArr([]);
var _AnimationBuilder = (function () {
function _AnimationBuilder(animationName, factoryName) {
this.animationName = animationName;
@@ -18992,10 +18978,15 @@
};
/** @internal */
_AnimationBuilder.prototype._callAnimateMethod = function (ast, startingStylesExpr, keyframesExpr, context) {
+ var previousStylesValue = _EMPTY_ARRAY;
+ if (context.isExpectingFirstAnimateStep) {
+ previousStylesValue = _PREVIOUS_ANIMATION_PLAYERS;
+ context.isExpectingFirstAnimateStep = false;
+ }
context.totalTransitionTime += ast.duration + ast.delay;
return _ANIMATION_FACTORY_RENDERER_VAR.callMethod('animate', [
_ANIMATION_FACTORY_ELEMENT_VAR, startingStylesExpr, keyframesExpr, literal(ast.duration),
- literal(ast.delay), literal(ast.easing)
+ literal(ast.delay), literal(ast.easing), previousStylesValue
]);
};
_AnimationBuilder.prototype.visitAnimationSequence = function (ast, context) {
@@ -19025,6 +19016,7 @@
}
context.totalTransitionTime = 0;
context.isExpectingFirstStyleStep = true;
+ context.isExpectingFirstAnimateStep = true;
var stateChangePreconditions = [];
ast.stateChanges.forEach(function (stateChange) {
stateChangePreconditions.push(_compareToAnimationStateExpr(_ANIMATION_CURRENT_STATE_VAR, stateChange.fromState)
@@ -19050,13 +19042,13 @@
// this should always be defined even if the user overrides it
context.stateMap.registerState(DEFAULT_STATE, {});
var statements = [];
- statements.push(_ANIMATION_FACTORY_VIEW_VAR
- .callMethod('cancelActiveAnimation', [
+ statements.push(_PREVIOUS_ANIMATION_PLAYERS
+ .set(_ANIMATION_FACTORY_VIEW_CONTEXT.callMethod('getAnimationPlayers', [
_ANIMATION_FACTORY_ELEMENT_VAR, literal(this.animationName),
_ANIMATION_NEXT_STATE_VAR.equals(literal(EMPTY_ANIMATION_STATE))
- ])
- .toStmt());
- statements.push(_ANIMATION_COLLECTED_STYLES.set(EMPTY_MAP$1).toDeclStmt());
+ ]))
+ .toDeclStmt());
+ statements.push(_ANIMATION_COLLECTED_STYLES.set(_EMPTY_MAP).toDeclStmt());
statements.push(_ANIMATION_PLAYER_VAR.set(NULL_EXPR).toDeclStmt());
statements.push(_ANIMATION_TIME_VAR.set(literal(0)).toDeclStmt());
statements.push(_ANIMATION_DEFAULT_STATE_VAR.set(this._statesMapVar.key(literal(DEFAULT_STATE)))
@@ -19068,16 +19060,6 @@
.toDeclStmt());
statements.push(new IfStmt(_ANIMATION_END_STATE_STYLES_VAR.equals(NULL_EXPR), [_ANIMATION_END_STATE_STYLES_VAR.set(_ANIMATION_DEFAULT_STATE_VAR).toStmt()]));
var RENDER_STYLES_FN = importExpr(resolveIdentifier(Identifiers.renderStyles));
- // before we start any animation we want to clear out the starting
- // styles from the element's style property (since they were placed
- // there at the end of the last animation
- statements.push(RENDER_STYLES_FN
- .callFn([
- _ANIMATION_FACTORY_ELEMENT_VAR, _ANIMATION_FACTORY_RENDERER_VAR,
- importExpr(resolveIdentifier(Identifiers.clearStyles))
- .callFn([_ANIMATION_START_STATE_STYLES_VAR])
- ])
- .toStmt());
ast.stateTransitions.forEach(function (transAst) { return statements.push(transAst.visit(_this, context)); });
// this check ensures that the animation factory always returns a player
// so that the onDone callback can be used for tracking
@@ -19088,29 +19070,50 @@
// since the destination state's values should persist once
// the animation sequence has completed.
statements.push(_ANIMATION_PLAYER_VAR
- .callMethod('onDone', [fn([], [RENDER_STYLES_FN
+ .callMethod('onDone', [fn([], [
+ _ANIMATION_PLAYER_VAR.callMethod('destroy', []).toStmt(),
+ RENDER_STYLES_FN
.callFn([
_ANIMATION_FACTORY_ELEMENT_VAR, _ANIMATION_FACTORY_RENDERER_VAR,
importExpr(resolveIdentifier(Identifiers.prepareFinalAnimationStyles))
.callFn([
- _ANIMATION_START_STATE_STYLES_VAR, _ANIMATION_END_STATE_STYLES_VAR
+ _ANIMATION_START_STATE_STYLES_VAR,
+ _ANIMATION_END_STATE_STYLES_VAR
])
])
- .toStmt()])])
+ .toStmt()
+ ])])
.toStmt());
- statements.push(_ANIMATION_FACTORY_VIEW_VAR
- .callMethod('queueAnimation', [
- _ANIMATION_FACTORY_ELEMENT_VAR, literal(this.animationName),
- _ANIMATION_PLAYER_VAR, _ANIMATION_TIME_VAR,
- _ANIMATION_CURRENT_STATE_VAR, _ANIMATION_NEXT_STATE_VAR
+ statements.push(importExpr(resolveIdentifier(Identifiers.AnimationSequencePlayer))
+ .instantiate([_PREVIOUS_ANIMATION_PLAYERS])
+ .callMethod('destroy', [])
+ .toStmt());
+ // before we start any animation we want to clear out the starting
+ // styles from the element's style property (since they were placed
+ // there at the end of the last animation
+ statements.push(RENDER_STYLES_FN
+ .callFn([
+ _ANIMATION_FACTORY_ELEMENT_VAR, _ANIMATION_FACTORY_RENDERER_VAR,
+ importExpr(resolveIdentifier(Identifiers.clearStyles))
+ .callFn([_ANIMATION_START_STATE_STYLES_VAR])
])
.toStmt());
+ statements.push(_ANIMATION_FACTORY_VIEW_CONTEXT
+ .callMethod('queueAnimation', [
+ _ANIMATION_FACTORY_ELEMENT_VAR, literal(this.animationName),
+ _ANIMATION_PLAYER_VAR
+ ])
+ .toStmt());
+ statements.push(new ReturnStatement(importExpr(resolveIdentifier(Identifiers.AnimationTransition)).instantiate([
+ _ANIMATION_PLAYER_VAR, _ANIMATION_CURRENT_STATE_VAR, _ANIMATION_NEXT_STATE_VAR,
+ _ANIMATION_TIME_VAR
+ ])));
return fn([
new FnParam(_ANIMATION_FACTORY_VIEW_VAR.name, importType(resolveIdentifier(Identifiers.AppView), [DYNAMIC_TYPE])),
new FnParam(_ANIMATION_FACTORY_ELEMENT_VAR.name, DYNAMIC_TYPE),
new FnParam(_ANIMATION_CURRENT_STATE_VAR.name, DYNAMIC_TYPE),
new FnParam(_ANIMATION_NEXT_STATE_VAR.name, DYNAMIC_TYPE)
- ], statements);
+ ], statements, importType(resolveIdentifier(Identifiers.AnimationTransition)));
};
_AnimationBuilder.prototype.build = function (ast) {
var context = new _AnimationBuilderContext();
@@ -19119,7 +19122,7 @@
var lookupMap = [];
Object.keys(context.stateMap.states).forEach(function (stateName) {
var value = context.stateMap.states[stateName];
- var variableValue = EMPTY_MAP$1;
+ var variableValue = _EMPTY_MAP;
if (isPresent(value)) {
var styleMap_1 = [];
Object.keys(value).forEach(function (key) { styleMap_1.push([key, literal(value[key])]); });
@@ -19138,6 +19141,7 @@
this.stateMap = new _AnimationBuilderStateMap();
this.endStateAnimateStep = null;
this.isExpectingFirstStyleStep = false;
+ this.isExpectingFirstAnimateStep = false;
this.totalTransitionTime = 0;
}
return _AnimationBuilderContext;
@@ -19185,1559 +19189,189 @@
return obj.styles.styles;
}
- var Math$1 = global$1.Math;
-
- var StylesCollectionEntry = (function () {
- function StylesCollectionEntry(time, value) {
- this.time = time;
- this.value = value;
+ function createDiTokenExpression(token) {
+ if (isPresent(token.value)) {
+ return literal(token.value);
}
- StylesCollectionEntry.prototype.matches = function (time, value) {
- return time == this.time && value == this.value;
- };
- return StylesCollectionEntry;
- }());
- var StylesCollection = (function () {
- function StylesCollection() {
- this.styles = {};
- }
- StylesCollection.prototype.insertAtTime = function (property, time, value) {
- var tuple = new StylesCollectionEntry(time, value);
- var entries = this.styles[property];
- if (!isPresent(entries)) {
- entries = this.styles[property] = [];
- }
- // insert this at the right stop in the array
- // this way we can keep it sorted
- var insertionIndex = 0;
- for (var i = entries.length - 1; i >= 0; i--) {
- if (entries[i].time <= time) {
- insertionIndex = i + 1;
- break;
- }
- }
- ListWrapper.insert(entries, insertionIndex, tuple);
- };
- StylesCollection.prototype.getByIndex = function (property, index) {
- var items = this.styles[property];
- if (isPresent(items)) {
- return index >= items.length ? null : items[index];
- }
- return null;
- };
- StylesCollection.prototype.indexOfAtOrBeforeTime = function (property, time) {
- var entries = this.styles[property];
- if (isPresent(entries)) {
- for (var i = entries.length - 1; i >= 0; i--) {
- if (entries[i].time <= time)
- return i;
- }
- }
- return null;
- };
- return StylesCollection;
- }());
-
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
- var __extends$13 = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- var _INITIAL_KEYFRAME = 0;
- var _TERMINAL_KEYFRAME = 1;
- var _ONE_SECOND = 1000;
- var AnimationParseError = (function (_super) {
- __extends$13(AnimationParseError, _super);
- function AnimationParseError(message) {
- _super.call(this, null, message);
- }
- AnimationParseError.prototype.toString = function () { return "" + this.msg; };
- return AnimationParseError;
- }(ParseError));
- var AnimationEntryParseResult = (function () {
- function AnimationEntryParseResult(ast, errors) {
- this.ast = ast;
- this.errors = errors;
- }
- return AnimationEntryParseResult;
- }());
- var AnimationParser = (function () {
- function AnimationParser() {
- }
- AnimationParser.prototype.parseComponent = function (component) {
- var _this = this;
- var errors = [];
- var componentName = component.type.name;
- var animationTriggerNames = new Set();
- var asts = component.template.animations.map(function (entry) {
- var result = _this.parseEntry(entry);
- var ast = result.ast;
- var triggerName = ast.name;
- if (animationTriggerNames.has(triggerName)) {
- result.errors.push(new AnimationParseError("The animation trigger \"" + triggerName + "\" has already been registered for the " + componentName + " component"));
- }
- else {
- animationTriggerNames.add(triggerName);
- }
- if (result.errors.length > 0) {
- var errorMessage_1 = "- Unable to parse the animation sequence for \"" + triggerName + "\" on the " + componentName + " component due to the following errors:";
- result.errors.forEach(function (error) { errorMessage_1 += '\n-- ' + error.msg; });
- errors.push(errorMessage_1);
- }
- return ast;
- });
- if (errors.length > 0) {
- var errorString = errors.join('\n');
- throw new Error("Animation parse errors:\n" + errorString);
- }
- return asts;
- };
- AnimationParser.prototype.parseEntry = function (entry) {
- var errors = [];
- var stateStyles = {};
- var transitions = [];
- var stateDeclarationAsts = [];
- entry.definitions.forEach(function (def) {
- if (def instanceof CompileAnimationStateDeclarationMetadata) {
- _parseAnimationDeclarationStates(def, errors).forEach(function (ast) {
- stateDeclarationAsts.push(ast);
- stateStyles[ast.stateName] = ast.styles;
- });
- }
- else {
- transitions.push(def);
- }
- });
- var stateTransitionAsts = transitions.map(function (transDef) { return _parseAnimationStateTransition(transDef, stateStyles, errors); });
- var ast = new AnimationEntryAst(entry.name, stateDeclarationAsts, stateTransitionAsts);
- return new AnimationEntryParseResult(ast, errors);
- };
- return AnimationParser;
- }());
- function _parseAnimationDeclarationStates(stateMetadata, errors) {
- var styleValues = [];
- stateMetadata.styles.styles.forEach(function (stylesEntry) {
- // TODO (matsko): change this when we get CSS class integration support
- if (isStringMap(stylesEntry)) {
- styleValues.push(stylesEntry);
- }
- else {
- errors.push(new AnimationParseError("State based animations cannot contain references to other states"));
- }
- });
- var defStyles = new AnimationStylesAst(styleValues);
- var states = stateMetadata.stateNameExpr.split(/\s*,\s*/);
- return states.map(function (state) { return new AnimationStateDeclarationAst(state, defStyles); });
- }
- function _parseAnimationStateTransition(transitionStateMetadata, stateStyles, errors) {
- var styles = new StylesCollection();
- var transitionExprs = [];
- var transitionStates = transitionStateMetadata.stateChangeExpr.split(/\s*,\s*/);
- transitionStates.forEach(function (expr) { transitionExprs.push.apply(transitionExprs, _parseAnimationTransitionExpr(expr, errors)); });
- var entry = _normalizeAnimationEntry(transitionStateMetadata.steps);
- var animation = _normalizeStyleSteps(entry, stateStyles, errors);
- var animationAst = _parseTransitionAnimation(animation, 0, styles, stateStyles, errors);
- if (errors.length == 0) {
- _fillAnimationAstStartingKeyframes(animationAst, styles, errors);
- }
- var stepsAst = (animationAst instanceof AnimationWithStepsAst) ?
- animationAst :
- new AnimationSequenceAst([animationAst]);
- return new AnimationStateTransitionAst(transitionExprs, stepsAst);
- }
- function _parseAnimationAlias(alias, errors) {
- switch (alias) {
- case ':enter':
- return 'void => *';
- case ':leave':
- return '* => void';
- default:
- errors.push(new AnimationParseError("the transition alias value \"" + alias + "\" is not supported"));
- return '* => *';
- }
- }
- function _parseAnimationTransitionExpr(eventStr, errors) {
- var expressions = [];
- if (eventStr[0] == ':') {
- eventStr = _parseAnimationAlias(eventStr, errors);
- }
- var match = eventStr.match(/^(\*|[-\w]+)\s*([=-]>)\s*(\*|[-\w]+)$/);
- if (!isPresent(match) || match.length < 4) {
- errors.push(new AnimationParseError("the provided " + eventStr + " is not of a supported format"));
- return expressions;
- }
- var fromState = match[1];
- var separator = match[2];
- var toState = match[3];
- expressions.push(new AnimationStateTransitionExpression(fromState, toState));
- var isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;
- if (separator[0] == '<' && !isFullAnyStateExpr) {
- expressions.push(new AnimationStateTransitionExpression(toState, fromState));
- }
- return expressions;
- }
- function _normalizeAnimationEntry(entry) {
- return isArray(entry) ? new CompileAnimationSequenceMetadata(entry) :
- entry;
- }
- function _normalizeStyleMetadata(entry, stateStyles, errors) {
- var normalizedStyles = [];
- entry.styles.forEach(function (styleEntry) {
- if (isString(styleEntry)) {
- ListWrapper.addAll(normalizedStyles, _resolveStylesFromState(styleEntry, stateStyles, errors));
- }
- else {
- normalizedStyles.push(styleEntry);
- }
- });
- return normalizedStyles;
- }
- function _normalizeStyleSteps(entry, stateStyles, errors) {
- var steps = _normalizeStyleStepEntry(entry, stateStyles, errors);
- return (entry instanceof CompileAnimationGroupMetadata) ?
- new CompileAnimationGroupMetadata(steps) :
- new CompileAnimationSequenceMetadata(steps);
- }
- function _mergeAnimationStyles(stylesList, newItem) {
- if (isStringMap(newItem) && stylesList.length > 0) {
- var lastIndex = stylesList.length - 1;
- var lastItem = stylesList[lastIndex];
- if (isStringMap(lastItem)) {
- stylesList[lastIndex] = StringMapWrapper.merge(lastItem, newItem);
- return;
- }
- }
- stylesList.push(newItem);
- }
- function _normalizeStyleStepEntry(entry, stateStyles, errors) {
- var steps;
- if (entry instanceof CompileAnimationWithStepsMetadata) {
- steps = entry.steps;
+ else if (token.identifierIsInstance) {
+ return importExpr(token.identifier)
+ .instantiate([], importType(token.identifier, [], [TypeModifier.Const]));
}
else {
- return [entry];
- }
- var newSteps = [];
- var combinedStyles;
- steps.forEach(function (step) {
- if (step instanceof CompileAnimationStyleMetadata) {
- // this occurs when a style step is followed by a previous style step
- // or when the first style step is run. We want to concatenate all subsequent
- // style steps together into a single style step such that we have the correct
- // starting keyframe data to pass into the animation player.
- if (!isPresent(combinedStyles)) {
- combinedStyles = [];
- }
- _normalizeStyleMetadata(step, stateStyles, errors)
- .forEach(function (entry) { _mergeAnimationStyles(combinedStyles, entry); });
- }
- else {
- // it is important that we create a metadata entry of the combined styles
- // before we go on an process the animate, sequence or group metadata steps.
- // This will ensure that the AST will have the previous styles painted on
- // screen before any further animations that use the styles take place.
- if (isPresent(combinedStyles)) {
- newSteps.push(new CompileAnimationStyleMetadata(0, combinedStyles));
- combinedStyles = null;
- }
- if (step instanceof CompileAnimationAnimateMetadata) {
- // we do not recurse into CompileAnimationAnimateMetadata since
- // those style steps are not going to be squashed
- var animateStyleValue = step.styles;
- if (animateStyleValue instanceof CompileAnimationStyleMetadata) {
- animateStyleValue.styles =
- _normalizeStyleMetadata(animateStyleValue, stateStyles, errors);
- }
- else if (animateStyleValue instanceof CompileAnimationKeyframesSequenceMetadata) {
- animateStyleValue.steps.forEach(function (step) { step.styles = _normalizeStyleMetadata(step, stateStyles, errors); });
- }
- }
- else if (step instanceof CompileAnimationWithStepsMetadata) {
- var innerSteps = _normalizeStyleStepEntry(step, stateStyles, errors);
- step = step instanceof CompileAnimationGroupMetadata ?
- new CompileAnimationGroupMetadata(innerSteps) :
- new CompileAnimationSequenceMetadata(innerSteps);
- }
- newSteps.push(step);
- }
- });
- // this happens when only styles were animated within the sequence
- if (isPresent(combinedStyles)) {
- newSteps.push(new CompileAnimationStyleMetadata(0, combinedStyles));
- }
- return newSteps;
- }
- function _resolveStylesFromState(stateName, stateStyles, errors) {
- var styles = [];
- if (stateName[0] != ':') {
- errors.push(new AnimationParseError("Animation states via styles must be prefixed with a \":\""));
- }
- else {
- var normalizedStateName = stateName.substring(1);
- var value = stateStyles[normalizedStateName];
- if (!isPresent(value)) {
- errors.push(new AnimationParseError("Unable to apply styles due to missing a state: \"" + normalizedStateName + "\""));
- }
- else {
- value.styles.forEach(function (stylesEntry) {
- if (isStringMap(stylesEntry)) {
- styles.push(stylesEntry);
- }
- });
- }
- }
- return styles;
- }
- var _AnimationTimings = (function () {
- function _AnimationTimings(duration, delay, easing) {
- this.duration = duration;
- this.delay = delay;
- this.easing = easing;
- }
- return _AnimationTimings;
- }());
- function _parseAnimationKeyframes(keyframeSequence, currentTime, collectedStyles, stateStyles, errors) {
- var totalEntries = keyframeSequence.steps.length;
- var totalOffsets = 0;
- keyframeSequence.steps.forEach(function (step) { return totalOffsets += (isPresent(step.offset) ? 1 : 0); });
- if (totalOffsets > 0 && totalOffsets < totalEntries) {
- errors.push(new AnimationParseError("Not all style() entries contain an offset for the provided keyframe()"));
- totalOffsets = totalEntries;
- }
- var limit = totalEntries - 1;
- var margin = totalOffsets == 0 ? (1 / limit) : 0;
- var rawKeyframes = [];
- var index = 0;
- var doSortKeyframes = false;
- var lastOffset = 0;
- keyframeSequence.steps.forEach(function (styleMetadata) {
- var offset = styleMetadata.offset;
- var keyframeStyles = {};
- styleMetadata.styles.forEach(function (entry) {
- Object.keys(entry).forEach(function (prop) {
- if (prop != 'offset') {
- keyframeStyles[prop] = entry[prop];
- }
- });
- });
- if (isPresent(offset)) {
- doSortKeyframes = doSortKeyframes || (offset < lastOffset);
- }
- else {
- offset = index == limit ? _TERMINAL_KEYFRAME : (margin * index);
- }
- rawKeyframes.push([offset, keyframeStyles]);
- lastOffset = offset;
- index++;
- });
- if (doSortKeyframes) {
- ListWrapper.sort(rawKeyframes, function (a, b) { return a[0] <= b[0] ? -1 : 1; });
- }
- var firstKeyframe = rawKeyframes[0];
- if (firstKeyframe[0] != _INITIAL_KEYFRAME) {
- ListWrapper.insert(rawKeyframes, 0, firstKeyframe = [_INITIAL_KEYFRAME, {}]);
- }
- var firstKeyframeStyles = firstKeyframe[1];
- limit = rawKeyframes.length - 1;
- var lastKeyframe = rawKeyframes[limit];
- if (lastKeyframe[0] != _TERMINAL_KEYFRAME) {
- rawKeyframes.push(lastKeyframe = [_TERMINAL_KEYFRAME, {}]);
- limit++;
- }
- var lastKeyframeStyles = lastKeyframe[1];
- for (var i = 1; i <= limit; i++) {
- var entry = rawKeyframes[i];
- var styles = entry[1];
- Object.keys(styles).forEach(function (prop) {
- if (!isPresent(firstKeyframeStyles[prop])) {
- firstKeyframeStyles[prop] = FILL_STYLE_FLAG;
- }
- });
- }
- var _loop_1 = function(i) {
- var entry = rawKeyframes[i];
- var styles = entry[1];
- Object.keys(styles).forEach(function (prop) {
- if (!isPresent(lastKeyframeStyles[prop])) {
- lastKeyframeStyles[prop] = styles[prop];
- }
- });
- };
- for (var i = limit - 1; i >= 0; i--) {
- _loop_1(i);
- }
- return rawKeyframes.map(function (entry) { return new AnimationKeyframeAst(entry[0], new AnimationStylesAst([entry[1]])); });
- }
- function _parseTransitionAnimation(entry, currentTime, collectedStyles, stateStyles, errors) {
- var ast;
- var playTime = 0;
- var startingTime = currentTime;
- if (entry instanceof CompileAnimationWithStepsMetadata) {
- var maxDuration = 0;
- var steps = [];
- var isGroup = entry instanceof CompileAnimationGroupMetadata;
- var previousStyles;
- entry.steps.forEach(function (entry) {
- // these will get picked up by the next step...
- var time = isGroup ? startingTime : currentTime;
- if (entry instanceof CompileAnimationStyleMetadata) {
- entry.styles.forEach(function (stylesEntry) {
- // by this point we know that we only have stringmap values
- var map = stylesEntry;
- Object.keys(map).forEach(function (prop) { collectedStyles.insertAtTime(prop, time, map[prop]); });
- });
- previousStyles = entry.styles;
- return;
- }
- var innerAst = _parseTransitionAnimation(entry, time, collectedStyles, stateStyles, errors);
- if (isPresent(previousStyles)) {
- if (entry instanceof CompileAnimationWithStepsMetadata) {
- var startingStyles = new AnimationStylesAst(previousStyles);
- steps.push(new AnimationStepAst(startingStyles, [], 0, 0, ''));
- }
- else {
- var innerStep = innerAst;
- ListWrapper.addAll(innerStep.startingStyles.styles, previousStyles);
- }
- previousStyles = null;
- }
- var astDuration = innerAst.playTime;
- currentTime += astDuration;
- playTime += astDuration;
- maxDuration = Math$1.max(astDuration, maxDuration);
- steps.push(innerAst);
- });
- if (isPresent(previousStyles)) {
- var startingStyles = new AnimationStylesAst(previousStyles);
- steps.push(new AnimationStepAst(startingStyles, [], 0, 0, ''));
- }
- if (isGroup) {
- ast = new AnimationGroupAst(steps);
- playTime = maxDuration;
- currentTime = startingTime + playTime;
- }
- else {
- ast = new AnimationSequenceAst(steps);
- }
- }
- else if (entry instanceof CompileAnimationAnimateMetadata) {
- var timings = _parseTimeExpression(entry.timings, errors);
- var styles = entry.styles;
- var keyframes;
- if (styles instanceof CompileAnimationKeyframesSequenceMetadata) {
- keyframes =
- _parseAnimationKeyframes(styles, currentTime, collectedStyles, stateStyles, errors);
- }
- else {
- var styleData = styles;
- var offset = _TERMINAL_KEYFRAME;
- var styleAst = new AnimationStylesAst(styleData.styles);
- var keyframe = new AnimationKeyframeAst(offset, styleAst);
- keyframes = [keyframe];
- }
- ast = new AnimationStepAst(new AnimationStylesAst([]), keyframes, timings.duration, timings.delay, timings.easing);
- playTime = timings.duration + timings.delay;
- currentTime += playTime;
- keyframes.forEach(function (keyframe /** TODO #9100 */) { return keyframe.styles.styles.forEach(function (entry /** TODO #9100 */) { return Object.keys(entry).forEach(function (prop) { collectedStyles.insertAtTime(prop, currentTime, entry[prop]); }); }); });
- }
- else {
- // if the code reaches this stage then an error
- // has already been populated within the _normalizeStyleSteps()
- // operation...
- ast = new AnimationStepAst(null, [], 0, 0, '');
- }
- ast.playTime = playTime;
- ast.startTime = startingTime;
- return ast;
- }
- function _fillAnimationAstStartingKeyframes(ast, collectedStyles, errors) {
- // steps that only contain style will not be filled
- if ((ast instanceof AnimationStepAst) && ast.keyframes.length > 0) {
- var keyframes = ast.keyframes;
- if (keyframes.length == 1) {
- var endKeyframe = keyframes[0];
- var startKeyframe = _createStartKeyframeFromEndKeyframe(endKeyframe, ast.startTime, ast.playTime, collectedStyles, errors);
- ast.keyframes = [startKeyframe, endKeyframe];
- }
- }
- else if (ast instanceof AnimationWithStepsAst) {
- ast.steps.forEach(function (entry) { return _fillAnimationAstStartingKeyframes(entry, collectedStyles, errors); });
+ return importExpr(token.identifier);
}
}
- function _parseTimeExpression(exp, errors) {
- var regex = /^([\.\d]+)(m?s)(?:\s+([\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?/i;
- var duration;
- var delay = 0;
- var easing = null;
- if (isString(exp)) {
- var matches = exp.match(regex);
- if (matches === null) {
- errors.push(new AnimationParseError("The provided timing value \"" + exp + "\" is invalid."));
- return new _AnimationTimings(0, 0, null);
- }
- var durationMatch = parseFloat(matches[1]);
- var durationUnit = matches[2];
- if (durationUnit == 's') {
- durationMatch *= _ONE_SECOND;
- }
- duration = Math$1.floor(durationMatch);
- var delayMatch = matches[3];
- var delayUnit = matches[4];
- if (isPresent(delayMatch)) {
- var delayVal = parseFloat(delayMatch);
- if (isPresent(delayUnit) && delayUnit == 's') {
- delayVal *= _ONE_SECOND;
- }
- delay = Math$1.floor(delayVal);
- }
- var easingVal = matches[5];
- if (!isBlank(easingVal)) {
- easing = easingVal;
- }
+ function createInlineArray(values) {
+ if (values.length === 0) {
+ return importExpr(resolveIdentifier(Identifiers.EMPTY_INLINE_ARRAY));
}
- else {
- duration = exp;
- }
- return new _AnimationTimings(duration, delay, easing);
+ var log2 = Math.log(values.length) / Math.log(2);
+ var index = Math.ceil(log2);
+ var identifierSpec = index < Identifiers.inlineArrays.length ? Identifiers.inlineArrays[index] :
+ Identifiers.InlineArrayDynamic;
+ var identifier = resolveIdentifier(identifierSpec);
+ return importExpr(identifier).instantiate([
+ literal(values.length)
+ ].concat(values));
}
- function _createStartKeyframeFromEndKeyframe(endKeyframe, startTime, duration, collectedStyles, errors) {
- var values = {};
- var endTime = startTime + duration;
- endKeyframe.styles.styles.forEach(function (styleData) {
- Object.keys(styleData).forEach(function (prop) {
- var val = styleData[prop];
- if (prop == 'offset')
- return;
- var resultIndex = collectedStyles.indexOfAtOrBeforeTime(prop, startTime);
- var resultEntry /** TODO #9100 */, nextEntry /** TODO #9100 */, value;
- if (isPresent(resultIndex)) {
- resultEntry = collectedStyles.getByIndex(prop, resultIndex);
- value = resultEntry.value;
- nextEntry = collectedStyles.getByIndex(prop, resultIndex + 1);
- }
- else {
- // this is a flag that the runtime code uses to pass
- // in a value either from the state declaration styles
- // or using the AUTO_STYLE value (e.g. getComputedStyle)
- value = FILL_STYLE_FLAG;
- }
- if (isPresent(nextEntry) && !nextEntry.matches(endTime, val)) {
- errors.push(new AnimationParseError("The animated CSS property \"" + prop + "\" unexpectedly changes between steps \"" + resultEntry.time + "ms\" and \"" + endTime + "ms\" at \"" + nextEntry.time + "ms\""));
- }
- values[prop] = value;
- });
- });
- return new AnimationKeyframeAst(_INITIAL_KEYFRAME, new AnimationStylesAst([values]));
- }
-
- function convertValueToOutputAst(value, type) {
- if (type === void 0) { type = null; }
- return visitValue(value, new _ValueOutputAstTransformer(), type);
- }
- var _ValueOutputAstTransformer = (function () {
- function _ValueOutputAstTransformer() {
- }
- _ValueOutputAstTransformer.prototype.visitArray = function (arr, type) {
- var _this = this;
- return literalArr(arr.map(function (value) { return visitValue(value, _this, null); }), type);
- };
- _ValueOutputAstTransformer.prototype.visitStringMap = function (map, type) {
- var _this = this;
- var entries = [];
- Object.keys(map).forEach(function (key) { entries.push([key, visitValue(map[key], _this, null)]); });
- return literalMap(entries, type);
- };
- _ValueOutputAstTransformer.prototype.visitPrimitive = function (value, type) { return literal(value, type); };
- _ValueOutputAstTransformer.prototype.visitOther = function (value, type) {
- if (value instanceof CompileIdentifierMetadata) {
- return importExpr(value);
- }
- else if (value instanceof Expression) {
- return value;
- }
- else {
- throw new Error("Illegal state: Don't now how to compile value " + value);
- }
- };
- return _ValueOutputAstTransformer;
- }());
-
- var _DebugState = (function () {
- function _DebugState(nodeIndex, sourceAst) {
- this.nodeIndex = nodeIndex;
- this.sourceAst = sourceAst;
- }
- return _DebugState;
- }());
- var NULL_DEBUG_STATE = new _DebugState(null, null);
- var CompileMethod = (function () {
- function CompileMethod(_view) {
- this._view = _view;
- this._newState = NULL_DEBUG_STATE;
- this._currState = NULL_DEBUG_STATE;
- this._bodyStatements = [];
- this._debugEnabled = this._view.genConfig.genDebugInfo;
- }
- CompileMethod.prototype._updateDebugContextIfNeeded = function () {
- if (this._newState.nodeIndex !== this._currState.nodeIndex ||
- this._newState.sourceAst !== this._currState.sourceAst) {
- var expr = this._updateDebugContext(this._newState);
- if (isPresent(expr)) {
- this._bodyStatements.push(expr.toStmt());
- }
- }
- };
- CompileMethod.prototype._updateDebugContext = function (newState) {
- this._currState = this._newState = newState;
- if (this._debugEnabled) {
- var sourceLocation = isPresent(newState.sourceAst) ? newState.sourceAst.sourceSpan.start : null;
- return THIS_EXPR.callMethod('debug', [
- literal(newState.nodeIndex),
- isPresent(sourceLocation) ? literal(sourceLocation.line) : NULL_EXPR,
- isPresent(sourceLocation) ? literal(sourceLocation.col) : NULL_EXPR
- ]);
- }
- else {
- return null;
- }
- };
- CompileMethod.prototype.resetDebugInfoExpr = function (nodeIndex, templateAst) {
- var res = this._updateDebugContext(new _DebugState(nodeIndex, templateAst));
- return res || NULL_EXPR;
- };
- CompileMethod.prototype.resetDebugInfo = function (nodeIndex, templateAst) {
- this._newState = new _DebugState(nodeIndex, templateAst);
- };
- CompileMethod.prototype.addStmt = function (stmt) {
- this._updateDebugContextIfNeeded();
- this._bodyStatements.push(stmt);
- };
- CompileMethod.prototype.addStmts = function (stmts) {
- this._updateDebugContextIfNeeded();
- ListWrapper.addAll(this._bodyStatements, stmts);
- };
- CompileMethod.prototype.finish = function () { return this._bodyStatements; };
- CompileMethod.prototype.isEmpty = function () { return this._bodyStatements.length === 0; };
- return CompileMethod;
- }());
-
- function getPropertyInView(property, callingView, definedView) {
- if (callingView === definedView) {
- return property;
- }
- else {
- var viewProp = THIS_EXPR;
- var currView = callingView;
- while (currView !== definedView && isPresent(currView.declarationElement.view)) {
- currView = currView.declarationElement.view;
- viewProp = viewProp.prop('parent');
- }
- if (currView !== definedView) {
- throw new Error("Internal error: Could not calculate a property in a parent view: " + property);
- }
- if (property instanceof ReadPropExpr) {
- var readPropExpr_1 = property;
- // Note: Don't cast for members of the AppView base class...
- if (definedView.fields.some(function (field) { return field.name == readPropExpr_1.name; }) ||
- definedView.getters.some(function (field) { return field.name == readPropExpr_1.name; })) {
- viewProp = viewProp.cast(definedView.classType);
- }
- }
- return replaceVarInExpression(THIS_EXPR.name, viewProp, property);
- }
- }
- function injectFromViewParentInjector(token, optional) {
- var args = [createDiTokenExpression(token)];
- if (optional) {
- args.push(NULL_EXPR);
- }
- return THIS_EXPR.prop('parentInjector').callMethod('get', args);
- }
- function getViewFactoryName(component, embeddedTemplateIndex) {
- return "viewFactory_" + component.type.name + embeddedTemplateIndex;
- }
- function createFlatArray(expressions) {
- var lastNonArrayExpressions = [];
- var result = literalArr([]);
- for (var i = 0; i < expressions.length; i++) {
- var expr = expressions[i];
- if (expr.type instanceof ArrayType) {
- if (lastNonArrayExpressions.length > 0) {
- result =
- result.callMethod(BuiltinMethod.ConcatArray, [literalArr(lastNonArrayExpressions)]);
- lastNonArrayExpressions = [];
- }
- result = result.callMethod(BuiltinMethod.ConcatArray, [expr]);
- }
- else {
- lastNonArrayExpressions.push(expr);
- }
- }
- if (lastNonArrayExpressions.length > 0) {
- result =
- result.callMethod(BuiltinMethod.ConcatArray, [literalArr(lastNonArrayExpressions)]);
- }
- return result;
- }
- function createPureProxy(fn, argCount, pureProxyProp, view) {
- view.fields.push(new ClassField(pureProxyProp.name, null));
+ function createPureProxy(fn, argCount, pureProxyProp, builder) {
+ builder.fields.push(new ClassField(pureProxyProp.name, null));
var pureProxyId = argCount < Identifiers.pureProxies.length ? Identifiers.pureProxies[argCount] : null;
if (!pureProxyId) {
throw new Error("Unsupported number of argument for pure functions: " + argCount);
}
- view.createMethod.addStmt(THIS_EXPR.prop(pureProxyProp.name)
+ builder.ctorStmts.push(THIS_EXPR.prop(pureProxyProp.name)
.set(importExpr(resolveIdentifier(pureProxyId)).callFn([fn]))
.toStmt());
}
-
- var ViewQueryValues = (function () {
- function ViewQueryValues(view, values) {
- this.view = view;
- this.values = values;
+ function createEnumExpression(enumType, enumValue) {
+ var enumName = Object.keys(enumType.runtime).find(function (propName) { return enumType.runtime[propName] === enumValue; });
+ if (!enumName) {
+ throw new Error("Unknown enum value " + enumValue + " in " + enumType.name);
}
- return ViewQueryValues;
- }());
- var CompileQuery = (function () {
- function CompileQuery(meta, queryList, ownerDirectiveExpression, view) {
- this.meta = meta;
- this.queryList = queryList;
- this.ownerDirectiveExpression = ownerDirectiveExpression;
- this.view = view;
- this._values = new ViewQueryValues(view, []);
- }
- CompileQuery.prototype.addValue = function (value, view) {
- var currentView = view;
- var elPath = [];
- while (isPresent(currentView) && currentView !== this.view) {
- var parentEl = currentView.declarationElement;
- elPath.unshift(parentEl);
- currentView = parentEl.view;
- }
- var queryListForDirtyExpr = getPropertyInView(this.queryList, view, this.view);
- var viewValues = this._values;
- elPath.forEach(function (el) {
- var last = viewValues.values.length > 0 ? viewValues.values[viewValues.values.length - 1] : null;
- if (last instanceof ViewQueryValues && last.view === el.embeddedView) {
- viewValues = last;
- }
- else {
- var newViewValues = new ViewQueryValues(el.embeddedView, []);
- viewValues.values.push(newViewValues);
- viewValues = newViewValues;
- }
- });
- viewValues.values.push(value);
- if (elPath.length > 0) {
- view.dirtyParentQueriesMethod.addStmt(queryListForDirtyExpr.callMethod('setDirty', []).toStmt());
- }
- };
- CompileQuery.prototype._isStatic = function () {
- return !this._values.values.some(function (value) { return value instanceof ViewQueryValues; });
- };
- CompileQuery.prototype.afterChildren = function (targetStaticMethod, targetDynamicMethod) {
- var values = createQueryValues(this._values);
- var updateStmts = [this.queryList.callMethod('reset', [literalArr(values)]).toStmt()];
- if (isPresent(this.ownerDirectiveExpression)) {
- var valueExpr = this.meta.first ? this.queryList.prop('first') : this.queryList;
- updateStmts.push(this.ownerDirectiveExpression.prop(this.meta.propertyName).set(valueExpr).toStmt());
- }
- if (!this.meta.first) {
- updateStmts.push(this.queryList.callMethod('notifyOnChanges', []).toStmt());
- }
- if (this.meta.first && this._isStatic()) {
- // for queries that don't change and the user asked for a single element,
- // set it immediately. That is e.g. needed for querying for ViewContainerRefs, ...
- // we don't do this for QueryLists for now as this would break the timing when
- // we call QueryList listeners...
- targetStaticMethod.addStmts(updateStmts);
- }
- else {
- targetDynamicMethod.addStmt(new IfStmt(this.queryList.prop('dirty'), updateStmts));
- }
- };
- return CompileQuery;
- }());
- function createQueryValues(viewValues) {
- return ListWrapper.flatten(viewValues.values.map(function (entry) {
- if (entry instanceof ViewQueryValues) {
- return mapNestedViews(entry.view.declarationElement.appElement, entry.view, createQueryValues(entry));
- }
- else {
- return entry;
- }
- }));
+ return importExpr(resolveEnumIdentifier(resolveIdentifier(enumType), enumName));
}
- function mapNestedViews(declarationAppElement, view, expressions) {
- var adjustedExpressions = expressions.map(function (expr) { return replaceVarInExpression(THIS_EXPR.name, variable('nestedView'), expr); });
- return declarationAppElement.callMethod('mapNestedViews', [
- variable(view.className),
- fn([new FnParam('nestedView', view.classType)], [new ReturnStatement(literalArr(adjustedExpressions))], DYNAMIC_TYPE)
+
+ var CheckBindingField = (function () {
+ function CheckBindingField(expression, bindingId) {
+ this.expression = expression;
+ this.bindingId = bindingId;
+ }
+ return CheckBindingField;
+ }());
+ function createCheckBindingField(builder) {
+ var bindingId = "" + builder.fields.length;
+ var fieldExpr = createBindFieldExpr(bindingId);
+ // private is fine here as no child view will reference the cached value...
+ builder.fields.push(new ClassField(fieldExpr.name, null, [StmtModifier.Private]));
+ builder.ctorStmts.push(THIS_EXPR.prop(fieldExpr.name)
+ .set(importExpr(resolveIdentifier(Identifiers.UNINITIALIZED)))
+ .toStmt());
+ return new CheckBindingField(fieldExpr, bindingId);
+ }
+ function createCheckBindingStmt(evalResult, fieldExpr, throwOnChangeVar, actions) {
+ var condition = importExpr(resolveIdentifier(Identifiers.checkBinding)).callFn([
+ throwOnChangeVar, fieldExpr, evalResult.currValExpr
+ ]);
+ if (evalResult.forceUpdate) {
+ condition = evalResult.forceUpdate.or(condition);
+ }
+ return evalResult.stmts.concat([
+ new IfStmt(condition, actions.concat([
+ THIS_EXPR.prop(fieldExpr.name).set(evalResult.currValExpr).toStmt()
+ ]))
]);
}
- function createQueryList(query, directiveInstance, propertyName, compileView) {
- compileView.fields.push(new ClassField(propertyName, importType(resolveIdentifier(Identifiers.QueryList), [DYNAMIC_TYPE])));
- var expr = THIS_EXPR.prop(propertyName);
- compileView.createMethod.addStmt(THIS_EXPR.prop(propertyName)
- .set(importExpr(resolveIdentifier(Identifiers.QueryList), [DYNAMIC_TYPE])
- .instantiate([]))
- .toStmt());
- return expr;
- }
- function addQueryToTokenMap(map, query) {
- query.meta.selectors.forEach(function (selector) {
- var entry = map.get(selector.reference);
- if (!entry) {
- entry = [];
- map.set(selector.reference, entry);
- }
- entry.push(query);
- });
+ function createBindFieldExpr(bindingId) {
+ return THIS_EXPR.prop("_expr_" + bindingId);
}
- function _enumExpression(classIdentifier, name) {
- return importExpr(resolveEnumIdentifier(classIdentifier, name));
- }
- var ViewTypeEnum = (function () {
- function ViewTypeEnum() {
- }
- ViewTypeEnum.fromValue = function (value) {
- var viewType = resolveIdentifier(Identifiers.ViewType);
- switch (value) {
- case ViewType.HOST:
- return _enumExpression(viewType, 'HOST');
- case ViewType.COMPONENT:
- return _enumExpression(viewType, 'COMPONENT');
- case ViewType.EMBEDDED:
- return _enumExpression(viewType, 'EMBEDDED');
- default:
- throw Error("Inavlid ViewType value: " + value);
- }
- };
- return ViewTypeEnum;
- }());
- var ViewEncapsulationEnum = (function () {
- function ViewEncapsulationEnum() {
- }
- ViewEncapsulationEnum.fromValue = function (value) {
- var viewEncapsulation = resolveIdentifier(Identifiers.ViewEncapsulation);
- switch (value) {
- case _angular_core.ViewEncapsulation.Emulated:
- return _enumExpression(viewEncapsulation, 'Emulated');
- case _angular_core.ViewEncapsulation.Native:
- return _enumExpression(viewEncapsulation, 'Native');
- case _angular_core.ViewEncapsulation.None:
- return _enumExpression(viewEncapsulation, 'None');
- default:
- throw Error("Inavlid ViewEncapsulation value: " + value);
- }
- };
- return ViewEncapsulationEnum;
- }());
- var ChangeDetectorStatusEnum = (function () {
- function ChangeDetectorStatusEnum() {
- }
- ChangeDetectorStatusEnum.fromValue = function (value) {
- var changeDetectorStatus = resolveIdentifier(Identifiers.ChangeDetectorStatus);
- switch (value) {
- case ChangeDetectorStatus.CheckOnce:
- return _enumExpression(changeDetectorStatus, 'CheckOnce');
- case ChangeDetectorStatus.Checked:
- return _enumExpression(changeDetectorStatus, 'Checked');
- case ChangeDetectorStatus.CheckAlways:
- return _enumExpression(changeDetectorStatus, 'CheckAlways');
- case ChangeDetectorStatus.Detached:
- return _enumExpression(changeDetectorStatus, 'Detached');
- case ChangeDetectorStatus.Errored:
- return _enumExpression(changeDetectorStatus, 'Errored');
- case ChangeDetectorStatus.Destroyed:
- return _enumExpression(changeDetectorStatus, 'Destroyed');
- default:
- throw Error("Inavlid ChangeDetectorStatus value: " + value);
- }
- };
- return ChangeDetectorStatusEnum;
- }());
- var ViewConstructorVars = (function () {
- function ViewConstructorVars() {
- }
- ViewConstructorVars.viewUtils = variable('viewUtils');
- ViewConstructorVars.parentInjector = variable('parentInjector');
- ViewConstructorVars.declarationEl = variable('declarationEl');
- return ViewConstructorVars;
- }());
- var ViewProperties = (function () {
- function ViewProperties() {
- }
- ViewProperties.renderer = THIS_EXPR.prop('renderer');
- ViewProperties.projectableNodes = THIS_EXPR.prop('projectableNodes');
- ViewProperties.viewUtils = THIS_EXPR.prop('viewUtils');
- return ViewProperties;
- }());
+ var VAL_UNWRAPPER_VAR = variable("valUnwrapper");
var EventHandlerVars = (function () {
function EventHandlerVars() {
}
EventHandlerVars.event = variable('$event');
return EventHandlerVars;
}());
- var InjectMethodVars = (function () {
- function InjectMethodVars() {
+ var ConvertPropertyBindingResult = (function () {
+ function ConvertPropertyBindingResult(stmts, currValExpr, forceUpdate) {
+ this.stmts = stmts;
+ this.currValExpr = currValExpr;
+ this.forceUpdate = forceUpdate;
}
- InjectMethodVars.token = variable('token');
- InjectMethodVars.requestNodeIndex = variable('requestNodeIndex');
- InjectMethodVars.notFoundResult = variable('notFoundResult');
- return InjectMethodVars;
+ return ConvertPropertyBindingResult;
}());
- var DetectChangesVars = (function () {
- function DetectChangesVars() {
- }
- DetectChangesVars.throwOnChange = variable("throwOnChange");
- DetectChangesVars.changes = variable("changes");
- DetectChangesVars.changed = variable("changed");
- DetectChangesVars.valUnwrapper = variable("valUnwrapper");
- return DetectChangesVars;
- }());
-
/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
+ * Converts the given expression AST into an executable output AST, assuming the expression is
+ * used in a property binding.
*/
- var __extends$14 = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- var CompileNode = (function () {
- function CompileNode(parent, view, nodeIndex, renderNode, sourceAst) {
- this.parent = parent;
- this.view = view;
- this.nodeIndex = nodeIndex;
- this.renderNode = renderNode;
- this.sourceAst = sourceAst;
+ function convertPropertyBinding(builder, nameResolver, implicitReceiver, expression, bindingId) {
+ var currValExpr = createCurrValueExpr(bindingId);
+ var stmts = [];
+ if (!nameResolver) {
+ nameResolver = new DefaultNameResolver();
}
- CompileNode.prototype.isNull = function () { return !this.renderNode; };
- CompileNode.prototype.isRootElement = function () { return this.view != this.parent.view; };
- return CompileNode;
- }());
- var CompileElement = (function (_super) {
- __extends$14(CompileElement, _super);
- function CompileElement(parent, view, nodeIndex, renderNode, sourceAst, component, _directives, _resolvedProvidersArray, hasViewContainer, hasEmbeddedView, references) {
- var _this = this;
- _super.call(this, parent, view, nodeIndex, renderNode, sourceAst);
- this.component = component;
- this._directives = _directives;
- this._resolvedProvidersArray = _resolvedProvidersArray;
- this.hasViewContainer = hasViewContainer;
- this.hasEmbeddedView = hasEmbeddedView;
- this._compViewExpr = null;
- this.instances = new Map();
- this._queryCount = 0;
- this._queries = new Map();
- this._componentConstructorViewQueryLists = [];
- this.contentNodesByNgContentIndex = null;
- this.referenceTokens = {};
- references.forEach(function (ref) { return _this.referenceTokens[ref.name] = ref.value; });
- this.elementRef =
- importExpr(resolveIdentifier(Identifiers.ElementRef)).instantiate([this.renderNode]);
- this.instances.set(resolveIdentifierToken(Identifiers.ElementRef).reference, this.elementRef);
- this.injector = THIS_EXPR.callMethod('injector', [literal(this.nodeIndex)]);
- this.instances.set(resolveIdentifierToken(Identifiers.Injector).reference, this.injector);
- this.instances.set(resolveIdentifierToken(Identifiers.Renderer).reference, THIS_EXPR.prop('renderer'));
- if (this.hasViewContainer || this.hasEmbeddedView || isPresent(this.component)) {
- this._createAppElement();
+ var visitor = new _AstToIrVisitor(builder, nameResolver, implicitReceiver, VAL_UNWRAPPER_VAR, bindingId, false);
+ var outputExpr = expression.visit(visitor, _Mode.Expression);
+ if (!outputExpr) {
+ // e.g. an empty expression was given
+ return null;
+ }
+ if (visitor.temporaryCount) {
+ for (var i = 0; i < visitor.temporaryCount; i++) {
+ stmts.push(temporaryDeclaration(bindingId, i));
}
}
- CompileElement.createNull = function () {
- return new CompileElement(null, null, null, null, null, null, [], [], false, false, []);
- };
- CompileElement.prototype._createAppElement = function () {
- var fieldName = "_appEl_" + this.nodeIndex;
- var parentNodeIndex = this.isRootElement() ? null : this.parent.nodeIndex;
- // private is fine here as no child view will reference an AppElement
- this.view.fields.push(new ClassField(fieldName, importType(resolveIdentifier(Identifiers.AppElement)), [StmtModifier.Private]));
- var statement = THIS_EXPR.prop(fieldName)
- .set(importExpr(resolveIdentifier(Identifiers.AppElement)).instantiate([
- literal(this.nodeIndex), literal(parentNodeIndex), THIS_EXPR, this.renderNode
- ]))
- .toStmt();
- this.view.createMethod.addStmt(statement);
- this.appElement = THIS_EXPR.prop(fieldName);
- this.instances.set(resolveIdentifierToken(Identifiers.AppElement).reference, this.appElement);
- };
- CompileElement.prototype.createComponentFactoryResolver = function (entryComponents) {
- if (!entryComponents || entryComponents.length === 0) {
- return;
- }
- var createComponentFactoryResolverExpr = importExpr(resolveIdentifier(Identifiers.CodegenComponentFactoryResolver)).instantiate([
- literalArr(entryComponents.map(function (entryComponent) { return importExpr(entryComponent); })),
- injectFromViewParentInjector(resolveIdentifierToken(Identifiers.ComponentFactoryResolver), false)
- ]);
- var provider = new CompileProviderMetadata({
- token: resolveIdentifierToken(Identifiers.ComponentFactoryResolver),
- useValue: createComponentFactoryResolverExpr
- });
- // Add ComponentFactoryResolver as first provider as it does not have deps on other providers
- // ProviderAstType.PrivateService as only the component and its view can see it,
- // but nobody else
- this._resolvedProvidersArray.unshift(new ProviderAst(provider.token, false, true, [provider], exports.ProviderAstType.PrivateService, [], this.sourceAst.sourceSpan));
- };
- CompileElement.prototype.setComponentView = function (compViewExpr) {
- this._compViewExpr = compViewExpr;
- this.contentNodesByNgContentIndex =
- new Array(this.component.template.ngContentSelectors.length);
- for (var i = 0; i < this.contentNodesByNgContentIndex.length; i++) {
- this.contentNodesByNgContentIndex[i] = [];
- }
- };
- CompileElement.prototype.setEmbeddedView = function (embeddedView) {
- this.embeddedView = embeddedView;
- if (isPresent(embeddedView)) {
- var createTemplateRefExpr = importExpr(resolveIdentifier(Identifiers.TemplateRef_)).instantiate([
- this.appElement, this.embeddedView.viewFactory
- ]);
- var provider = new CompileProviderMetadata({
- token: resolveIdentifierToken(Identifiers.TemplateRef),
- useValue: createTemplateRefExpr
- });
- // Add TemplateRef as first provider as it does not have deps on other providers
- this._resolvedProvidersArray.unshift(new ProviderAst(provider.token, false, true, [provider], exports.ProviderAstType.Builtin, [], this.sourceAst.sourceSpan));
- }
- };
- CompileElement.prototype.beforeChildren = function () {
- var _this = this;
- if (this.hasViewContainer) {
- this.instances.set(resolveIdentifierToken(Identifiers.ViewContainerRef).reference, this.appElement.prop('vcRef'));
- }
- this._resolvedProviders = new Map();
- this._resolvedProvidersArray.forEach(function (provider) { return _this._resolvedProviders.set(provider.token.reference, provider); });
- // create all the provider instances, some in the view constructor,
- // some as getters. We rely on the fact that they are already sorted topologically.
- MapWrapper.values(this._resolvedProviders).forEach(function (resolvedProvider) {
- var providerValueExpressions = resolvedProvider.providers.map(function (provider) {
- if (isPresent(provider.useExisting)) {
- return _this._getDependency(resolvedProvider.providerType, new CompileDiDependencyMetadata({ token: provider.useExisting }));
- }
- else if (isPresent(provider.useFactory)) {
- var deps = provider.deps || provider.useFactory.diDeps;
- var depsExpr = deps.map(function (dep) { return _this._getDependency(resolvedProvider.providerType, dep); });
- return importExpr(provider.useFactory).callFn(depsExpr);
- }
- else if (isPresent(provider.useClass)) {
- var deps = provider.deps || provider.useClass.diDeps;
- var depsExpr = deps.map(function (dep) { return _this._getDependency(resolvedProvider.providerType, dep); });
- return importExpr(provider.useClass)
- .instantiate(depsExpr, importType(provider.useClass));
- }
- else {
- return convertValueToOutputAst(provider.useValue);
- }
- });
- var propName = "_" + resolvedProvider.token.name + "_" + _this.nodeIndex + "_" + _this.instances.size;
- var instance = createProviderProperty(propName, resolvedProvider, providerValueExpressions, resolvedProvider.multiProvider, resolvedProvider.eager, _this);
- _this.instances.set(resolvedProvider.token.reference, instance);
- });
- for (var i = 0; i < this._directives.length; i++) {
- var directive = this._directives[i];
- var directiveInstance = this.instances.get(identifierToken(directive.type).reference);
- directive.queries.forEach(function (queryMeta) { _this._addQuery(queryMeta, directiveInstance); });
- }
- var queriesWithReads = [];
- MapWrapper.values(this._resolvedProviders).forEach(function (resolvedProvider) {
- var queriesForProvider = _this._getQueriesFor(resolvedProvider.token);
- ListWrapper.addAll(queriesWithReads, queriesForProvider.map(function (query) { return new _QueryWithRead(query, resolvedProvider.token); }));
- });
- Object.keys(this.referenceTokens).forEach(function (varName) {
- var token = _this.referenceTokens[varName];
- var varValue;
- if (isPresent(token)) {
- varValue = _this.instances.get(token.reference);
- }
- else {
- varValue = _this.renderNode;
- }
- _this.view.locals.set(varName, varValue);
- var varToken = new CompileTokenMetadata({ value: varName });
- ListWrapper.addAll(queriesWithReads, _this._getQueriesFor(varToken).map(function (query) { return new _QueryWithRead(query, varToken); }));
- });
- queriesWithReads.forEach(function (queryWithRead) {
- var value;
- if (isPresent(queryWithRead.read.identifier)) {
- // query for an identifier
- value = _this.instances.get(queryWithRead.read.reference);
- }
- else {
- // query for a reference
- var token = _this.referenceTokens[queryWithRead.read.value];
- if (isPresent(token)) {
- value = _this.instances.get(token.reference);
- }
- else {
- value = _this.elementRef;
- }
- }
- if (isPresent(value)) {
- queryWithRead.query.addValue(value, _this.view);
- }
- });
- if (isPresent(this.component)) {
- var componentConstructorViewQueryList = isPresent(this.component) ?
- literalArr(this._componentConstructorViewQueryLists) :
- NULL_EXPR;
- var compExpr = isPresent(this.getComponent()) ? this.getComponent() : NULL_EXPR;
- this.view.createMethod.addStmt(this.appElement
- .callMethod('initComponent', [compExpr, componentConstructorViewQueryList, this._compViewExpr])
- .toStmt());
- }
- };
- CompileElement.prototype.afterChildren = function (childNodeCount) {
- var _this = this;
- MapWrapper.values(this._resolvedProviders).forEach(function (resolvedProvider) {
- // Note: afterChildren is called after recursing into children.
- // This is good so that an injector match in an element that is closer to a requesting element
- // matches first.
- var providerExpr = _this.instances.get(resolvedProvider.token.reference);
- // Note: view providers are only visible on the injector of that element.
- // This is not fully correct as the rules during codegen don't allow a directive
- // to get hold of a view provdier on the same element. We still do this semantic
- // as it simplifies our model to having only one runtime injector per element.
- var providerChildNodeCount = resolvedProvider.providerType === exports.ProviderAstType.PrivateService ? 0 : childNodeCount;
- _this.view.injectorGetMethod.addStmt(createInjectInternalCondition(_this.nodeIndex, providerChildNodeCount, resolvedProvider, providerExpr));
- });
- MapWrapper.values(this._queries)
- .forEach(function (queries) { return queries.forEach(function (query) { return query.afterChildren(_this.view.createMethod, _this.view.updateContentQueriesMethod); }); });
- };
- CompileElement.prototype.addContentNode = function (ngContentIndex, nodeExpr) {
- this.contentNodesByNgContentIndex[ngContentIndex].push(nodeExpr);
- };
- CompileElement.prototype.getComponent = function () {
- return isPresent(this.component) ?
- this.instances.get(identifierToken(this.component.type).reference) :
- null;
- };
- CompileElement.prototype.getProviderTokens = function () {
- return MapWrapper.values(this._resolvedProviders)
- .map(function (resolvedProvider) { return createDiTokenExpression(resolvedProvider.token); });
- };
- CompileElement.prototype._getQueriesFor = function (token) {
- var result = [];
- var currentEl = this;
- var distance = 0;
- var queries;
- while (!currentEl.isNull()) {
- queries = currentEl._queries.get(token.reference);
- if (isPresent(queries)) {
- ListWrapper.addAll(result, queries.filter(function (query) { return query.meta.descendants || distance <= 1; }));
- }
- if (currentEl._directives.length > 0) {
- distance++;
- }
- currentEl = currentEl.parent;
- }
- queries = this.view.componentView.viewQueries.get(token.reference);
- if (isPresent(queries)) {
- ListWrapper.addAll(result, queries);
- }
- return result;
- };
- CompileElement.prototype._addQuery = function (queryMeta, directiveInstance) {
- var propName = "_query_" + queryMeta.selectors[0].name + "_" + this.nodeIndex + "_" + this._queryCount++;
- var queryList = createQueryList(queryMeta, directiveInstance, propName, this.view);
- var query = new CompileQuery(queryMeta, queryList, directiveInstance, this.view);
- addQueryToTokenMap(this._queries, query);
- return query;
- };
- CompileElement.prototype._getLocalDependency = function (requestingProviderType, dep) {
- var result = null;
- // constructor content query
- if (!result && isPresent(dep.query)) {
- result = this._addQuery(dep.query, null).queryList;
- }
- // constructor view query
- if (!result && isPresent(dep.viewQuery)) {
- result = createQueryList(dep.viewQuery, null, "_viewQuery_" + dep.viewQuery.selectors[0].name + "_" + this.nodeIndex + "_" + this._componentConstructorViewQueryLists.length, this.view);
- this._componentConstructorViewQueryLists.push(result);
- }
- if (isPresent(dep.token)) {
- // access builtins with special visibility
- if (!result) {
- if (dep.token.reference ===
- resolveIdentifierToken(Identifiers.ChangeDetectorRef).reference) {
- if (requestingProviderType === exports.ProviderAstType.Component) {
- return this._compViewExpr.prop('ref');
- }
- else {
- return getPropertyInView(THIS_EXPR.prop('ref'), this.view, this.view.componentView);
- }
- }
- }
- // access regular providers on the element
- if (!result) {
- var resolvedProvider = this._resolvedProviders.get(dep.token.reference);
- // don't allow directives / public services to access private services.
- // only components and private services can access private services.
- if (resolvedProvider && (requestingProviderType === exports.ProviderAstType.Directive ||
- requestingProviderType === exports.ProviderAstType.PublicService) &&
- resolvedProvider.providerType === exports.ProviderAstType.PrivateService) {
- return null;
- }
- result = this.instances.get(dep.token.reference);
- }
- }
- return result;
- };
- CompileElement.prototype._getDependency = function (requestingProviderType, dep) {
- var currElement = this;
- var result = null;
- if (dep.isValue) {
- result = literal(dep.value);
- }
- if (!result && !dep.isSkipSelf) {
- result = this._getLocalDependency(requestingProviderType, dep);
- }
- // check parent elements
- while (!result && !currElement.parent.isNull()) {
- currElement = currElement.parent;
- result = currElement._getLocalDependency(exports.ProviderAstType.PublicService, new CompileDiDependencyMetadata({ token: dep.token }));
- }
- if (!result) {
- result = injectFromViewParentInjector(dep.token, dep.isOptional);
- }
- if (!result) {
- result = NULL_EXPR;
- }
- return getPropertyInView(result, this.view, currElement.view);
- };
- return CompileElement;
- }(CompileNode));
- function createInjectInternalCondition(nodeIndex, childNodeCount, provider, providerExpr) {
- var indexCondition;
- if (childNodeCount > 0) {
- indexCondition = literal(nodeIndex)
- .lowerEquals(InjectMethodVars.requestNodeIndex)
- .and(InjectMethodVars.requestNodeIndex.lowerEquals(literal(nodeIndex + childNodeCount)));
+ if (visitor.needsValueUnwrapper) {
+ var initValueUnwrapperStmt = VAL_UNWRAPPER_VAR.callMethod('reset', []).toStmt();
+ stmts.push(initValueUnwrapperStmt);
+ }
+ stmts.push(currValExpr.set(outputExpr).toDeclStmt(null, [StmtModifier.Final]));
+ if (visitor.needsValueUnwrapper) {
+ return new ConvertPropertyBindingResult(stmts, currValExpr, VAL_UNWRAPPER_VAR.prop('hasWrappedValue'));
}
else {
- indexCondition = literal(nodeIndex).identical(InjectMethodVars.requestNodeIndex);
+ return new ConvertPropertyBindingResult(stmts, currValExpr, null);
}
- return new IfStmt(InjectMethodVars.token.identical(createDiTokenExpression(provider.token)).and(indexCondition), [new ReturnStatement(providerExpr)]);
}
- function createProviderProperty(propName, provider, providerValueExpressions, isMulti, isEager, compileElement) {
- var view = compileElement.view;
- var resolvedProviderValueExpr;
- var type;
- if (isMulti) {
- resolvedProviderValueExpr = literalArr(providerValueExpressions);
- type = new ArrayType(DYNAMIC_TYPE);
+ var ConvertActionBindingResult = (function () {
+ function ConvertActionBindingResult(stmts, preventDefault) {
+ this.stmts = stmts;
+ this.preventDefault = preventDefault;
}
- else {
- resolvedProviderValueExpr = providerValueExpressions[0];
- type = providerValueExpressions[0].type;
- }
- if (!type) {
- type = DYNAMIC_TYPE;
- }
- if (isEager) {
- view.fields.push(new ClassField(propName, type));
- view.createMethod.addStmt(THIS_EXPR.prop(propName).set(resolvedProviderValueExpr).toStmt());
- }
- else {
- var internalField = "_" + propName;
- view.fields.push(new ClassField(internalField, type));
- var getter = new CompileMethod(view);
- getter.resetDebugInfo(compileElement.nodeIndex, compileElement.sourceAst);
- // Note: Equals is important for JS so that it also checks the undefined case!
- getter.addStmt(new IfStmt(THIS_EXPR.prop(internalField).isBlank(), [THIS_EXPR.prop(internalField).set(resolvedProviderValueExpr).toStmt()]));
- getter.addStmt(new ReturnStatement(THIS_EXPR.prop(internalField)));
- view.getters.push(new ClassGetter(propName, getter.finish(), type));
- }
- return THIS_EXPR.prop(propName);
- }
- var _QueryWithRead = (function () {
- function _QueryWithRead(query, match) {
- this.query = query;
- this.read = query.meta.read || match;
- }
- return _QueryWithRead;
+ return ConvertActionBindingResult;
}());
-
- var CompilePipe = (function () {
- function CompilePipe(view, meta) {
- var _this = this;
- this.view = view;
- this.meta = meta;
- this._purePipeProxyCount = 0;
- this.instance = THIS_EXPR.prop("_pipe_" + meta.name + "_" + view.pipeCount++);
- var deps = this.meta.type.diDeps.map(function (diDep) {
- if (diDep.token.reference ===
- resolveIdentifierToken(Identifiers.ChangeDetectorRef).reference) {
- return getPropertyInView(THIS_EXPR.prop('ref'), _this.view, _this.view.componentView);
- }
- return injectFromViewParentInjector(diDep.token, false);
- });
- this.view.fields.push(new ClassField(this.instance.name, importType(this.meta.type)));
- this.view.createMethod.resetDebugInfo(null, null);
- this.view.createMethod.addStmt(THIS_EXPR.prop(this.instance.name)
- .set(importExpr(this.meta.type).instantiate(deps))
- .toStmt());
- }
- CompilePipe.call = function (view, name, args) {
- var compView = view.componentView;
- var meta = _findPipeMeta(compView, name);
- var pipe;
- if (meta.pure) {
- // pure pipes live on the component view
- pipe = compView.purePipes.get(name);
- if (!pipe) {
- pipe = new CompilePipe(compView, meta);
- compView.purePipes.set(name, pipe);
- compView.pipes.push(pipe);
- }
- }
- else {
- // Non pure pipes live on the view that called it
- pipe = new CompilePipe(view, meta);
- view.pipes.push(pipe);
- }
- return pipe._call(view, args);
- };
- Object.defineProperty(CompilePipe.prototype, "pure", {
- get: function () { return this.meta.pure; },
- enumerable: true,
- configurable: true
- });
- CompilePipe.prototype._call = function (callingView, args) {
- if (this.meta.pure) {
- // PurePipeProxies live on the view that called them.
- var purePipeProxyInstance = THIS_EXPR.prop(this.instance.name + "_" + this._purePipeProxyCount++);
- var pipeInstanceSeenFromPureProxy = getPropertyInView(this.instance, callingView, this.view);
- createPureProxy(pipeInstanceSeenFromPureProxy.prop('transform')
- .callMethod(BuiltinMethod.Bind, [pipeInstanceSeenFromPureProxy]), args.length, purePipeProxyInstance, callingView);
- return importExpr(resolveIdentifier(Identifiers.castByValue))
- .callFn([purePipeProxyInstance, pipeInstanceSeenFromPureProxy.prop('transform')])
- .callFn(args);
- }
- else {
- return getPropertyInView(this.instance, callingView, this.view).callMethod('transform', args);
- }
- };
- return CompilePipe;
- }());
- function _findPipeMeta(view, name) {
- var pipeMeta = null;
- for (var i = view.pipeMetas.length - 1; i >= 0; i--) {
- var localPipeMeta = view.pipeMetas[i];
- if (localPipeMeta.name == name) {
- pipeMeta = localPipeMeta;
- break;
- }
- }
- if (!pipeMeta) {
- throw new Error("Illegal state: Could not find pipe " + name + " although the parser should have detected this error!");
- }
- return pipeMeta;
- }
-
- var CompileView = (function () {
- function CompileView(component, genConfig, pipeMetas, styles, animations, viewIndex, declarationElement, templateVariableBindings) {
- var _this = this;
- this.component = component;
- this.genConfig = genConfig;
- this.pipeMetas = pipeMetas;
- this.styles = styles;
- this.animations = animations;
- this.viewIndex = viewIndex;
- this.declarationElement = declarationElement;
- this.templateVariableBindings = templateVariableBindings;
- this.nodes = [];
- // root nodes or AppElements for ViewContainers
- this.rootNodesOrAppElements = [];
- this.bindings = [];
- this.classStatements = [];
- this.eventHandlerMethods = [];
- this.fields = [];
- this.getters = [];
- this.disposables = [];
- this.subscriptions = [];
- this.purePipes = new Map();
- this.pipes = [];
- this.locals = new Map();
- this.literalArrayCount = 0;
- this.literalMapCount = 0;
- this.pipeCount = 0;
- this.createMethod = new CompileMethod(this);
- this.animationBindingsMethod = new CompileMethod(this);
- this.injectorGetMethod = new CompileMethod(this);
- this.updateContentQueriesMethod = new CompileMethod(this);
- this.dirtyParentQueriesMethod = new CompileMethod(this);
- this.updateViewQueriesMethod = new CompileMethod(this);
- this.detectChangesInInputsMethod = new CompileMethod(this);
- this.detectChangesRenderPropertiesMethod = new CompileMethod(this);
- this.afterContentLifecycleCallbacksMethod = new CompileMethod(this);
- this.afterViewLifecycleCallbacksMethod = new CompileMethod(this);
- this.destroyMethod = new CompileMethod(this);
- this.detachMethod = new CompileMethod(this);
- this.viewType = getViewType(component, viewIndex);
- this.className = "_View_" + component.type.name + viewIndex;
- this.classType = importType(new CompileIdentifierMetadata({ name: this.className }));
- this.viewFactory = variable(getViewFactoryName(component, viewIndex));
- if (this.viewType === ViewType.COMPONENT || this.viewType === ViewType.HOST) {
- this.componentView = this;
- }
- else {
- this.componentView = this.declarationElement.view.componentView;
- }
- this.componentContext =
- getPropertyInView(THIS_EXPR.prop('context'), this, this.componentView);
- var viewQueries = new Map();
- if (this.viewType === ViewType.COMPONENT) {
- var directiveInstance = THIS_EXPR.prop('context');
- ListWrapper.forEachWithIndex(this.component.viewQueries, function (queryMeta, queryIndex) {
- var propName = "_viewQuery_" + queryMeta.selectors[0].name + "_" + queryIndex;
- var queryList = createQueryList(queryMeta, directiveInstance, propName, _this);
- var query = new CompileQuery(queryMeta, queryList, directiveInstance, _this);
- addQueryToTokenMap(viewQueries, query);
- });
- var constructorViewQueryCount = 0;
- this.component.type.diDeps.forEach(function (dep) {
- if (isPresent(dep.viewQuery)) {
- var queryList = THIS_EXPR.prop('declarationAppElement')
- .prop('componentConstructorViewQueries')
- .key(literal(constructorViewQueryCount++));
- var query = new CompileQuery(dep.viewQuery, queryList, null, _this);
- addQueryToTokenMap(viewQueries, query);
- }
- });
- }
- this.viewQueries = viewQueries;
- templateVariableBindings.forEach(function (entry) { _this.locals.set(entry[1], THIS_EXPR.prop('context').prop(entry[0])); });
- if (!this.declarationElement.isNull()) {
- this.declarationElement.setEmbeddedView(this);
- }
- }
- CompileView.prototype.callPipe = function (name, input, args) {
- return CompilePipe.call(this, name, [input].concat(args));
- };
- CompileView.prototype.getLocal = function (name) {
- if (name == EventHandlerVars.event.name) {
- return EventHandlerVars.event;
- }
- var currView = this;
- var result = currView.locals.get(name);
- while (!result && isPresent(currView.declarationElement.view)) {
- currView = currView.declarationElement.view;
- result = currView.locals.get(name);
- }
- if (isPresent(result)) {
- return getPropertyInView(result, this, currView);
- }
- else {
- return null;
- }
- };
- CompileView.prototype.createLiteralArray = function (values) {
- if (values.length === 0) {
- return importExpr(resolveIdentifier(Identifiers.EMPTY_ARRAY));
- }
- var proxyExpr = THIS_EXPR.prop("_arr_" + this.literalArrayCount++);
- var proxyParams = [];
- var proxyReturnEntries = [];
- for (var i = 0; i < values.length; i++) {
- var paramName = "p" + i;
- proxyParams.push(new FnParam(paramName));
- proxyReturnEntries.push(variable(paramName));
- }
- createPureProxy(fn(proxyParams, [new ReturnStatement(literalArr(proxyReturnEntries))], new ArrayType(DYNAMIC_TYPE)), values.length, proxyExpr, this);
- return proxyExpr.callFn(values);
- };
- CompileView.prototype.createLiteralMap = function (entries) {
- if (entries.length === 0) {
- return importExpr(resolveIdentifier(Identifiers.EMPTY_MAP));
- }
- var proxyExpr = THIS_EXPR.prop("_map_" + this.literalMapCount++);
- var proxyParams = [];
- var proxyReturnEntries = [];
- var values = [];
- for (var i = 0; i < entries.length; i++) {
- var paramName = "p" + i;
- proxyParams.push(new FnParam(paramName));
- proxyReturnEntries.push([entries[i][0], variable(paramName)]);
- values.push(entries[i][1]);
- }
- createPureProxy(fn(proxyParams, [new ReturnStatement(literalMap(proxyReturnEntries))], new MapType(DYNAMIC_TYPE)), entries.length, proxyExpr, this);
- return proxyExpr.callFn(values);
- };
- CompileView.prototype.afterNodes = function () {
- var _this = this;
- MapWrapper.values(this.viewQueries)
- .forEach(function (queries) { return queries.forEach(function (query) { return query.afterChildren(_this.createMethod, _this.updateViewQueriesMethod); }); });
- };
- return CompileView;
- }());
- function getViewType(component, embeddedTemplateIndex) {
- if (embeddedTemplateIndex > 0) {
- return ViewType.EMBEDDED;
- }
- else if (component.type.isHost) {
- return ViewType.HOST;
- }
- else {
- return ViewType.COMPONENT;
- }
- }
-
/**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
+ * Converts the given expression AST into an executable output AST, assuming the expression is
+ * used in an action binding (e.g. an event handler).
*/
- var CompileBinding = (function () {
- function CompileBinding(node, sourceAst) {
- this.node = node;
- this.sourceAst = sourceAst;
+ function convertActionBinding(builder, nameResolver, implicitReceiver, action, bindingId) {
+ if (!nameResolver) {
+ nameResolver = new DefaultNameResolver();
}
- return CompileBinding;
- }());
-
- var ExpressionWithWrappedValueInfo = (function () {
- function ExpressionWithWrappedValueInfo(expression, needsValueUnwrapper, temporaryCount) {
- this.expression = expression;
- this.needsValueUnwrapper = needsValueUnwrapper;
- this.temporaryCount = temporaryCount;
+ var visitor = new _AstToIrVisitor(builder, nameResolver, implicitReceiver, null, bindingId, true);
+ var actionStmts = [];
+ flattenStatements(action.visit(visitor, _Mode.Statement), actionStmts);
+ prependTemporaryDecls(visitor.temporaryCount, bindingId, actionStmts);
+ var lastIndex = actionStmts.length - 1;
+ var preventDefaultVar = null;
+ if (lastIndex >= 0) {
+ var lastStatement = actionStmts[lastIndex];
+ var returnExpr = convertStmtIntoExpression(lastStatement);
+ if (returnExpr) {
+ // Note: We need to cast the result of the method call to dynamic,
+ // as it might be a void method!
+ preventDefaultVar = createPreventDefaultVar(bindingId);
+ actionStmts[lastIndex] =
+ preventDefaultVar.set(returnExpr.cast(DYNAMIC_TYPE).notIdentical(literal(false)))
+ .toDeclStmt(null, [StmtModifier.Final]);
+ }
}
- return ExpressionWithWrappedValueInfo;
- }());
- function convertCdExpressionToIr(nameResolver, implicitReceiver, expression, valueUnwrapper, bindingIndex) {
- var visitor = new _AstToIrVisitor(nameResolver, implicitReceiver, valueUnwrapper, bindingIndex);
- var irAst = expression.visit(visitor, _Mode.Expression);
- return new ExpressionWithWrappedValueInfo(irAst, visitor.needsValueUnwrapper, visitor.temporaryCount);
+ return new ConvertActionBindingResult(actionStmts, preventDefaultVar);
}
- function convertCdStatementToIr(nameResolver, implicitReceiver, stmt, bindingIndex) {
- var visitor = new _AstToIrVisitor(nameResolver, implicitReceiver, null, bindingIndex);
- var statements = [];
- flattenStatements(stmt.visit(visitor, _Mode.Statement), statements);
- prependTemporaryDecls(visitor.temporaryCount, bindingIndex, statements);
- return statements;
+ /**
+ * Creates variables that are shared by multiple calls to `convertActionBinding` /
+ * `convertPropertyBinding`
+ */
+ function createSharedBindingVariablesIfNeeded(stmts) {
+ var unwrapperStmts = [];
+ var readVars = findReadVarNames(stmts);
+ if (readVars.has(VAL_UNWRAPPER_VAR.name)) {
+ unwrapperStmts.push(VAL_UNWRAPPER_VAR
+ .set(importExpr(resolveIdentifier(Identifiers.ValueUnwrapper)).instantiate([]))
+ .toDeclStmt(null, [StmtModifier.Final]));
+ }
+ return unwrapperStmts;
}
- function temporaryName(bindingIndex, temporaryNumber) {
- return "tmp_" + bindingIndex + "_" + temporaryNumber;
+ function temporaryName(bindingId, temporaryNumber) {
+ return "tmp_" + bindingId + "_" + temporaryNumber;
}
- function temporaryDeclaration(bindingIndex, temporaryNumber) {
- return new DeclareVarStmt(temporaryName(bindingIndex, temporaryNumber), NULL_EXPR);
+ function temporaryDeclaration(bindingId, temporaryNumber) {
+ return new DeclareVarStmt(temporaryName(bindingId, temporaryNumber), NULL_EXPR);
}
- function prependTemporaryDecls(temporaryCount, bindingIndex, statements) {
+ function prependTemporaryDecls(temporaryCount, bindingId, statements) {
for (var i = temporaryCount - 1; i >= 0; i--) {
- statements.unshift(temporaryDeclaration(bindingIndex, i));
+ statements.unshift(temporaryDeclaration(bindingId, i));
}
}
var _Mode;
@@ -20764,11 +19398,13 @@
}
}
var _AstToIrVisitor = (function () {
- function _AstToIrVisitor(_nameResolver, _implicitReceiver, _valueUnwrapper, bindingIndex) {
+ function _AstToIrVisitor(_builder, _nameResolver, _implicitReceiver, _valueUnwrapper, bindingId, isAction) {
+ this._builder = _builder;
this._nameResolver = _nameResolver;
this._implicitReceiver = _implicitReceiver;
this._valueUnwrapper = _valueUnwrapper;
- this.bindingIndex = bindingIndex;
+ this.bindingId = bindingId;
+ this.isAction = isAction;
this._nodeMap = new Map();
this._resultMap = new Map();
this._currentTemporary = 0;
@@ -20840,6 +19476,9 @@
var input = this.visit(ast.exp, _Mode.Expression);
var args = this.visitAll(ast.args, _Mode.Expression);
var value = this._nameResolver.callPipe(ast.name, input, args);
+ if (!value) {
+ throw new Error("Illegal state: Pipe " + ast.name + " is not allowed here!");
+ }
this.needsValueUnwrapper = true;
return convertToStatementIfNeeded(mode, this._valueUnwrapper.callMethod('unwrap', [value]));
};
@@ -20858,7 +19497,11 @@
args.push(this.visit(ast.expressions[i], _Mode.Expression));
}
args.push(literal(ast.strings[ast.strings.length - 1]));
- return importExpr(resolveIdentifier(Identifiers.interpolate)).callFn(args);
+ return ast.expressions.length <= 9 ?
+ importExpr(resolveIdentifier(Identifiers.inlineInterpolate)).callFn(args) :
+ importExpr(resolveIdentifier(Identifiers.interpolate)).callFn([
+ args[0], literalArr(args.slice(1))
+ ]);
};
_AstToIrVisitor.prototype.visitKeyedRead = function (ast, mode) {
return convertToStatementIfNeeded(mode, this.visit(ast.obj, _Mode.Expression).key(this.visit(ast.key, _Mode.Expression)));
@@ -20870,18 +19513,27 @@
return convertToStatementIfNeeded(mode, obj.key(key).set(value));
};
_AstToIrVisitor.prototype.visitLiteralArray = function (ast, mode) {
- return convertToStatementIfNeeded(mode, this._nameResolver.createLiteralArray(this.visitAll(ast.expressions, mode)));
+ var parts = this.visitAll(ast.expressions, mode);
+ var literalArr$$ = this.isAction ? literalArr(parts) : createCachedLiteralArray(this._builder, parts);
+ return convertToStatementIfNeeded(mode, literalArr$$);
};
_AstToIrVisitor.prototype.visitLiteralMap = function (ast, mode) {
var parts = [];
for (var i = 0; i < ast.keys.length; i++) {
parts.push([ast.keys[i], this.visit(ast.values[i], _Mode.Expression)]);
}
- return convertToStatementIfNeeded(mode, this._nameResolver.createLiteralMap(parts));
+ var literalMap$$ = this.isAction ? literalMap(parts) : createCachedLiteralMap(this._builder, parts);
+ return convertToStatementIfNeeded(mode, literalMap$$);
};
_AstToIrVisitor.prototype.visitLiteralPrimitive = function (ast, mode) {
return convertToStatementIfNeeded(mode, literal(ast.value));
};
+ _AstToIrVisitor.prototype._getLocal = function (name) {
+ if (this.isAction && name == EventHandlerVars.event.name) {
+ return EventHandlerVars.event;
+ }
+ return this._nameResolver.getLocal(name);
+ };
_AstToIrVisitor.prototype.visitMethodCall = function (ast, mode) {
var leftMostSafe = this.leftMostSafeNode(ast);
if (leftMostSafe) {
@@ -20892,7 +19544,7 @@
var result = null;
var receiver = this.visit(ast.receiver, _Mode.Expression);
if (receiver === this._implicitReceiver) {
- var varExpr = this._nameResolver.getLocal(ast.name);
+ var varExpr = this._getLocal(ast.name);
if (isPresent(varExpr)) {
result = varExpr.callFn(args);
}
@@ -20915,7 +19567,7 @@
var result = null;
var receiver = this.visit(ast.receiver, _Mode.Expression);
if (receiver === this._implicitReceiver) {
- result = this._nameResolver.getLocal(ast.name);
+ result = this._getLocal(ast.name);
}
if (isBlank(result)) {
result = receiver.prop(ast.name);
@@ -20926,7 +19578,7 @@
_AstToIrVisitor.prototype.visitPropertyWrite = function (ast, mode) {
var receiver = this.visit(ast.receiver, _Mode.Expression);
if (receiver === this._implicitReceiver) {
- var varExpr = this._nameResolver.getLocal(ast.name);
+ var varExpr = this._getLocal(ast.name);
if (isPresent(varExpr)) {
throw new Error('Cannot assign to a reference or variable!');
}
@@ -21095,158 +19747,68 @@
_AstToIrVisitor.prototype.allocateTemporary = function () {
var tempNumber = this._currentTemporary++;
this.temporaryCount = Math.max(this._currentTemporary, this.temporaryCount);
- return new ReadVarExpr(temporaryName(this.bindingIndex, tempNumber));
+ return new ReadVarExpr(temporaryName(this.bindingId, tempNumber));
};
_AstToIrVisitor.prototype.releaseTemporary = function (temporary) {
this._currentTemporary--;
- if (temporary.name != temporaryName(this.bindingIndex, this._currentTemporary)) {
+ if (temporary.name != temporaryName(this.bindingId, this._currentTemporary)) {
throw new Error("Temporary " + temporary.name + " released out of order");
}
};
return _AstToIrVisitor;
}());
function flattenStatements(arg, output) {
- if (isArray(arg)) {
+ if (Array.isArray(arg)) {
arg.forEach(function (entry) { return flattenStatements(entry, output); });
}
else {
output.push(arg);
}
}
-
- var CompileEventListener = (function () {
- function CompileEventListener(compileElement, eventTarget, eventName, eventPhase, listenerIndex) {
- this.compileElement = compileElement;
- this.eventTarget = eventTarget;
- this.eventName = eventName;
- this.eventPhase = eventPhase;
- this._hasComponentHostListener = false;
- this._actionResultExprs = [];
- this._method = new CompileMethod(compileElement.view);
- this._methodName =
- "_handle_" + sanitizeEventName(eventName) + "_" + compileElement.nodeIndex + "_" + listenerIndex;
- this._eventParam = new FnParam(EventHandlerVars.event.name, importType(this.compileElement.view.genConfig.renderTypes.renderEvent));
+ function createCachedLiteralArray(builder, values) {
+ if (values.length === 0) {
+ return importExpr(resolveIdentifier(Identifiers.EMPTY_ARRAY));
}
- CompileEventListener.getOrCreate = function (compileElement, eventTarget, eventName, eventPhase, targetEventListeners) {
- var listener = targetEventListeners.find(function (listener) { return listener.eventTarget == eventTarget && listener.eventName == eventName &&
- listener.eventPhase == eventPhase; });
- if (!listener) {
- listener = new CompileEventListener(compileElement, eventTarget, eventName, eventPhase, targetEventListeners.length);
- targetEventListeners.push(listener);
- }
- return listener;
- };
- Object.defineProperty(CompileEventListener.prototype, "methodName", {
- get: function () { return this._methodName; },
- enumerable: true,
- configurable: true
- });
- CompileEventListener.prototype.addAction = function (hostEvent, directive, directiveInstance) {
- if (isPresent(directive) && directive.isComponent) {
- this._hasComponentHostListener = true;
- }
- this._method.resetDebugInfo(this.compileElement.nodeIndex, hostEvent);
- var context = directiveInstance || this.compileElement.view.componentContext;
- var actionStmts = convertCdStatementToIr(this.compileElement.view, context, hostEvent.handler, this.compileElement.nodeIndex);
- var lastIndex = actionStmts.length - 1;
- if (lastIndex >= 0) {
- var lastStatement = actionStmts[lastIndex];
- var returnExpr = convertStmtIntoExpression(lastStatement);
- var preventDefaultVar = variable("pd_" + this._actionResultExprs.length);
- this._actionResultExprs.push(preventDefaultVar);
- if (isPresent(returnExpr)) {
- // Note: We need to cast the result of the method call to dynamic,
- // as it might be a void method!
- actionStmts[lastIndex] =
- preventDefaultVar.set(returnExpr.cast(DYNAMIC_TYPE).notIdentical(literal(false)))
- .toDeclStmt(null, [StmtModifier.Final]);
- }
- }
- this._method.addStmts(actionStmts);
- };
- CompileEventListener.prototype.finishMethod = function () {
- var markPathToRootStart = this._hasComponentHostListener ?
- this.compileElement.appElement.prop('componentView') :
- THIS_EXPR;
- var resultExpr = literal(true);
- this._actionResultExprs.forEach(function (expr) { resultExpr = resultExpr.and(expr); });
- var stmts = [markPathToRootStart.callMethod('markPathToRootAsCheckOnce', []).toStmt()]
- .concat(this._method.finish())
- .concat([new ReturnStatement(resultExpr)]);
- // private is fine here as no child view will reference the event handler...
- this.compileElement.view.eventHandlerMethods.push(new ClassMethod(this._methodName, [this._eventParam], stmts, BOOL_TYPE, [StmtModifier.Private]));
- };
- CompileEventListener.prototype.listenToRenderer = function () {
- var listenExpr;
- var eventListener = THIS_EXPR.callMethod('eventHandler', [THIS_EXPR.prop(this._methodName).callMethod(BuiltinMethod.Bind, [THIS_EXPR])]);
- if (isPresent(this.eventTarget)) {
- listenExpr = ViewProperties.renderer.callMethod('listenGlobal', [literal(this.eventTarget), literal(this.eventName), eventListener]);
- }
- else {
- listenExpr = ViewProperties.renderer.callMethod('listen', [this.compileElement.renderNode, literal(this.eventName), eventListener]);
- }
- var disposable = variable("disposable_" + this.compileElement.view.disposables.length);
- this.compileElement.view.disposables.push(disposable);
- // private is fine here as no child view will reference the event handler...
- this.compileElement.view.createMethod.addStmt(disposable.set(listenExpr).toDeclStmt(FUNCTION_TYPE, [StmtModifier.Private]));
- };
- CompileEventListener.prototype.listenToAnimation = function () {
- var outputListener = THIS_EXPR.callMethod('eventHandler', [THIS_EXPR.prop(this._methodName).callMethod(BuiltinMethod.Bind, [THIS_EXPR])]);
- // tie the property callback method to the view animations map
- var stmt = THIS_EXPR
- .callMethod('registerAnimationOutput', [
- this.compileElement.renderNode, literal(this.eventName),
- literal(this.eventPhase), outputListener
- ])
- .toStmt();
- this.compileElement.view.createMethod.addStmt(stmt);
- };
- CompileEventListener.prototype.listenToDirective = function (directiveInstance, observablePropName) {
- var subscription = variable("subscription_" + this.compileElement.view.subscriptions.length);
- this.compileElement.view.subscriptions.push(subscription);
- var eventListener = THIS_EXPR.callMethod('eventHandler', [THIS_EXPR.prop(this._methodName).callMethod(BuiltinMethod.Bind, [THIS_EXPR])]);
- this.compileElement.view.createMethod.addStmt(subscription
- .set(directiveInstance.prop(observablePropName)
- .callMethod(BuiltinMethod.SubscribeObservable, [eventListener]))
- .toDeclStmt(null, [StmtModifier.Final]));
- };
- return CompileEventListener;
+ var proxyExpr = THIS_EXPR.prop("_arr_" + builder.fields.length);
+ var proxyParams = [];
+ var proxyReturnEntries = [];
+ for (var i = 0; i < values.length; i++) {
+ var paramName = "p" + i;
+ proxyParams.push(new FnParam(paramName));
+ proxyReturnEntries.push(variable(paramName));
+ }
+ createPureProxy(fn(proxyParams, [new ReturnStatement(literalArr(proxyReturnEntries))], new ArrayType(DYNAMIC_TYPE)), values.length, proxyExpr, builder);
+ return proxyExpr.callFn(values);
+ }
+ function createCachedLiteralMap(builder, entries) {
+ if (entries.length === 0) {
+ return importExpr(resolveIdentifier(Identifiers.EMPTY_MAP));
+ }
+ var proxyExpr = THIS_EXPR.prop("_map_" + builder.fields.length);
+ var proxyParams = [];
+ var proxyReturnEntries = [];
+ var values = [];
+ for (var i = 0; i < entries.length; i++) {
+ var paramName = "p" + i;
+ proxyParams.push(new FnParam(paramName));
+ proxyReturnEntries.push([entries[i][0], variable(paramName)]);
+ values.push(entries[i][1]);
+ }
+ createPureProxy(fn(proxyParams, [new ReturnStatement(literalMap(proxyReturnEntries))], new MapType(DYNAMIC_TYPE)), entries.length, proxyExpr, builder);
+ return proxyExpr.callFn(values);
+ }
+ var DefaultNameResolver = (function () {
+ function DefaultNameResolver() {
+ }
+ DefaultNameResolver.prototype.callPipe = function (name, input, args) { return null; };
+ DefaultNameResolver.prototype.getLocal = function (name) { return null; };
+ return DefaultNameResolver;
}());
- function collectEventListeners(hostEvents, dirs, compileElement) {
- var eventListeners = [];
- hostEvents.forEach(function (hostEvent) {
- compileElement.view.bindings.push(new CompileBinding(compileElement, hostEvent));
- var listener = CompileEventListener.getOrCreate(compileElement, hostEvent.target, hostEvent.name, hostEvent.phase, eventListeners);
- listener.addAction(hostEvent, null, null);
- });
- dirs.forEach(function (directiveAst) {
- var directiveInstance = compileElement.instances.get(identifierToken(directiveAst.directive.type).reference);
- directiveAst.hostEvents.forEach(function (hostEvent) {
- compileElement.view.bindings.push(new CompileBinding(compileElement, hostEvent));
- var listener = CompileEventListener.getOrCreate(compileElement, hostEvent.target, hostEvent.name, hostEvent.phase, eventListeners);
- listener.addAction(hostEvent, directiveAst.directive, directiveInstance);
- });
- });
- eventListeners.forEach(function (listener) { return listener.finishMethod(); });
- return eventListeners;
+ function createCurrValueExpr(bindingId) {
+ return variable("currVal_" + bindingId); // fix syntax highlighting: `
}
- function bindDirectiveOutputs(directiveAst, directiveInstance, eventListeners) {
- Object.keys(directiveAst.directive.outputs).forEach(function (observablePropName) {
- var eventName = directiveAst.directive.outputs[observablePropName];
- eventListeners.filter(function (listener) { return listener.eventName == eventName; }).forEach(function (listener) {
- listener.listenToDirective(directiveInstance, observablePropName);
- });
- });
- }
- function bindRenderOutputs(eventListeners) {
- eventListeners.forEach(function (listener) {
- if (listener.eventPhase) {
- listener.listenToAnimation();
- }
- else {
- listener.listenToRenderer();
- }
- });
+ function createPreventDefaultVar(bindingId) {
+ return variable("pd_" + bindingId);
}
function convertStmtIntoExpression(stmt) {
if (stmt instanceof ExpressionStatement) {
@@ -21257,26 +19819,1499 @@
}
return null;
}
- function sanitizeEventName(name) {
- return name.replace(/[^a-zA-Z_]/g, '_');
+
+ function writeToRenderer(view, boundProp, renderElement, renderValue, logBindingUpdate, securityContextExpression) {
+ var updateStmts = [];
+ var renderer = view.prop('renderer');
+ renderValue = sanitizedValue(view, boundProp, renderValue, securityContextExpression);
+ switch (boundProp.type) {
+ case exports.PropertyBindingType.Property:
+ if (logBindingUpdate) {
+ updateStmts.push(importExpr(resolveIdentifier(Identifiers.setBindingDebugInfo))
+ .callFn([renderer, renderElement, literal(boundProp.name), renderValue])
+ .toStmt());
+ }
+ updateStmts.push(renderer
+ .callMethod('setElementProperty', [renderElement, literal(boundProp.name), renderValue])
+ .toStmt());
+ break;
+ case exports.PropertyBindingType.Attribute:
+ renderValue =
+ renderValue.isBlank().conditional(NULL_EXPR, renderValue.callMethod('toString', []));
+ updateStmts.push(renderer
+ .callMethod('setElementAttribute', [renderElement, literal(boundProp.name), renderValue])
+ .toStmt());
+ break;
+ case exports.PropertyBindingType.Class:
+ updateStmts.push(renderer
+ .callMethod('setElementClass', [renderElement, literal(boundProp.name), renderValue])
+ .toStmt());
+ break;
+ case exports.PropertyBindingType.Style:
+ var strValue = renderValue.callMethod('toString', []);
+ if (isPresent(boundProp.unit)) {
+ strValue = strValue.plus(literal(boundProp.unit));
+ }
+ renderValue = renderValue.isBlank().conditional(NULL_EXPR, strValue);
+ updateStmts.push(renderer
+ .callMethod('setElementStyle', [renderElement, literal(boundProp.name), renderValue])
+ .toStmt());
+ break;
+ case exports.PropertyBindingType.Animation:
+ throw new Error('Illegal state: Should not come here!');
+ }
+ return updateStmts;
+ }
+ function sanitizedValue(view, boundProp, renderValue, securityContextExpression) {
+ if (boundProp.securityContext === _angular_core.SecurityContext.NONE) {
+ return renderValue; // No sanitization needed.
+ }
+ if (!boundProp.needsRuntimeSecurityContext) {
+ securityContextExpression =
+ createEnumExpression(Identifiers.SecurityContext, boundProp.securityContext);
+ }
+ if (!securityContextExpression) {
+ throw new Error("internal error, no SecurityContext given " + boundProp.name);
+ }
+ var ctx = view.prop('viewUtils').prop('sanitizer');
+ var args = [securityContextExpression, renderValue];
+ return ctx.callMethod('sanitize', args);
+ }
+ function triggerAnimation(view, componentView, boundProp, eventListener, renderElement, renderValue, lastRenderValue) {
+ var detachStmts = [];
+ var updateStmts = [];
+ var animationName = boundProp.name;
+ var animationFnExpr = componentView.prop('componentType').prop('animations').key(literal(animationName));
+ // it's important to normalize the void value as `void` explicitly
+ // so that the styles data can be obtained from the stringmap
+ var emptyStateValue = literal(EMPTY_ANIMATION_STATE);
+ var unitializedValue = importExpr(resolveIdentifier(Identifiers.UNINITIALIZED));
+ var animationTransitionVar = variable('animationTransition_' + animationName);
+ updateStmts.push(animationTransitionVar
+ .set(animationFnExpr.callFn([
+ view, renderElement,
+ lastRenderValue.equals(unitializedValue).conditional(emptyStateValue, lastRenderValue),
+ renderValue.equals(unitializedValue).conditional(emptyStateValue, renderValue)
+ ]))
+ .toDeclStmt());
+ detachStmts.push(animationTransitionVar
+ .set(animationFnExpr.callFn([view, renderElement, lastRenderValue, emptyStateValue]))
+ .toDeclStmt());
+ var registerStmts = [
+ animationTransitionVar
+ .callMethod('onStart', [eventListener.callMethod(BuiltinMethod.Bind, [view, literal(BoundEventAst.calcFullName(animationName, null, 'start'))])])
+ .toStmt(),
+ animationTransitionVar
+ .callMethod('onDone', [eventListener.callMethod(BuiltinMethod.Bind, [view, literal(BoundEventAst.calcFullName(animationName, null, 'done'))])])
+ .toStmt(),
+ ];
+ updateStmts.push.apply(updateStmts, registerStmts);
+ detachStmts.push.apply(detachStmts, registerStmts);
+ return { updateStmts: updateStmts, detachStmts: detachStmts };
+ }
+
+ /**
+ * Create a new class stmts based on the given data.
+ */
+ function createClassStmt(config) {
+ var parentArgs = config.parentArgs || [];
+ var superCtorStmts = config.parent ? [SUPER_EXPR.callFn(parentArgs).toStmt()] : [];
+ var builder = concatClassBuilderParts(Array.isArray(config.builders) ? config.builders : [config.builders]);
+ var ctor = new ClassMethod(null, config.ctorParams || [], superCtorStmts.concat(builder.ctorStmts));
+ return new ClassStmt(config.name, config.parent, builder.fields, builder.getters, ctor, builder.methods, config.modifiers || []);
+ }
+ function concatClassBuilderParts(builders) {
+ return {
+ fields: (_a = []).concat.apply(_a, builders.map(function (builder) { return builder.fields || []; })),
+ methods: (_b = []).concat.apply(_b, builders.map(function (builder) { return builder.methods || []; })),
+ getters: (_c = []).concat.apply(_c, builders.map(function (builder) { return builder.getters || []; })),
+ ctorStmts: (_d = []).concat.apply(_d, builders.map(function (builder) { return builder.ctorStmts || []; })),
+ };
+ var _a, _b, _c, _d;
+ }
+
+ var DirectiveWrapperCompileResult = (function () {
+ function DirectiveWrapperCompileResult(statements, dirWrapperClassVar) {
+ this.statements = statements;
+ this.dirWrapperClassVar = dirWrapperClassVar;
+ }
+ return DirectiveWrapperCompileResult;
+ }());
+ var CONTEXT_FIELD_NAME = 'context';
+ var CHANGES_FIELD_NAME = '_changes';
+ var CHANGED_FIELD_NAME = '_changed';
+ var EVENT_HANDLER_FIELD_NAME = '_eventHandler';
+ var CURR_VALUE_VAR = variable('currValue');
+ var THROW_ON_CHANGE_VAR = variable('throwOnChange');
+ var FORCE_UPDATE_VAR = variable('forceUpdate');
+ var VIEW_VAR = variable('view');
+ var COMPONENT_VIEW_VAR = variable('componentView');
+ var RENDER_EL_VAR = variable('el');
+ var EVENT_NAME_VAR = variable('eventName');
+ var RESET_CHANGES_STMT = THIS_EXPR.prop(CHANGES_FIELD_NAME).set(literalMap([])).toStmt();
+ /**
+ * We generate directive wrappers to prevent code bloat when a directive is used.
+ * A directive wrapper encapsulates
+ * the dirty checking for `@Input`, the handling of `@HostListener` / `@HostBinding`
+ * and calling the lifecyclehooks `ngOnInit`, `ngOnChanges`, `ngDoCheck`.
+ *
+ * So far, only `@Input` and the lifecycle hooks have been implemented.
+ */
+ var DirectiveWrapperCompiler = (function () {
+ function DirectiveWrapperCompiler(compilerConfig, _exprParser, _schemaRegistry, _console) {
+ this.compilerConfig = compilerConfig;
+ this._exprParser = _exprParser;
+ this._schemaRegistry = _schemaRegistry;
+ this._console = _console;
+ }
+ DirectiveWrapperCompiler.dirWrapperClassName = function (id) { return "Wrapper_" + id.name; };
+ DirectiveWrapperCompiler.prototype.compile = function (dirMeta) {
+ var hostParseResult = parseHostBindings(dirMeta, this._exprParser, this._schemaRegistry);
+ reportParseErrors(hostParseResult.errors, this._console);
+ var builder = new DirectiveWrapperBuilder(this.compilerConfig, dirMeta);
+ Object.keys(dirMeta.inputs).forEach(function (inputFieldName) {
+ addCheckInputMethod(inputFieldName, builder);
+ });
+ addNgDoCheckMethod(builder);
+ addCheckHostMethod(hostParseResult.hostProps, builder);
+ addHandleEventMethod(hostParseResult.hostListeners, builder);
+ addSubscribeMethod(dirMeta, builder);
+ var classStmt = builder.build();
+ return new DirectiveWrapperCompileResult([classStmt], classStmt.name);
+ };
+ DirectiveWrapperCompiler.decorators = [
+ { type: _angular_core.Injectable },
+ ];
+ /** @nocollapse */
+ DirectiveWrapperCompiler.ctorParameters = [
+ { type: CompilerConfig, },
+ { type: Parser, },
+ { type: ElementSchemaRegistry, },
+ { type: Console, },
+ ];
+ return DirectiveWrapperCompiler;
+ }());
+ var DirectiveWrapperBuilder = (function () {
+ function DirectiveWrapperBuilder(compilerConfig, dirMeta) {
+ this.compilerConfig = compilerConfig;
+ this.dirMeta = dirMeta;
+ this.fields = [];
+ this.getters = [];
+ this.methods = [];
+ this.ctorStmts = [];
+ this.detachStmts = [];
+ this.destroyStmts = [];
+ var dirLifecycleHooks = dirMeta.type.lifecycleHooks;
+ this.genChanges = dirLifecycleHooks.indexOf(LifecycleHooks.OnChanges) !== -1 ||
+ this.compilerConfig.logBindingUpdate;
+ this.ngOnChanges = dirLifecycleHooks.indexOf(LifecycleHooks.OnChanges) !== -1;
+ this.ngOnInit = dirLifecycleHooks.indexOf(LifecycleHooks.OnInit) !== -1;
+ this.ngDoCheck = dirLifecycleHooks.indexOf(LifecycleHooks.DoCheck) !== -1;
+ this.ngOnDestroy = dirLifecycleHooks.indexOf(LifecycleHooks.OnDestroy) !== -1;
+ if (this.ngOnDestroy) {
+ this.destroyStmts.push(THIS_EXPR.prop(CONTEXT_FIELD_NAME).callMethod('ngOnDestroy', []).toStmt());
+ }
+ }
+ DirectiveWrapperBuilder.prototype.build = function () {
+ var dirDepParamNames = [];
+ for (var i = 0; i < this.dirMeta.type.diDeps.length; i++) {
+ dirDepParamNames.push("p" + i);
+ }
+ var methods = [
+ new ClassMethod('ngOnDetach', [
+ new FnParam(VIEW_VAR.name, importType(resolveIdentifier(Identifiers.AppView), [DYNAMIC_TYPE])),
+ new FnParam(COMPONENT_VIEW_VAR.name, importType(resolveIdentifier(Identifiers.AppView), [DYNAMIC_TYPE])),
+ new FnParam(RENDER_EL_VAR.name, DYNAMIC_TYPE),
+ ], this.detachStmts),
+ new ClassMethod('ngOnDestroy', [], this.destroyStmts),
+ ];
+ var fields = [
+ new ClassField(EVENT_HANDLER_FIELD_NAME, FUNCTION_TYPE, [StmtModifier.Private]),
+ new ClassField(CONTEXT_FIELD_NAME, importType(this.dirMeta.type)),
+ new ClassField(CHANGED_FIELD_NAME, BOOL_TYPE, [StmtModifier.Private]),
+ ];
+ var ctorStmts = [THIS_EXPR.prop(CHANGED_FIELD_NAME).set(literal(false)).toStmt()];
+ if (this.genChanges) {
+ fields.push(new ClassField(CHANGES_FIELD_NAME, new MapType(DYNAMIC_TYPE), [StmtModifier.Private]));
+ ctorStmts.push(RESET_CHANGES_STMT);
+ }
+ ctorStmts.push(THIS_EXPR.prop(CONTEXT_FIELD_NAME)
+ .set(importExpr(this.dirMeta.type)
+ .instantiate(dirDepParamNames.map(function (paramName) { return variable(paramName); })))
+ .toStmt());
+ return createClassStmt({
+ name: DirectiveWrapperCompiler.dirWrapperClassName(this.dirMeta.type),
+ ctorParams: dirDepParamNames.map(function (paramName) { return new FnParam(paramName, DYNAMIC_TYPE); }),
+ builders: [{ fields: fields, ctorStmts: ctorStmts, methods: methods }, this]
+ });
+ };
+ return DirectiveWrapperBuilder;
+ }());
+ function addNgDoCheckMethod(builder) {
+ var changedVar = variable('changed');
+ var stmts = [
+ changedVar.set(THIS_EXPR.prop(CHANGED_FIELD_NAME)).toDeclStmt(),
+ THIS_EXPR.prop(CHANGED_FIELD_NAME).set(literal(false)).toStmt(),
+ ];
+ var lifecycleStmts = [];
+ if (builder.genChanges) {
+ var onChangesStmts = [];
+ if (builder.ngOnChanges) {
+ onChangesStmts.push(THIS_EXPR.prop(CONTEXT_FIELD_NAME)
+ .callMethod('ngOnChanges', [THIS_EXPR.prop(CHANGES_FIELD_NAME)])
+ .toStmt());
+ }
+ if (builder.compilerConfig.logBindingUpdate) {
+ onChangesStmts.push(importExpr(resolveIdentifier(Identifiers.setBindingDebugInfoForChanges))
+ .callFn([VIEW_VAR.prop('renderer'), RENDER_EL_VAR, THIS_EXPR.prop(CHANGES_FIELD_NAME)])
+ .toStmt());
+ }
+ onChangesStmts.push(RESET_CHANGES_STMT);
+ lifecycleStmts.push(new IfStmt(changedVar, onChangesStmts));
+ }
+ if (builder.ngOnInit) {
+ lifecycleStmts.push(new IfStmt(VIEW_VAR.prop('numberOfChecks').identical(new LiteralExpr(0)), [THIS_EXPR.prop(CONTEXT_FIELD_NAME).callMethod('ngOnInit', []).toStmt()]));
+ }
+ if (builder.ngDoCheck) {
+ lifecycleStmts.push(THIS_EXPR.prop(CONTEXT_FIELD_NAME).callMethod('ngDoCheck', []).toStmt());
+ }
+ if (lifecycleStmts.length > 0) {
+ stmts.push(new IfStmt(not(THROW_ON_CHANGE_VAR), lifecycleStmts));
+ }
+ stmts.push(new ReturnStatement(changedVar));
+ builder.methods.push(new ClassMethod('ngDoCheck', [
+ new FnParam(VIEW_VAR.name, importType(resolveIdentifier(Identifiers.AppView), [DYNAMIC_TYPE])),
+ new FnParam(RENDER_EL_VAR.name, DYNAMIC_TYPE),
+ new FnParam(THROW_ON_CHANGE_VAR.name, BOOL_TYPE),
+ ], stmts, BOOL_TYPE));
+ }
+ function addCheckInputMethod(input, builder) {
+ var field = createCheckBindingField(builder);
+ var onChangeStatements = [
+ THIS_EXPR.prop(CHANGED_FIELD_NAME).set(literal(true)).toStmt(),
+ THIS_EXPR.prop(CONTEXT_FIELD_NAME).prop(input).set(CURR_VALUE_VAR).toStmt(),
+ ];
+ if (builder.genChanges) {
+ onChangeStatements.push(THIS_EXPR.prop(CHANGES_FIELD_NAME)
+ .key(literal(input))
+ .set(importExpr(resolveIdentifier(Identifiers.SimpleChange))
+ .instantiate([field.expression, CURR_VALUE_VAR]))
+ .toStmt());
+ }
+ var methodBody = createCheckBindingStmt({ currValExpr: CURR_VALUE_VAR, forceUpdate: FORCE_UPDATE_VAR, stmts: [] }, field.expression, THROW_ON_CHANGE_VAR, onChangeStatements);
+ builder.methods.push(new ClassMethod("check_" + input, [
+ new FnParam(CURR_VALUE_VAR.name, DYNAMIC_TYPE),
+ new FnParam(THROW_ON_CHANGE_VAR.name, BOOL_TYPE),
+ new FnParam(FORCE_UPDATE_VAR.name, BOOL_TYPE),
+ ], methodBody));
+ }
+ function addCheckHostMethod(hostProps, builder) {
+ var stmts = [];
+ var methodParams = [
+ new FnParam(VIEW_VAR.name, importType(resolveIdentifier(Identifiers.AppView), [DYNAMIC_TYPE])),
+ new FnParam(COMPONENT_VIEW_VAR.name, importType(resolveIdentifier(Identifiers.AppView), [DYNAMIC_TYPE])),
+ new FnParam(RENDER_EL_VAR.name, DYNAMIC_TYPE),
+ new FnParam(THROW_ON_CHANGE_VAR.name, BOOL_TYPE),
+ ];
+ hostProps.forEach(function (hostProp, hostPropIdx) {
+ var field = createCheckBindingField(builder);
+ var evalResult = convertPropertyBinding(builder, null, THIS_EXPR.prop(CONTEXT_FIELD_NAME), hostProp.value, field.bindingId);
+ if (!evalResult) {
+ return;
+ }
+ var securityContextExpr;
+ if (hostProp.needsRuntimeSecurityContext) {
+ securityContextExpr = variable("secCtx_" + methodParams.length);
+ methodParams.push(new FnParam(securityContextExpr.name, importType(resolveIdentifier(Identifiers.SecurityContext))));
+ }
+ var checkBindingStmts;
+ if (hostProp.isAnimation) {
+ var _a = triggerAnimation(VIEW_VAR, COMPONENT_VIEW_VAR, hostProp, THIS_EXPR.prop(EVENT_HANDLER_FIELD_NAME)
+ .or(importExpr(resolveIdentifier(Identifiers.noop))), RENDER_EL_VAR, evalResult.currValExpr, field.expression), updateStmts = _a.updateStmts, detachStmts = _a.detachStmts;
+ checkBindingStmts = updateStmts;
+ (_b = builder.detachStmts).push.apply(_b, detachStmts);
+ }
+ else {
+ checkBindingStmts = writeToRenderer(VIEW_VAR, hostProp, RENDER_EL_VAR, evalResult.currValExpr, builder.compilerConfig.logBindingUpdate, securityContextExpr);
+ }
+ stmts.push.apply(stmts, createCheckBindingStmt(evalResult, field.expression, THROW_ON_CHANGE_VAR, checkBindingStmts));
+ var _b;
+ });
+ builder.methods.push(new ClassMethod('checkHost', methodParams, stmts));
+ }
+ function addHandleEventMethod(hostListeners, builder) {
+ var resultVar = variable("result");
+ var actionStmts = [resultVar.set(literal(true)).toDeclStmt(BOOL_TYPE)];
+ hostListeners.forEach(function (hostListener, eventIdx) {
+ var evalResult = convertActionBinding(builder, null, THIS_EXPR.prop(CONTEXT_FIELD_NAME), hostListener.handler, "sub_" + eventIdx);
+ var trueStmts = evalResult.stmts;
+ if (evalResult.preventDefault) {
+ trueStmts.push(resultVar.set(evalResult.preventDefault.and(resultVar)).toStmt());
+ }
+ // TODO(tbosch): convert this into a `switch` once our OutputAst supports it.
+ actionStmts.push(new IfStmt(EVENT_NAME_VAR.equals(literal(hostListener.fullName)), trueStmts));
+ });
+ actionStmts.push(new ReturnStatement(resultVar));
+ builder.methods.push(new ClassMethod('handleEvent', [
+ new FnParam(EVENT_NAME_VAR.name, STRING_TYPE),
+ new FnParam(EventHandlerVars.event.name, DYNAMIC_TYPE)
+ ], actionStmts, BOOL_TYPE));
+ }
+ function addSubscribeMethod(dirMeta, builder) {
+ var methodParams = [
+ new FnParam(VIEW_VAR.name, importType(resolveIdentifier(Identifiers.AppView), [DYNAMIC_TYPE])),
+ new FnParam(EVENT_HANDLER_FIELD_NAME, DYNAMIC_TYPE)
+ ];
+ var stmts = [
+ THIS_EXPR.prop(EVENT_HANDLER_FIELD_NAME).set(variable(EVENT_HANDLER_FIELD_NAME)).toStmt()
+ ];
+ Object.keys(dirMeta.outputs).forEach(function (emitterPropName, emitterIdx) {
+ var eventName = dirMeta.outputs[emitterPropName];
+ var paramName = "emit" + emitterIdx;
+ methodParams.push(new FnParam(paramName, BOOL_TYPE));
+ var subscriptionFieldName = "subscription" + emitterIdx;
+ builder.fields.push(new ClassField(subscriptionFieldName, DYNAMIC_TYPE));
+ stmts.push(new IfStmt(variable(paramName), [
+ THIS_EXPR.prop(subscriptionFieldName)
+ .set(THIS_EXPR.prop(CONTEXT_FIELD_NAME)
+ .prop(emitterPropName)
+ .callMethod(BuiltinMethod.SubscribeObservable, [variable(EVENT_HANDLER_FIELD_NAME)
+ .callMethod(BuiltinMethod.Bind, [VIEW_VAR, literal(eventName)])]))
+ .toStmt()
+ ]));
+ builder.destroyStmts.push(THIS_EXPR.prop(subscriptionFieldName)
+ .and(THIS_EXPR.prop(subscriptionFieldName).callMethod('unsubscribe', []))
+ .toStmt());
+ });
+ builder.methods.push(new ClassMethod('subscribe', methodParams, stmts));
+ }
+ var ParseResult = (function () {
+ function ParseResult(hostProps, hostListeners, errors) {
+ this.hostProps = hostProps;
+ this.hostListeners = hostListeners;
+ this.errors = errors;
+ }
+ return ParseResult;
+ }());
+ function parseHostBindings(dirMeta, exprParser, schemaRegistry) {
+ var errors = [];
+ var parser = new BindingParser(exprParser, DEFAULT_INTERPOLATION_CONFIG, schemaRegistry, [], errors);
+ var sourceFileName = dirMeta.type.moduleUrl ?
+ "in Directive " + dirMeta.type.name + " in " + dirMeta.type.moduleUrl :
+ "in Directive " + dirMeta.type.name;
+ var sourceFile = new ParseSourceFile('', sourceFileName);
+ var sourceSpan = new ParseSourceSpan(new ParseLocation(sourceFile, null, null, null), new ParseLocation(sourceFile, null, null, null));
+ var parsedHostProps = parser.createDirectiveHostPropertyAsts(dirMeta.toSummary(), sourceSpan);
+ var parsedHostListeners = parser.createDirectiveHostEventAsts(dirMeta.toSummary(), sourceSpan);
+ return new ParseResult(parsedHostProps, parsedHostListeners, errors);
+ }
+ function reportParseErrors(parseErrors, console) {
+ var warnings = parseErrors.filter(function (error) { return error.level === exports.ParseErrorLevel.WARNING; });
+ var errors = parseErrors.filter(function (error) { return error.level === exports.ParseErrorLevel.FATAL; });
+ if (warnings.length > 0) {
+ this._console.warn("Directive parse warnings:\n" + warnings.join('\n'));
+ }
+ if (errors.length > 0) {
+ throw new Error("Directive parse errors:\n" + errors.join('\n'));
+ }
+ }
+ var DirectiveWrapperExpressions = (function () {
+ function DirectiveWrapperExpressions() {
+ }
+ DirectiveWrapperExpressions.create = function (dir, depsExpr) {
+ return importExpr(dir).instantiate(depsExpr, importType(dir));
+ };
+ DirectiveWrapperExpressions.context = function (dirWrapper) {
+ return dirWrapper.prop(CONTEXT_FIELD_NAME);
+ };
+ DirectiveWrapperExpressions.ngDoCheck = function (dirWrapper, view, renderElement, throwOnChange) {
+ return dirWrapper.callMethod('ngDoCheck', [view, renderElement, throwOnChange]);
+ };
+ DirectiveWrapperExpressions.checkHost = function (hostProps, dirWrapper, view, componentView, renderElement, throwOnChange, runtimeSecurityContexts) {
+ if (hostProps.length) {
+ return [dirWrapper
+ .callMethod('checkHost', [view, componentView, renderElement, throwOnChange].concat(runtimeSecurityContexts))
+ .toStmt()];
+ }
+ else {
+ return [];
+ }
+ };
+ DirectiveWrapperExpressions.ngOnDetach = function (hostProps, dirWrapper, view, componentView, renderEl) {
+ if (hostProps.some(function (prop) { return prop.isAnimation; })) {
+ return [dirWrapper
+ .callMethod('ngOnDetach', [
+ view,
+ componentView,
+ renderEl,
+ ])
+ .toStmt()];
+ }
+ else {
+ return [];
+ }
+ };
+ DirectiveWrapperExpressions.ngOnDestroy = function (dir, dirWrapper) {
+ if (dir.type.lifecycleHooks.indexOf(LifecycleHooks.OnDestroy) !== -1 ||
+ Object.keys(dir.outputs).length > 0) {
+ return [dirWrapper.callMethod('ngOnDestroy', []).toStmt()];
+ }
+ else {
+ return [];
+ }
+ };
+ DirectiveWrapperExpressions.subscribe = function (dirMeta, hostProps, usedEvents, dirWrapper, view, eventListener) {
+ var needsSubscribe = false;
+ var eventFlags = [];
+ Object.keys(dirMeta.outputs).forEach(function (propName) {
+ var eventName = dirMeta.outputs[propName];
+ var eventUsed = usedEvents.indexOf(eventName) > -1;
+ needsSubscribe = needsSubscribe || eventUsed;
+ eventFlags.push(literal(eventUsed));
+ });
+ hostProps.forEach(function (hostProp) {
+ if (hostProp.isAnimation && usedEvents.length > 0) {
+ needsSubscribe = true;
+ }
+ });
+ if (needsSubscribe) {
+ return [
+ dirWrapper.callMethod('subscribe', [view, eventListener].concat(eventFlags)).toStmt()
+ ];
+ }
+ else {
+ return [];
+ }
+ };
+ DirectiveWrapperExpressions.handleEvent = function (hostEvents, dirWrapper, eventName, event) {
+ return dirWrapper.callMethod('handleEvent', [eventName, event]);
+ };
+ return DirectiveWrapperExpressions;
+ }());
+
+ function convertValueToOutputAst(value, type) {
+ if (type === void 0) { type = null; }
+ return visitValue(value, new _ValueOutputAstTransformer(), type);
+ }
+ var _ValueOutputAstTransformer = (function () {
+ function _ValueOutputAstTransformer() {
+ }
+ _ValueOutputAstTransformer.prototype.visitArray = function (arr, type) {
+ var _this = this;
+ return literalArr(arr.map(function (value) { return visitValue(value, _this, null); }), type);
+ };
+ _ValueOutputAstTransformer.prototype.visitStringMap = function (map, type) {
+ var _this = this;
+ var entries = [];
+ Object.keys(map).forEach(function (key) { entries.push([key, visitValue(map[key], _this, null)]); });
+ return literalMap(entries, type);
+ };
+ _ValueOutputAstTransformer.prototype.visitPrimitive = function (value, type) { return literal(value, type); };
+ _ValueOutputAstTransformer.prototype.visitOther = function (value, type) {
+ if (value instanceof CompileIdentifierMetadata) {
+ return importExpr(value);
+ }
+ else if (value instanceof Expression) {
+ return value;
+ }
+ else {
+ throw new Error("Illegal state: Don't now how to compile value " + value);
+ }
+ };
+ return _ValueOutputAstTransformer;
+ }());
+
+ var _DebugState = (function () {
+ function _DebugState(nodeIndex, sourceAst) {
+ this.nodeIndex = nodeIndex;
+ this.sourceAst = sourceAst;
+ }
+ return _DebugState;
+ }());
+ var NULL_DEBUG_STATE = new _DebugState(null, null);
+ var CompileMethod = (function () {
+ function CompileMethod(_view) {
+ this._view = _view;
+ this._newState = NULL_DEBUG_STATE;
+ this._currState = NULL_DEBUG_STATE;
+ this._bodyStatements = [];
+ this._debugEnabled = this._view.genConfig.genDebugInfo;
+ }
+ CompileMethod.prototype._updateDebugContextIfNeeded = function () {
+ if (this._newState.nodeIndex !== this._currState.nodeIndex ||
+ this._newState.sourceAst !== this._currState.sourceAst) {
+ var expr = this._updateDebugContext(this._newState);
+ if (isPresent(expr)) {
+ this._bodyStatements.push(expr.toStmt());
+ }
+ }
+ };
+ CompileMethod.prototype._updateDebugContext = function (newState) {
+ this._currState = this._newState = newState;
+ if (this._debugEnabled) {
+ var sourceLocation = isPresent(newState.sourceAst) ? newState.sourceAst.sourceSpan.start : null;
+ return THIS_EXPR.callMethod('debug', [
+ literal(newState.nodeIndex),
+ isPresent(sourceLocation) ? literal(sourceLocation.line) : NULL_EXPR,
+ isPresent(sourceLocation) ? literal(sourceLocation.col) : NULL_EXPR
+ ]);
+ }
+ else {
+ return null;
+ }
+ };
+ CompileMethod.prototype.resetDebugInfoExpr = function (nodeIndex, templateAst) {
+ var res = this._updateDebugContext(new _DebugState(nodeIndex, templateAst));
+ return res || NULL_EXPR;
+ };
+ CompileMethod.prototype.resetDebugInfo = function (nodeIndex, templateAst) {
+ this._newState = new _DebugState(nodeIndex, templateAst);
+ };
+ CompileMethod.prototype.push = function () {
+ var stmts = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ stmts[_i - 0] = arguments[_i];
+ }
+ this.addStmts(stmts);
+ };
+ CompileMethod.prototype.addStmt = function (stmt) {
+ this._updateDebugContextIfNeeded();
+ this._bodyStatements.push(stmt);
+ };
+ CompileMethod.prototype.addStmts = function (stmts) {
+ this._updateDebugContextIfNeeded();
+ (_a = this._bodyStatements).push.apply(_a, stmts);
+ var _a;
+ };
+ CompileMethod.prototype.finish = function () { return this._bodyStatements; };
+ CompileMethod.prototype.isEmpty = function () { return this._bodyStatements.length === 0; };
+ return CompileMethod;
+ }());
+
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+ var __extends$15 = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ function getPropertyInView(property, callingView, definedView) {
+ if (callingView === definedView) {
+ return property;
+ }
+ else {
+ var viewProp = THIS_EXPR;
+ var currView = callingView;
+ while (currView !== definedView && isPresent(currView.declarationElement.view)) {
+ currView = currView.declarationElement.view;
+ viewProp = viewProp.prop('parentView');
+ }
+ if (currView !== definedView) {
+ throw new Error("Internal error: Could not calculate a property in a parent view: " + property);
+ }
+ return property.visitExpression(new _ReplaceViewTransformer(viewProp, definedView), null);
+ }
+ }
+ var _ReplaceViewTransformer = (function (_super) {
+ __extends$15(_ReplaceViewTransformer, _super);
+ function _ReplaceViewTransformer(_viewExpr, _view) {
+ _super.call(this);
+ this._viewExpr = _viewExpr;
+ this._view = _view;
+ }
+ _ReplaceViewTransformer.prototype._isThis = function (expr) {
+ return expr instanceof ReadVarExpr && expr.builtin === BuiltinVar.This;
+ };
+ _ReplaceViewTransformer.prototype.visitReadVarExpr = function (ast, context) {
+ return this._isThis(ast) ? this._viewExpr : ast;
+ };
+ _ReplaceViewTransformer.prototype.visitReadPropExpr = function (ast, context) {
+ if (this._isThis(ast.receiver)) {
+ // Note: Don't cast for members of the AppView base class...
+ if (this._view.fields.some(function (field) { return field.name == ast.name; }) ||
+ this._view.getters.some(function (field) { return field.name == ast.name; })) {
+ return this._viewExpr.cast(this._view.classType).prop(ast.name);
+ }
+ }
+ return _super.prototype.visitReadPropExpr.call(this, ast, context);
+ };
+ return _ReplaceViewTransformer;
+ }(ExpressionTransformer));
+ function injectFromViewParentInjector(view, token, optional) {
+ var viewExpr;
+ if (view.viewType === ViewType.HOST) {
+ viewExpr = THIS_EXPR;
+ }
+ else {
+ viewExpr = THIS_EXPR.prop('parentView');
+ }
+ var args = [createDiTokenExpression(token), THIS_EXPR.prop('parentIndex')];
+ if (optional) {
+ args.push(NULL_EXPR);
+ }
+ return viewExpr.callMethod('injectorGet', args);
+ }
+ function getViewClassName(component, embeddedTemplateIndex) {
+ return "View_" + component.type.name + embeddedTemplateIndex;
+ }
+ function getHandleEventMethodName(elementIndex) {
+ return "handleEvent_" + elementIndex;
+ }
+
+ var ViewQueryValues = (function () {
+ function ViewQueryValues(view, values) {
+ this.view = view;
+ this.values = values;
+ }
+ return ViewQueryValues;
+ }());
+ var CompileQuery = (function () {
+ function CompileQuery(meta, queryList, ownerDirectiveExpression, view) {
+ this.meta = meta;
+ this.queryList = queryList;
+ this.ownerDirectiveExpression = ownerDirectiveExpression;
+ this.view = view;
+ this._values = new ViewQueryValues(view, []);
+ }
+ CompileQuery.prototype.addValue = function (value, view) {
+ var currentView = view;
+ var elPath = [];
+ while (isPresent(currentView) && currentView !== this.view) {
+ var parentEl = currentView.declarationElement;
+ elPath.unshift(parentEl);
+ currentView = parentEl.view;
+ }
+ var queryListForDirtyExpr = getPropertyInView(this.queryList, view, this.view);
+ var viewValues = this._values;
+ elPath.forEach(function (el) {
+ var last = viewValues.values.length > 0 ? viewValues.values[viewValues.values.length - 1] : null;
+ if (last instanceof ViewQueryValues && last.view === el.embeddedView) {
+ viewValues = last;
+ }
+ else {
+ var newViewValues = new ViewQueryValues(el.embeddedView, []);
+ viewValues.values.push(newViewValues);
+ viewValues = newViewValues;
+ }
+ });
+ viewValues.values.push(value);
+ if (elPath.length > 0) {
+ view.dirtyParentQueriesMethod.addStmt(queryListForDirtyExpr.callMethod('setDirty', []).toStmt());
+ }
+ };
+ CompileQuery.prototype._isStatic = function () {
+ return !this._values.values.some(function (value) { return value instanceof ViewQueryValues; });
+ };
+ CompileQuery.prototype.afterChildren = function (targetStaticMethod, targetDynamicMethod) {
+ var values = createQueryValues(this._values);
+ var updateStmts = [this.queryList.callMethod('reset', [literalArr(values)]).toStmt()];
+ if (isPresent(this.ownerDirectiveExpression)) {
+ var valueExpr = this.meta.first ? this.queryList.prop('first') : this.queryList;
+ updateStmts.push(this.ownerDirectiveExpression.prop(this.meta.propertyName).set(valueExpr).toStmt());
+ }
+ if (!this.meta.first) {
+ updateStmts.push(this.queryList.callMethod('notifyOnChanges', []).toStmt());
+ }
+ if (this.meta.first && this._isStatic()) {
+ // for queries that don't change and the user asked for a single element,
+ // set it immediately. That is e.g. needed for querying for ViewContainerRefs, ...
+ // we don't do this for QueryLists for now as this would break the timing when
+ // we call QueryList listeners...
+ targetStaticMethod.addStmts(updateStmts);
+ }
+ else {
+ targetDynamicMethod.addStmt(new IfStmt(this.queryList.prop('dirty'), updateStmts));
+ }
+ };
+ return CompileQuery;
+ }());
+ function createQueryValues(viewValues) {
+ return ListWrapper.flatten(viewValues.values.map(function (entry) {
+ if (entry instanceof ViewQueryValues) {
+ return mapNestedViews(entry.view.declarationElement.viewContainer, entry.view, createQueryValues(entry));
+ }
+ else {
+ return entry;
+ }
+ }));
+ }
+ function mapNestedViews(viewContainer, view, expressions) {
+ var adjustedExpressions = expressions.map(function (expr) { return replaceVarInExpression(THIS_EXPR.name, variable('nestedView'), expr); });
+ return viewContainer.callMethod('mapNestedViews', [
+ variable(view.className),
+ fn([new FnParam('nestedView', view.classType)], [new ReturnStatement(literalArr(adjustedExpressions))], DYNAMIC_TYPE)
+ ]);
+ }
+ function createQueryList(query, directiveInstance, propertyName, compileView) {
+ compileView.fields.push(new ClassField(propertyName, importType(resolveIdentifier(Identifiers.QueryList), [DYNAMIC_TYPE])));
+ var expr = THIS_EXPR.prop(propertyName);
+ compileView.createMethod.addStmt(THIS_EXPR.prop(propertyName)
+ .set(importExpr(resolveIdentifier(Identifiers.QueryList), [DYNAMIC_TYPE])
+ .instantiate([]))
+ .toStmt());
+ return expr;
+ }
+ function addQueryToTokenMap(map, query) {
+ query.meta.selectors.forEach(function (selector) {
+ var entry = map.get(selector.reference);
+ if (!entry) {
+ entry = [];
+ map.set(selector.reference, entry);
+ }
+ entry.push(query);
+ });
+ }
+
+ var ViewTypeEnum = (function () {
+ function ViewTypeEnum() {
+ }
+ ViewTypeEnum.fromValue = function (value) {
+ return createEnumExpression(Identifiers.ViewType, value);
+ };
+ return ViewTypeEnum;
+ }());
+ var ViewEncapsulationEnum = (function () {
+ function ViewEncapsulationEnum() {
+ }
+ ViewEncapsulationEnum.fromValue = function (value) {
+ return createEnumExpression(Identifiers.ViewEncapsulation, value);
+ };
+ return ViewEncapsulationEnum;
+ }());
+ var ChangeDetectorStatusEnum = (function () {
+ function ChangeDetectorStatusEnum() {
+ }
+ ChangeDetectorStatusEnum.fromValue = function (value) {
+ return createEnumExpression(Identifiers.ChangeDetectorStatus, value);
+ };
+ return ChangeDetectorStatusEnum;
+ }());
+ var ViewConstructorVars = (function () {
+ function ViewConstructorVars() {
+ }
+ ViewConstructorVars.viewUtils = variable('viewUtils');
+ ViewConstructorVars.parentView = variable('parentView');
+ ViewConstructorVars.parentIndex = variable('parentIndex');
+ ViewConstructorVars.parentElement = variable('parentElement');
+ return ViewConstructorVars;
+ }());
+ var ViewProperties = (function () {
+ function ViewProperties() {
+ }
+ ViewProperties.renderer = THIS_EXPR.prop('renderer');
+ ViewProperties.viewUtils = THIS_EXPR.prop('viewUtils');
+ return ViewProperties;
+ }());
+ var InjectMethodVars = (function () {
+ function InjectMethodVars() {
+ }
+ InjectMethodVars.token = variable('token');
+ InjectMethodVars.requestNodeIndex = variable('requestNodeIndex');
+ InjectMethodVars.notFoundResult = variable('notFoundResult');
+ return InjectMethodVars;
+ }());
+ var DetectChangesVars = (function () {
+ function DetectChangesVars() {
+ }
+ DetectChangesVars.throwOnChange = variable("throwOnChange");
+ DetectChangesVars.changes = variable("changes");
+ DetectChangesVars.changed = variable("changed");
+ return DetectChangesVars;
+ }());
+
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+ var ViewClassDependency = (function () {
+ function ViewClassDependency(comp, placeholder) {
+ this.comp = comp;
+ this.placeholder = placeholder;
+ }
+ return ViewClassDependency;
+ }());
+ var ComponentFactoryDependency = (function () {
+ function ComponentFactoryDependency(comp, placeholder) {
+ this.comp = comp;
+ this.placeholder = placeholder;
+ }
+ return ComponentFactoryDependency;
+ }());
+ var DirectiveWrapperDependency = (function () {
+ function DirectiveWrapperDependency(dir, placeholder) {
+ this.dir = dir;
+ this.placeholder = placeholder;
+ }
+ return DirectiveWrapperDependency;
+ }());
+
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+ var __extends$14 = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ var CompileNode = (function () {
+ function CompileNode(parent, view, nodeIndex, renderNode, sourceAst) {
+ this.parent = parent;
+ this.view = view;
+ this.nodeIndex = nodeIndex;
+ this.renderNode = renderNode;
+ this.sourceAst = sourceAst;
+ }
+ CompileNode.prototype.isNull = function () { return !this.renderNode; };
+ CompileNode.prototype.isRootElement = function () { return this.view != this.parent.view; };
+ return CompileNode;
+ }());
+ var CompileElement = (function (_super) {
+ __extends$14(CompileElement, _super);
+ function CompileElement(parent, view, nodeIndex, renderNode, sourceAst, component, _directives, _resolvedProvidersArray, hasViewContainer, hasEmbeddedView, references, _targetDependencies) {
+ var _this = this;
+ _super.call(this, parent, view, nodeIndex, renderNode, sourceAst);
+ this.component = component;
+ this._directives = _directives;
+ this._resolvedProvidersArray = _resolvedProvidersArray;
+ this.hasViewContainer = hasViewContainer;
+ this.hasEmbeddedView = hasEmbeddedView;
+ this._targetDependencies = _targetDependencies;
+ this.compViewExpr = null;
+ this.instances = new Map();
+ this.directiveWrapperInstance = new Map();
+ this._queryCount = 0;
+ this._queries = new Map();
+ this.contentNodesByNgContentIndex = null;
+ this.referenceTokens = {};
+ references.forEach(function (ref) { return _this.referenceTokens[ref.name] = ref.value; });
+ this.elementRef =
+ importExpr(resolveIdentifier(Identifiers.ElementRef)).instantiate([this.renderNode]);
+ this.instances.set(resolveIdentifierToken(Identifiers.ElementRef).reference, this.elementRef);
+ this.instances.set(resolveIdentifierToken(Identifiers.Injector).reference, THIS_EXPR.callMethod('injector', [literal(this.nodeIndex)]));
+ this.instances.set(resolveIdentifierToken(Identifiers.Renderer).reference, THIS_EXPR.prop('renderer'));
+ if (this.hasViewContainer || this.hasEmbeddedView) {
+ this._createViewContainer();
+ }
+ if (this.component) {
+ this._createComponentFactoryResolver();
+ }
+ }
+ CompileElement.createNull = function () {
+ return new CompileElement(null, null, null, null, null, null, [], [], false, false, [], []);
+ };
+ CompileElement.prototype._createViewContainer = function () {
+ var fieldName = "_vc_" + this.nodeIndex;
+ var parentNodeIndex = this.isRootElement() ? null : this.parent.nodeIndex;
+ // private is fine here as no child view will reference a ViewContainer
+ this.view.fields.push(new ClassField(fieldName, importType(resolveIdentifier(Identifiers.ViewContainer)), [StmtModifier.Private]));
+ var statement = THIS_EXPR.prop(fieldName)
+ .set(importExpr(resolveIdentifier(Identifiers.ViewContainer)).instantiate([
+ literal(this.nodeIndex), literal(parentNodeIndex), THIS_EXPR, this.renderNode
+ ]))
+ .toStmt();
+ this.view.createMethod.addStmt(statement);
+ this.viewContainer = THIS_EXPR.prop(fieldName);
+ this.instances.set(resolveIdentifierToken(Identifiers.ViewContainer).reference, this.viewContainer);
+ this.view.viewContainers.push(this.viewContainer);
+ };
+ CompileElement.prototype._createComponentFactoryResolver = function () {
+ var _this = this;
+ var entryComponents = this.component.entryComponents.map(function (entryComponent) {
+ var id = new CompileIdentifierMetadata({ name: entryComponent.name });
+ _this._targetDependencies.push(new ComponentFactoryDependency(entryComponent, id));
+ return id;
+ });
+ if (!entryComponents || entryComponents.length === 0) {
+ return;
+ }
+ var createComponentFactoryResolverExpr = importExpr(resolveIdentifier(Identifiers.CodegenComponentFactoryResolver)).instantiate([
+ literalArr(entryComponents.map(function (entryComponent) { return importExpr(entryComponent); })),
+ injectFromViewParentInjector(this.view, resolveIdentifierToken(Identifiers.ComponentFactoryResolver), false)
+ ]);
+ var provider = new CompileProviderMetadata({
+ token: resolveIdentifierToken(Identifiers.ComponentFactoryResolver),
+ useValue: createComponentFactoryResolverExpr
+ });
+ // Add ComponentFactoryResolver as first provider as it does not have deps on other providers
+ // ProviderAstType.PrivateService as only the component and its view can see it,
+ // but nobody else
+ this._resolvedProvidersArray.unshift(new ProviderAst(provider.token, false, true, [provider], exports.ProviderAstType.PrivateService, [], this.sourceAst.sourceSpan));
+ };
+ CompileElement.prototype.setComponentView = function (compViewExpr) {
+ this.compViewExpr = compViewExpr;
+ this.contentNodesByNgContentIndex =
+ new Array(this.component.template.ngContentSelectors.length);
+ for (var i = 0; i < this.contentNodesByNgContentIndex.length; i++) {
+ this.contentNodesByNgContentIndex[i] = [];
+ }
+ };
+ CompileElement.prototype.setEmbeddedView = function (embeddedView) {
+ this.embeddedView = embeddedView;
+ if (isPresent(embeddedView)) {
+ var createTemplateRefExpr = importExpr(resolveIdentifier(Identifiers.TemplateRef_)).instantiate([
+ THIS_EXPR, literal(this.nodeIndex), this.renderNode
+ ]);
+ var provider = new CompileProviderMetadata({
+ token: resolveIdentifierToken(Identifiers.TemplateRef),
+ useValue: createTemplateRefExpr
+ });
+ // Add TemplateRef as first provider as it does not have deps on other providers
+ this._resolvedProvidersArray.unshift(new ProviderAst(provider.token, false, true, [provider], exports.ProviderAstType.Builtin, [], this.sourceAst.sourceSpan));
+ }
+ };
+ CompileElement.prototype.beforeChildren = function () {
+ var _this = this;
+ if (this.hasViewContainer) {
+ this.instances.set(resolveIdentifierToken(Identifiers.ViewContainerRef).reference, this.viewContainer.prop('vcRef'));
+ }
+ this._resolvedProviders = new Map();
+ this._resolvedProvidersArray.forEach(function (provider) { return _this._resolvedProviders.set(provider.token.reference, provider); });
+ // create all the provider instances, some in the view constructor,
+ // some as getters. We rely on the fact that they are already sorted topologically.
+ Array.from(this._resolvedProviders.values()).forEach(function (resolvedProvider) {
+ var isDirectiveWrapper = resolvedProvider.providerType === exports.ProviderAstType.Component ||
+ resolvedProvider.providerType === exports.ProviderAstType.Directive;
+ var providerValueExpressions = resolvedProvider.providers.map(function (provider) {
+ if (provider.useExisting) {
+ return _this._getDependency(resolvedProvider.providerType, new CompileDiDependencyMetadata({ token: provider.useExisting }));
+ }
+ else if (provider.useFactory) {
+ var deps = provider.deps || provider.useFactory.diDeps;
+ var depsExpr = deps.map(function (dep) { return _this._getDependency(resolvedProvider.providerType, dep); });
+ return importExpr(provider.useFactory).callFn(depsExpr);
+ }
+ else if (provider.useClass) {
+ var deps = provider.deps || provider.useClass.diDeps;
+ var depsExpr = deps.map(function (dep) { return _this._getDependency(resolvedProvider.providerType, dep); });
+ if (isDirectiveWrapper) {
+ var directiveWrapperIdentifier = new CompileIdentifierMetadata({ name: DirectiveWrapperCompiler.dirWrapperClassName(provider.useClass) });
+ _this._targetDependencies.push(new DirectiveWrapperDependency(provider.useClass, directiveWrapperIdentifier));
+ return DirectiveWrapperExpressions.create(directiveWrapperIdentifier, depsExpr);
+ }
+ else {
+ return importExpr(provider.useClass)
+ .instantiate(depsExpr, importType(provider.useClass));
+ }
+ }
+ else {
+ return convertValueToOutputAst(provider.useValue);
+ }
+ });
+ var propName = "_" + resolvedProvider.token.name + "_" + _this.nodeIndex + "_" + _this.instances.size;
+ var instance = createProviderProperty(propName, resolvedProvider, providerValueExpressions, resolvedProvider.multiProvider, resolvedProvider.eager, _this);
+ if (isDirectiveWrapper) {
+ _this.directiveWrapperInstance.set(resolvedProvider.token.reference, instance);
+ _this.instances.set(resolvedProvider.token.reference, DirectiveWrapperExpressions.context(instance));
+ }
+ else {
+ _this.instances.set(resolvedProvider.token.reference, instance);
+ }
+ });
+ var _loop_1 = function(i) {
+ var directive = this_1._directives[i];
+ var directiveInstance = this_1.instances.get(identifierToken(directive.type).reference);
+ directive.queries.forEach(function (queryMeta) { _this._addQuery(queryMeta, directiveInstance); });
+ };
+ var this_1 = this;
+ for (var i = 0; i < this._directives.length; i++) {
+ _loop_1(i);
+ }
+ var queriesWithReads = [];
+ Array.from(this._resolvedProviders.values()).forEach(function (resolvedProvider) {
+ var queriesForProvider = _this._getQueriesFor(resolvedProvider.token);
+ queriesWithReads.push.apply(queriesWithReads, queriesForProvider.map(function (query) { return new _QueryWithRead(query, resolvedProvider.token); }));
+ });
+ Object.keys(this.referenceTokens).forEach(function (varName) {
+ var token = _this.referenceTokens[varName];
+ var varValue;
+ if (token) {
+ varValue = _this.instances.get(token.reference);
+ }
+ else {
+ varValue = _this.renderNode;
+ }
+ _this.view.locals.set(varName, varValue);
+ var varToken = new CompileTokenMetadata({ value: varName });
+ queriesWithReads.push.apply(queriesWithReads, _this._getQueriesFor(varToken).map(function (query) { return new _QueryWithRead(query, varToken); }));
+ });
+ queriesWithReads.forEach(function (queryWithRead) {
+ var value;
+ if (isPresent(queryWithRead.read.identifier)) {
+ // query for an identifier
+ value = _this.instances.get(queryWithRead.read.reference);
+ }
+ else {
+ // query for a reference
+ var token = _this.referenceTokens[queryWithRead.read.value];
+ if (isPresent(token)) {
+ value = _this.instances.get(token.reference);
+ }
+ else {
+ value = _this.elementRef;
+ }
+ }
+ if (isPresent(value)) {
+ queryWithRead.query.addValue(value, _this.view);
+ }
+ });
+ };
+ CompileElement.prototype.afterChildren = function (childNodeCount) {
+ var _this = this;
+ Array.from(this._resolvedProviders.values()).forEach(function (resolvedProvider) {
+ // Note: afterChildren is called after recursing into children.
+ // This is good so that an injector match in an element that is closer to a requesting element
+ // matches first.
+ var providerExpr = _this.instances.get(resolvedProvider.token.reference);
+ // Note: view providers are only visible on the injector of that element.
+ // This is not fully correct as the rules during codegen don't allow a directive
+ // to get hold of a view provdier on the same element. We still do this semantic
+ // as it simplifies our model to having only one runtime injector per element.
+ var providerChildNodeCount = resolvedProvider.providerType === exports.ProviderAstType.PrivateService ? 0 : childNodeCount;
+ _this.view.injectorGetMethod.addStmt(createInjectInternalCondition(_this.nodeIndex, providerChildNodeCount, resolvedProvider, providerExpr));
+ });
+ Array.from(this._queries.values())
+ .forEach(function (queries) { return queries.forEach(function (q) {
+ return q.afterChildren(_this.view.createMethod, _this.view.updateContentQueriesMethod);
+ }); });
+ };
+ CompileElement.prototype.addContentNode = function (ngContentIndex, nodeExpr) {
+ this.contentNodesByNgContentIndex[ngContentIndex].push(nodeExpr);
+ };
+ CompileElement.prototype.getComponent = function () {
+ return isPresent(this.component) ?
+ this.instances.get(identifierToken(this.component.type).reference) :
+ null;
+ };
+ CompileElement.prototype.getProviderTokens = function () {
+ return Array.from(this._resolvedProviders.values())
+ .map(function (resolvedProvider) { return createDiTokenExpression(resolvedProvider.token); });
+ };
+ CompileElement.prototype._getQueriesFor = function (token) {
+ var result = [];
+ var currentEl = this;
+ var distance = 0;
+ var queries;
+ while (!currentEl.isNull()) {
+ queries = currentEl._queries.get(token.reference);
+ if (isPresent(queries)) {
+ result.push.apply(result, queries.filter(function (query) { return query.meta.descendants || distance <= 1; }));
+ }
+ if (currentEl._directives.length > 0) {
+ distance++;
+ }
+ currentEl = currentEl.parent;
+ }
+ queries = this.view.componentView.viewQueries.get(token.reference);
+ if (isPresent(queries)) {
+ result.push.apply(result, queries);
+ }
+ return result;
+ };
+ CompileElement.prototype._addQuery = function (queryMeta, directiveInstance) {
+ var propName = "_query_" + queryMeta.selectors[0].name + "_" + this.nodeIndex + "_" + this._queryCount++;
+ var queryList = createQueryList(queryMeta, directiveInstance, propName, this.view);
+ var query = new CompileQuery(queryMeta, queryList, directiveInstance, this.view);
+ addQueryToTokenMap(this._queries, query);
+ return query;
+ };
+ CompileElement.prototype._getLocalDependency = function (requestingProviderType, dep) {
+ var result = null;
+ if (isPresent(dep.token)) {
+ // access builtins with special visibility
+ if (!result) {
+ if (dep.token.reference ===
+ resolveIdentifierToken(Identifiers.ChangeDetectorRef).reference) {
+ if (requestingProviderType === exports.ProviderAstType.Component) {
+ return this.compViewExpr.prop('ref');
+ }
+ else {
+ return getPropertyInView(THIS_EXPR.prop('ref'), this.view, this.view.componentView);
+ }
+ }
+ }
+ // access regular providers on the element
+ if (!result) {
+ var resolvedProvider = this._resolvedProviders.get(dep.token.reference);
+ // don't allow directives / public services to access private services.
+ // only components and private services can access private services.
+ if (resolvedProvider && (requestingProviderType === exports.ProviderAstType.Directive ||
+ requestingProviderType === exports.ProviderAstType.PublicService) &&
+ resolvedProvider.providerType === exports.ProviderAstType.PrivateService) {
+ return null;
+ }
+ result = this.instances.get(dep.token.reference);
+ }
+ }
+ return result;
+ };
+ CompileElement.prototype._getDependency = function (requestingProviderType, dep) {
+ var currElement = this;
+ var result = null;
+ if (dep.isValue) {
+ result = literal(dep.value);
+ }
+ if (!result && !dep.isSkipSelf) {
+ result = this._getLocalDependency(requestingProviderType, dep);
+ }
+ // check parent elements
+ while (!result && !currElement.parent.isNull()) {
+ currElement = currElement.parent;
+ result = currElement._getLocalDependency(exports.ProviderAstType.PublicService, new CompileDiDependencyMetadata({ token: dep.token }));
+ }
+ if (!result) {
+ result = injectFromViewParentInjector(this.view, dep.token, dep.isOptional);
+ }
+ if (!result) {
+ result = NULL_EXPR;
+ }
+ return getPropertyInView(result, this.view, currElement.view);
+ };
+ return CompileElement;
+ }(CompileNode));
+ function createInjectInternalCondition(nodeIndex, childNodeCount, provider, providerExpr) {
+ var indexCondition;
+ if (childNodeCount > 0) {
+ indexCondition = literal(nodeIndex)
+ .lowerEquals(InjectMethodVars.requestNodeIndex)
+ .and(InjectMethodVars.requestNodeIndex.lowerEquals(literal(nodeIndex + childNodeCount)));
+ }
+ else {
+ indexCondition = literal(nodeIndex).identical(InjectMethodVars.requestNodeIndex);
+ }
+ return new IfStmt(InjectMethodVars.token.identical(createDiTokenExpression(provider.token)).and(indexCondition), [new ReturnStatement(providerExpr)]);
+ }
+ function createProviderProperty(propName, provider, providerValueExpressions, isMulti, isEager, compileElement) {
+ var view = compileElement.view;
+ var resolvedProviderValueExpr;
+ var type;
+ if (isMulti) {
+ resolvedProviderValueExpr = literalArr(providerValueExpressions);
+ type = new ArrayType(DYNAMIC_TYPE);
+ }
+ else {
+ resolvedProviderValueExpr = providerValueExpressions[0];
+ type = providerValueExpressions[0].type;
+ }
+ if (!type) {
+ type = DYNAMIC_TYPE;
+ }
+ if (isEager) {
+ view.fields.push(new ClassField(propName, type));
+ view.createMethod.addStmt(THIS_EXPR.prop(propName).set(resolvedProviderValueExpr).toStmt());
+ }
+ else {
+ var internalField = "_" + propName;
+ view.fields.push(new ClassField(internalField, type));
+ var getter = new CompileMethod(view);
+ getter.resetDebugInfo(compileElement.nodeIndex, compileElement.sourceAst);
+ // Note: Equals is important for JS so that it also checks the undefined case!
+ getter.addStmt(new IfStmt(THIS_EXPR.prop(internalField).isBlank(), [THIS_EXPR.prop(internalField).set(resolvedProviderValueExpr).toStmt()]));
+ getter.addStmt(new ReturnStatement(THIS_EXPR.prop(internalField)));
+ view.getters.push(new ClassGetter(propName, getter.finish(), type));
+ }
+ return THIS_EXPR.prop(propName);
+ }
+ var _QueryWithRead = (function () {
+ function _QueryWithRead(query, match) {
+ this.query = query;
+ this.read = query.meta.read || match;
+ }
+ return _QueryWithRead;
+ }());
+
+ var CompilePipe = (function () {
+ function CompilePipe(view, meta) {
+ var _this = this;
+ this.view = view;
+ this.meta = meta;
+ this._purePipeProxyCount = 0;
+ this.instance = THIS_EXPR.prop("_pipe_" + meta.name + "_" + view.pipeCount++);
+ var deps = this.meta.type.diDeps.map(function (diDep) {
+ if (diDep.token.reference ===
+ resolveIdentifierToken(Identifiers.ChangeDetectorRef).reference) {
+ return getPropertyInView(THIS_EXPR.prop('ref'), _this.view, _this.view.componentView);
+ }
+ return injectFromViewParentInjector(view, diDep.token, false);
+ });
+ this.view.fields.push(new ClassField(this.instance.name, importType(this.meta.type)));
+ this.view.createMethod.resetDebugInfo(null, null);
+ this.view.createMethod.addStmt(THIS_EXPR.prop(this.instance.name)
+ .set(importExpr(this.meta.type).instantiate(deps))
+ .toStmt());
+ }
+ CompilePipe.call = function (view, name, args) {
+ var compView = view.componentView;
+ var meta = _findPipeMeta(compView, name);
+ var pipe;
+ if (meta.pure) {
+ // pure pipes live on the component view
+ pipe = compView.purePipes.get(name);
+ if (!pipe) {
+ pipe = new CompilePipe(compView, meta);
+ compView.purePipes.set(name, pipe);
+ compView.pipes.push(pipe);
+ }
+ }
+ else {
+ // Non pure pipes live on the view that called it
+ pipe = new CompilePipe(view, meta);
+ view.pipes.push(pipe);
+ }
+ return pipe._call(view, args);
+ };
+ Object.defineProperty(CompilePipe.prototype, "pure", {
+ get: function () { return this.meta.pure; },
+ enumerable: true,
+ configurable: true
+ });
+ CompilePipe.prototype._call = function (callingView, args) {
+ if (this.meta.pure) {
+ // PurePipeProxies live on the view that called them.
+ var purePipeProxyInstance = THIS_EXPR.prop(this.instance.name + "_" + this._purePipeProxyCount++);
+ var pipeInstanceSeenFromPureProxy = getPropertyInView(this.instance, callingView, this.view);
+ createPureProxy(pipeInstanceSeenFromPureProxy.prop('transform')
+ .callMethod(BuiltinMethod.Bind, [pipeInstanceSeenFromPureProxy]), args.length, purePipeProxyInstance, { fields: callingView.fields, ctorStmts: callingView.createMethod });
+ return importExpr(resolveIdentifier(Identifiers.castByValue))
+ .callFn([purePipeProxyInstance, pipeInstanceSeenFromPureProxy.prop('transform')])
+ .callFn(args);
+ }
+ else {
+ return getPropertyInView(this.instance, callingView, this.view).callMethod('transform', args);
+ }
+ };
+ return CompilePipe;
+ }());
+ function _findPipeMeta(view, name) {
+ var pipeMeta = null;
+ for (var i = view.pipeMetas.length - 1; i >= 0; i--) {
+ var localPipeMeta = view.pipeMetas[i];
+ if (localPipeMeta.name == name) {
+ pipeMeta = localPipeMeta;
+ break;
+ }
+ }
+ if (!pipeMeta) {
+ throw new Error("Illegal state: Could not find pipe " + name + " although the parser should have detected this error!");
+ }
+ return pipeMeta;
+ }
+
+ var CompileViewRootNodeType;
+ (function (CompileViewRootNodeType) {
+ CompileViewRootNodeType[CompileViewRootNodeType["Node"] = 0] = "Node";
+ CompileViewRootNodeType[CompileViewRootNodeType["ViewContainer"] = 1] = "ViewContainer";
+ CompileViewRootNodeType[CompileViewRootNodeType["NgContent"] = 2] = "NgContent";
+ })(CompileViewRootNodeType || (CompileViewRootNodeType = {}));
+ var CompileViewRootNode = (function () {
+ function CompileViewRootNode(type, expr, ngContentIndex) {
+ this.type = type;
+ this.expr = expr;
+ this.ngContentIndex = ngContentIndex;
+ }
+ return CompileViewRootNode;
+ }());
+ var CompileView = (function () {
+ function CompileView(component, genConfig, pipeMetas, styles, animations, viewIndex, declarationElement, templateVariableBindings) {
+ var _this = this;
+ this.component = component;
+ this.genConfig = genConfig;
+ this.pipeMetas = pipeMetas;
+ this.styles = styles;
+ this.animations = animations;
+ this.viewIndex = viewIndex;
+ this.declarationElement = declarationElement;
+ this.templateVariableBindings = templateVariableBindings;
+ this.viewChildren = [];
+ this.nodes = [];
+ this.rootNodes = [];
+ this.lastRenderNode = NULL_EXPR;
+ this.viewContainers = [];
+ this.methods = [];
+ this.ctorStmts = [];
+ this.fields = [];
+ this.getters = [];
+ this.disposables = [];
+ this.purePipes = new Map();
+ this.pipes = [];
+ this.locals = new Map();
+ this.literalArrayCount = 0;
+ this.literalMapCount = 0;
+ this.pipeCount = 0;
+ this.createMethod = new CompileMethod(this);
+ this.animationBindingsMethod = new CompileMethod(this);
+ this.injectorGetMethod = new CompileMethod(this);
+ this.updateContentQueriesMethod = new CompileMethod(this);
+ this.dirtyParentQueriesMethod = new CompileMethod(this);
+ this.updateViewQueriesMethod = new CompileMethod(this);
+ this.detectChangesInInputsMethod = new CompileMethod(this);
+ this.detectChangesRenderPropertiesMethod = new CompileMethod(this);
+ this.afterContentLifecycleCallbacksMethod = new CompileMethod(this);
+ this.afterViewLifecycleCallbacksMethod = new CompileMethod(this);
+ this.destroyMethod = new CompileMethod(this);
+ this.detachMethod = new CompileMethod(this);
+ this.viewType = getViewType(component, viewIndex);
+ this.className = getViewClassName(component, viewIndex);
+ this.classType = importType(new CompileIdentifierMetadata({ name: this.className }));
+ this.classExpr = variable(this.className);
+ if (this.viewType === ViewType.COMPONENT || this.viewType === ViewType.HOST) {
+ this.componentView = this;
+ }
+ else {
+ this.componentView = this.declarationElement.view.componentView;
+ }
+ this.componentContext =
+ getPropertyInView(THIS_EXPR.prop('context'), this, this.componentView);
+ var viewQueries = new Map();
+ if (this.viewType === ViewType.COMPONENT) {
+ var directiveInstance_1 = THIS_EXPR.prop('context');
+ this.component.viewQueries.forEach(function (queryMeta, queryIndex) {
+ var propName = "_viewQuery_" + queryMeta.selectors[0].name + "_" + queryIndex;
+ var queryList = createQueryList(queryMeta, directiveInstance_1, propName, _this);
+ var query = new CompileQuery(queryMeta, queryList, directiveInstance_1, _this);
+ addQueryToTokenMap(viewQueries, query);
+ });
+ }
+ this.viewQueries = viewQueries;
+ templateVariableBindings.forEach(function (entry) { _this.locals.set(entry[1], THIS_EXPR.prop('context').prop(entry[0])); });
+ if (!this.declarationElement.isNull()) {
+ this.declarationElement.setEmbeddedView(this);
+ }
+ }
+ CompileView.prototype.callPipe = function (name, input, args) {
+ return CompilePipe.call(this, name, [input].concat(args));
+ };
+ CompileView.prototype.getLocal = function (name) {
+ if (name == EventHandlerVars.event.name) {
+ return EventHandlerVars.event;
+ }
+ var currView = this;
+ var result = currView.locals.get(name);
+ while (!result && isPresent(currView.declarationElement.view)) {
+ currView = currView.declarationElement.view;
+ result = currView.locals.get(name);
+ }
+ if (isPresent(result)) {
+ return getPropertyInView(result, this, currView);
+ }
+ else {
+ return null;
+ }
+ };
+ CompileView.prototype.afterNodes = function () {
+ var _this = this;
+ Array.from(this.viewQueries.values())
+ .forEach(function (queries) { return queries.forEach(function (q) { return q.afterChildren(_this.createMethod, _this.updateViewQueriesMethod); }); });
+ };
+ return CompileView;
+ }());
+ function getViewType(component, embeddedTemplateIndex) {
+ if (embeddedTemplateIndex > 0) {
+ return ViewType.EMBEDDED;
+ }
+ if (component.type.isHost) {
+ return ViewType.HOST;
+ }
+ return ViewType.COMPONENT;
+ }
+
+ function bindOutputs(boundEvents, directives, compileElement, bindToRenderer) {
+ var usedEvents = collectEvents(boundEvents, directives);
+ if (!usedEvents.size) {
+ return false;
+ }
+ if (bindToRenderer) {
+ subscribeToRenderEvents(usedEvents, compileElement);
+ }
+ subscribeToDirectiveEvents(usedEvents, directives, compileElement);
+ generateHandleEventMethod(boundEvents, directives, compileElement);
+ return true;
+ }
+ function collectEvents(boundEvents, directives) {
+ var usedEvents = new Map();
+ boundEvents.forEach(function (event) { usedEvents.set(event.fullName, event); });
+ directives.forEach(function (dirAst) {
+ dirAst.hostEvents.forEach(function (event) { usedEvents.set(event.fullName, event); });
+ });
+ return usedEvents;
+ }
+ function subscribeToRenderEvents(usedEvents, compileElement) {
+ var eventAndTargetExprs = [];
+ usedEvents.forEach(function (event) {
+ if (!event.phase) {
+ eventAndTargetExprs.push(literal(event.name), literal(event.target));
+ }
+ });
+ if (eventAndTargetExprs.length) {
+ var disposableVar = variable("disposable_" + compileElement.view.disposables.length);
+ compileElement.view.disposables.push(disposableVar);
+ compileElement.view.createMethod.addStmt(disposableVar
+ .set(importExpr(resolveIdentifier(Identifiers.subscribeToRenderElement)).callFn([
+ THIS_EXPR, compileElement.renderNode, createInlineArray(eventAndTargetExprs),
+ handleEventExpr(compileElement)
+ ]))
+ .toDeclStmt(FUNCTION_TYPE, [StmtModifier.Private]));
+ }
+ }
+ function subscribeToDirectiveEvents(usedEvents, directives, compileElement) {
+ var usedEventNames = Array.from(usedEvents.keys());
+ directives.forEach(function (dirAst) {
+ var dirWrapper = compileElement.directiveWrapperInstance.get(dirAst.directive.type.reference);
+ compileElement.view.createMethod.addStmts(DirectiveWrapperExpressions.subscribe(dirAst.directive, dirAst.hostProperties, usedEventNames, dirWrapper, THIS_EXPR, handleEventExpr(compileElement)));
+ });
+ }
+ function generateHandleEventMethod(boundEvents, directives, compileElement) {
+ var hasComponentHostListener = directives.some(function (dirAst) { return dirAst.hostEvents.some(function (event) { return dirAst.directive.isComponent; }); });
+ var markPathToRootStart = hasComponentHostListener ? compileElement.compViewExpr : THIS_EXPR;
+ var handleEventStmts = new CompileMethod(compileElement.view);
+ handleEventStmts.resetDebugInfo(compileElement.nodeIndex, compileElement.sourceAst);
+ handleEventStmts.push(markPathToRootStart.callMethod('markPathToRootAsCheckOnce', []).toStmt());
+ var eventNameVar = variable('eventName');
+ var resultVar = variable('result');
+ handleEventStmts.push(resultVar.set(literal(true)).toDeclStmt(BOOL_TYPE));
+ directives.forEach(function (dirAst, dirIdx) {
+ var dirWrapper = compileElement.directiveWrapperInstance.get(dirAst.directive.type.reference);
+ if (dirAst.hostEvents.length > 0) {
+ handleEventStmts.push(resultVar
+ .set(DirectiveWrapperExpressions
+ .handleEvent(dirAst.hostEvents, dirWrapper, eventNameVar, EventHandlerVars.event)
+ .and(resultVar))
+ .toStmt());
+ }
+ });
+ boundEvents.forEach(function (renderEvent, renderEventIdx) {
+ var evalResult = convertActionBinding(compileElement.view, compileElement.view, compileElement.view.componentContext, renderEvent.handler, "sub_" + renderEventIdx);
+ var trueStmts = evalResult.stmts;
+ if (evalResult.preventDefault) {
+ trueStmts.push(resultVar.set(evalResult.preventDefault.and(resultVar)).toStmt());
+ }
+ // TODO(tbosch): convert this into a `switch` once our OutputAst supports it.
+ handleEventStmts.push(new IfStmt(eventNameVar.equals(literal(renderEvent.fullName)), trueStmts));
+ });
+ handleEventStmts.push(new ReturnStatement(resultVar));
+ compileElement.view.methods.push(new ClassMethod(getHandleEventMethodName(compileElement.nodeIndex), [
+ new FnParam(eventNameVar.name, STRING_TYPE),
+ new FnParam(EventHandlerVars.event.name, DYNAMIC_TYPE)
+ ], handleEventStmts.finish(), BOOL_TYPE));
+ }
+ function handleEventExpr(compileElement) {
+ var handleEventMethodName = getHandleEventMethodName(compileElement.nodeIndex);
+ return THIS_EXPR.callMethod('eventHandler', [THIS_EXPR.prop(handleEventMethodName)]);
}
var STATE_IS_NEVER_CHECKED = THIS_EXPR.prop('numberOfChecks').identical(new LiteralExpr(0));
var NOT_THROW_ON_CHANGES = not(DetectChangesVars.throwOnChange);
- function bindDirectiveDetectChangesLifecycleCallbacks(directiveAst, directiveInstance, compileElement) {
- var view = compileElement.view;
- var detectChangesInInputsMethod = view.detectChangesInInputsMethod;
- var lifecycleHooks = directiveAst.directive.type.lifecycleHooks;
- if (lifecycleHooks.indexOf(LifecycleHooks.OnChanges) !== -1 && directiveAst.inputs.length > 0) {
- detectChangesInInputsMethod.addStmt(new IfStmt(DetectChangesVars.changes.notIdentical(NULL_EXPR), [directiveInstance.callMethod('ngOnChanges', [DetectChangesVars.changes]).toStmt()]));
- }
- if (lifecycleHooks.indexOf(LifecycleHooks.OnInit) !== -1) {
- detectChangesInInputsMethod.addStmt(new IfStmt(STATE_IS_NEVER_CHECKED.and(NOT_THROW_ON_CHANGES), [directiveInstance.callMethod('ngOnInit', []).toStmt()]));
- }
- if (lifecycleHooks.indexOf(LifecycleHooks.DoCheck) !== -1) {
- detectChangesInInputsMethod.addStmt(new IfStmt(NOT_THROW_ON_CHANGES, [directiveInstance.callMethod('ngDoCheck', []).toStmt()]));
- }
- }
function bindDirectiveAfterContentLifecycleCallbacks(directiveMeta, directiveInstance, compileElement) {
var view = compileElement.view;
var lifecycleHooks = directiveMeta.type.lifecycleHooks;
@@ -21301,10 +21336,16 @@
afterViewLifecycleCallbacksMethod.addStmt(directiveInstance.callMethod('ngAfterViewChecked', []).toStmt());
}
}
+ function bindDirectiveWrapperLifecycleCallbacks(dir, directiveWrapperIntance, compileElement) {
+ compileElement.view.destroyMethod.addStmts(DirectiveWrapperExpressions.ngOnDestroy(dir.directive, directiveWrapperIntance));
+ compileElement.view.detachMethod.addStmts(DirectiveWrapperExpressions.ngOnDetach(dir.hostProperties, directiveWrapperIntance, THIS_EXPR, compileElement.compViewExpr || THIS_EXPR, compileElement.renderNode));
+ }
function bindInjectableDestroyLifecycleCallbacks(provider, providerInstance, compileElement) {
var onDestroyMethod = compileElement.view.destroyMethod;
onDestroyMethod.resetDebugInfo(compileElement.nodeIndex, compileElement.sourceAst);
- if (provider.lifecycleHooks.indexOf(LifecycleHooks.OnDestroy) !== -1) {
+ if (provider.providerType !== exports.ProviderAstType.Directive &&
+ provider.providerType !== exports.ProviderAstType.Component &&
+ provider.lifecycleHooks.indexOf(LifecycleHooks.OnDestroy) !== -1) {
onDestroyMethod.addStmt(providerInstance.callMethod('ngOnDestroy', []).toStmt());
}
}
@@ -21315,226 +21356,105 @@
}
}
- function createBindFieldExpr(exprIndex) {
- return THIS_EXPR.prop("_expr_" + exprIndex);
- }
- function createCurrValueExpr(exprIndex) {
- return variable("currVal_" + exprIndex); // fix syntax highlighting: `
- }
- function bind(view, currValExpr, fieldExpr, parsedExpression, context, actions, method, bindingIndex) {
- var checkExpression = convertCdExpressionToIr(view, context, parsedExpression, DetectChangesVars.valUnwrapper, bindingIndex);
- if (!checkExpression.expression) {
- // e.g. an empty expression was given
- return;
- }
- if (checkExpression.temporaryCount) {
- for (var i = 0; i < checkExpression.temporaryCount; i++) {
- method.addStmt(temporaryDeclaration(bindingIndex, i));
- }
- }
- // private is fine here as no child view will reference the cached value...
- view.fields.push(new ClassField(fieldExpr.name, null, [StmtModifier.Private]));
- view.createMethod.addStmt(THIS_EXPR.prop(fieldExpr.name)
- .set(importExpr(resolveIdentifier(Identifiers.UNINITIALIZED)))
- .toStmt());
- if (checkExpression.needsValueUnwrapper) {
- var initValueUnwrapperStmt = DetectChangesVars.valUnwrapper.callMethod('reset', []).toStmt();
- method.addStmt(initValueUnwrapperStmt);
- }
- method.addStmt(currValExpr.set(checkExpression.expression).toDeclStmt(null, [StmtModifier.Final]));
- var condition = importExpr(resolveIdentifier(Identifiers.checkBinding)).callFn([
- DetectChangesVars.throwOnChange, fieldExpr, currValExpr
- ]);
- if (checkExpression.needsValueUnwrapper) {
- condition = DetectChangesVars.valUnwrapper.prop('hasWrappedValue').or(condition);
- }
- method.addStmt(new IfStmt(condition, actions.concat([THIS_EXPR.prop(fieldExpr.name).set(currValExpr).toStmt()])));
- }
function bindRenderText(boundText, compileNode, view) {
- var bindingIndex = view.bindings.length;
- view.bindings.push(new CompileBinding(compileNode, boundText));
- var currValExpr = createCurrValueExpr(bindingIndex);
- var valueField = createBindFieldExpr(bindingIndex);
+ var valueField = createCheckBindingField(view);
+ var evalResult = convertPropertyBinding(view, view, view.componentContext, boundText.value, valueField.bindingId);
+ if (!evalResult) {
+ return null;
+ }
view.detectChangesRenderPropertiesMethod.resetDebugInfo(compileNode.nodeIndex, boundText);
- bind(view, currValExpr, valueField, boundText.value, view.componentContext, [THIS_EXPR.prop('renderer')
- .callMethod('setText', [compileNode.renderNode, currValExpr])
- .toStmt()], view.detectChangesRenderPropertiesMethod, bindingIndex);
+ view.detectChangesRenderPropertiesMethod.addStmts(createCheckBindingStmt(evalResult, valueField.expression, DetectChangesVars.throwOnChange, [THIS_EXPR.prop('renderer')
+ .callMethod('setText', [compileNode.renderNode, evalResult.currValExpr])
+ .toStmt()]));
}
- function bindAndWriteToRenderer(boundProps, context, compileElement, isHostProp) {
+ function bindRenderInputs(boundProps, hasEvents, compileElement) {
var view = compileElement.view;
var renderNode = compileElement.renderNode;
boundProps.forEach(function (boundProp) {
- var bindingIndex = view.bindings.length;
- view.bindings.push(new CompileBinding(compileElement, boundProp));
+ var bindingField = createCheckBindingField(view);
view.detectChangesRenderPropertiesMethod.resetDebugInfo(compileElement.nodeIndex, boundProp);
- var fieldExpr = createBindFieldExpr(bindingIndex);
- var currValExpr = createCurrValueExpr(bindingIndex);
- var oldRenderValue = sanitizedValue(boundProp, fieldExpr);
- var renderValue = sanitizedValue(boundProp, currValExpr);
- var updateStmts = [];
+ var evalResult = convertPropertyBinding(view, view, compileElement.view.componentContext, boundProp.value, bindingField.bindingId);
+ if (!evalResult) {
+ return;
+ }
+ var checkBindingStmts = [];
var compileMethod = view.detectChangesRenderPropertiesMethod;
switch (boundProp.type) {
case exports.PropertyBindingType.Property:
- if (view.genConfig.logBindingUpdate) {
- updateStmts.push(logBindingUpdateStmt(renderNode, boundProp.name, renderValue));
- }
- updateStmts.push(THIS_EXPR.prop('renderer')
- .callMethod('setElementProperty', [renderNode, literal(boundProp.name), renderValue])
- .toStmt());
- break;
case exports.PropertyBindingType.Attribute:
- renderValue =
- renderValue.isBlank().conditional(NULL_EXPR, renderValue.callMethod('toString', []));
- updateStmts.push(THIS_EXPR.prop('renderer')
- .callMethod('setElementAttribute', [renderNode, literal(boundProp.name), renderValue])
- .toStmt());
- break;
case exports.PropertyBindingType.Class:
- updateStmts.push(THIS_EXPR.prop('renderer')
- .callMethod('setElementClass', [renderNode, literal(boundProp.name), renderValue])
- .toStmt());
- break;
case exports.PropertyBindingType.Style:
- var strValue = renderValue.callMethod('toString', []);
- if (isPresent(boundProp.unit)) {
- strValue = strValue.plus(literal(boundProp.unit));
- }
- renderValue = renderValue.isBlank().conditional(NULL_EXPR, strValue);
- updateStmts.push(THIS_EXPR.prop('renderer')
- .callMethod('setElementStyle', [renderNode, literal(boundProp.name), renderValue])
- .toStmt());
+ checkBindingStmts.push.apply(checkBindingStmts, writeToRenderer(THIS_EXPR, boundProp, renderNode, evalResult.currValExpr, view.genConfig.logBindingUpdate));
break;
case exports.PropertyBindingType.Animation:
- var animationName = boundProp.name;
- var targetViewExpr = THIS_EXPR;
- if (isHostProp) {
- targetViewExpr = compileElement.appElement.prop('componentView');
- }
compileMethod = view.animationBindingsMethod;
- var animationFnExpr = targetViewExpr.prop('componentType').prop('animations').key(literal(animationName));
- // it's important to normalize the void value as `void` explicitly
- // so that the styles data can be obtained from the stringmap
- var emptyStateValue = literal(EMPTY_ANIMATION_STATE);
- // void => ...
- var oldRenderVar = variable('oldRenderVar');
- updateStmts.push(oldRenderVar.set(oldRenderValue).toDeclStmt());
- updateStmts.push(new IfStmt(oldRenderVar.equals(importExpr(resolveIdentifier(Identifiers.UNINITIALIZED))), [oldRenderVar.set(emptyStateValue).toStmt()]));
- // ... => void
- var newRenderVar = variable('newRenderVar');
- updateStmts.push(newRenderVar.set(renderValue).toDeclStmt());
- updateStmts.push(new IfStmt(newRenderVar.equals(importExpr(resolveIdentifier(Identifiers.UNINITIALIZED))), [newRenderVar.set(emptyStateValue).toStmt()]));
- updateStmts.push(animationFnExpr.callFn([THIS_EXPR, renderNode, oldRenderVar, newRenderVar]).toStmt());
- view.detachMethod.addStmt(animationFnExpr.callFn([THIS_EXPR, renderNode, oldRenderValue, emptyStateValue])
- .toStmt());
+ var _a = triggerAnimation(THIS_EXPR, THIS_EXPR, boundProp, (hasEvents ? THIS_EXPR.prop(getHandleEventMethodName(compileElement.nodeIndex)) :
+ importExpr(resolveIdentifier(Identifiers.noop)))
+ .callMethod(BuiltinMethod.Bind, [THIS_EXPR]), compileElement.renderNode, evalResult.currValExpr, bindingField.expression), updateStmts = _a.updateStmts, detachStmts = _a.detachStmts;
+ checkBindingStmts.push.apply(checkBindingStmts, updateStmts);
+ view.detachMethod.addStmts(detachStmts);
break;
}
- bind(view, currValExpr, fieldExpr, boundProp.value, context, updateStmts, compileMethod, view.bindings.length);
+ compileMethod.addStmts(createCheckBindingStmt(evalResult, bindingField.expression, DetectChangesVars.throwOnChange, checkBindingStmts));
});
}
- function sanitizedValue(boundProp, renderValue) {
- var enumValue;
- switch (boundProp.securityContext) {
- case _angular_core.SecurityContext.NONE:
- return renderValue; // No sanitization needed.
- case _angular_core.SecurityContext.HTML:
- enumValue = 'HTML';
- break;
- case _angular_core.SecurityContext.STYLE:
- enumValue = 'STYLE';
- break;
- case _angular_core.SecurityContext.SCRIPT:
- enumValue = 'SCRIPT';
- break;
- case _angular_core.SecurityContext.URL:
- enumValue = 'URL';
- break;
- case _angular_core.SecurityContext.RESOURCE_URL:
- enumValue = 'RESOURCE_URL';
- break;
- default:
- throw new Error("internal error, unexpected SecurityContext " + boundProp.securityContext + ".");
- }
- var ctx = ViewProperties.viewUtils.prop('sanitizer');
- var args = [importExpr(resolveIdentifier(Identifiers.SecurityContext)).prop(enumValue), renderValue];
- return ctx.callMethod('sanitize', args);
+ function bindDirectiveHostProps(directiveAst, directiveWrapperInstance, compileElement, elementName, schemaRegistry) {
+ // We need to provide the SecurityContext for properties that could need sanitization.
+ var runtimeSecurityCtxExprs = directiveAst.hostProperties.filter(function (boundProp) { return boundProp.needsRuntimeSecurityContext; })
+ .map(function (boundProp) {
+ var ctx;
+ switch (boundProp.type) {
+ case exports.PropertyBindingType.Property:
+ ctx = schemaRegistry.securityContext(elementName, boundProp.name, false);
+ break;
+ case exports.PropertyBindingType.Attribute:
+ ctx = schemaRegistry.securityContext(elementName, boundProp.name, true);
+ break;
+ default:
+ throw new Error("Illegal state: Only property / attribute bindings can have an unknown security context! Binding " + boundProp.name);
+ }
+ return createEnumExpression(Identifiers.SecurityContext, ctx);
+ });
+ compileElement.view.detectChangesRenderPropertiesMethod.addStmts(DirectiveWrapperExpressions.checkHost(directiveAst.hostProperties, directiveWrapperInstance, THIS_EXPR, compileElement.compViewExpr || THIS_EXPR, compileElement.renderNode, DetectChangesVars.throwOnChange, runtimeSecurityCtxExprs));
}
- function bindRenderInputs(boundProps, compileElement) {
- bindAndWriteToRenderer(boundProps, compileElement.view.componentContext, compileElement, false);
- }
- function bindDirectiveHostProps(directiveAst, directiveInstance, compileElement) {
- bindAndWriteToRenderer(directiveAst.hostProperties, directiveInstance, compileElement, true);
- }
- function bindDirectiveInputs(directiveAst, directiveInstance, compileElement) {
- if (directiveAst.inputs.length === 0) {
- return;
- }
+ function bindDirectiveInputs(directiveAst, directiveWrapperInstance, dirIndex, compileElement) {
var view = compileElement.view;
var detectChangesInInputsMethod = view.detectChangesInInputsMethod;
detectChangesInInputsMethod.resetDebugInfo(compileElement.nodeIndex, compileElement.sourceAst);
- var lifecycleHooks = directiveAst.directive.type.lifecycleHooks;
- var calcChangesMap = lifecycleHooks.indexOf(LifecycleHooks.OnChanges) !== -1;
+ directiveAst.inputs.forEach(function (input, inputIdx) {
+ // Note: We can't use `fields.length` here, as we are not adding a field!
+ var bindingId = compileElement.nodeIndex + "_" + dirIndex + "_" + inputIdx;
+ detectChangesInInputsMethod.resetDebugInfo(compileElement.nodeIndex, input);
+ var evalResult = convertPropertyBinding(view, view, view.componentContext, input.value, bindingId);
+ if (!evalResult) {
+ return;
+ }
+ detectChangesInInputsMethod.addStmts(evalResult.stmts);
+ detectChangesInInputsMethod.addStmt(directiveWrapperInstance
+ .callMethod("check_" + input.directiveName, [
+ evalResult.currValExpr, DetectChangesVars.throwOnChange,
+ evalResult.forceUpdate || literal(false)
+ ])
+ .toStmt());
+ });
var isOnPushComp = directiveAst.directive.isComponent &&
!isDefaultChangeDetectionStrategy(directiveAst.directive.changeDetection);
- if (calcChangesMap) {
- detectChangesInInputsMethod.addStmt(DetectChangesVars.changes.set(NULL_EXPR).toStmt());
- }
- if (isOnPushComp) {
- detectChangesInInputsMethod.addStmt(DetectChangesVars.changed.set(literal(false)).toStmt());
- }
- directiveAst.inputs.forEach(function (input) {
- var bindingIndex = view.bindings.length;
- view.bindings.push(new CompileBinding(compileElement, input));
- detectChangesInInputsMethod.resetDebugInfo(compileElement.nodeIndex, input);
- var fieldExpr = createBindFieldExpr(bindingIndex);
- var currValExpr = createCurrValueExpr(bindingIndex);
- var statements = [directiveInstance.prop(input.directiveName).set(currValExpr).toStmt()];
- if (calcChangesMap) {
- statements.push(new IfStmt(DetectChangesVars.changes.identical(NULL_EXPR), [DetectChangesVars.changes
- .set(literalMap([], new MapType(importType(resolveIdentifier(Identifiers.SimpleChange)))))
- .toStmt()]));
- statements.push(DetectChangesVars.changes.key(literal(input.directiveName))
- .set(importExpr(resolveIdentifier(Identifiers.SimpleChange))
- .instantiate([fieldExpr, currValExpr]))
- .toStmt());
- }
- if (isOnPushComp) {
- statements.push(DetectChangesVars.changed.set(literal(true)).toStmt());
- }
- if (view.genConfig.logBindingUpdate) {
- statements.push(logBindingUpdateStmt(compileElement.renderNode, input.directiveName, currValExpr));
- }
- bind(view, currValExpr, fieldExpr, input.value, view.componentContext, statements, detectChangesInInputsMethod, bindingIndex);
- });
- if (isOnPushComp) {
- detectChangesInInputsMethod.addStmt(new IfStmt(DetectChangesVars.changed, [
- compileElement.appElement.prop('componentView').callMethod('markAsCheckOnce', []).toStmt()
- ]));
- }
- }
- function logBindingUpdateStmt(renderNode, propName, value) {
- var tryStmt = THIS_EXPR.prop('renderer')
- .callMethod('setBindingDebugInfo', [
- renderNode, literal("ng-reflect-" + camelCaseToDashCase(propName)),
- value.isBlank().conditional(NULL_EXPR, value.callMethod('toString', []))
- ])
- .toStmt();
- var catchStmt = THIS_EXPR.prop('renderer')
- .callMethod('setBindingDebugInfo', [
- renderNode, literal("ng-reflect-" + camelCaseToDashCase(propName)),
- literal('[ERROR] Exception while trying to serialize the value')
- ])
- .toStmt();
- return new TryCatchStmt([tryStmt], [catchStmt]);
+ var directiveDetectChangesExpr = DirectiveWrapperExpressions.ngDoCheck(directiveWrapperInstance, THIS_EXPR, compileElement.renderNode, DetectChangesVars.throwOnChange);
+ var directiveDetectChangesStmt = isOnPushComp ?
+ new IfStmt(directiveDetectChangesExpr, [compileElement.compViewExpr.callMethod('markAsCheckOnce', []).toStmt()]) :
+ directiveDetectChangesExpr.toStmt();
+ detectChangesInInputsMethod.addStmt(directiveDetectChangesStmt);
}
- function bindView(view, parsedTemplate) {
- var visitor = new ViewBinderVisitor(view);
+ function bindView(view, parsedTemplate, schemaRegistry) {
+ var visitor = new ViewBinderVisitor(view, schemaRegistry);
templateVisitAll(visitor, parsedTemplate);
view.pipes.forEach(function (pipe) { bindPipeDestroyLifecycleCallbacks(pipe.meta, pipe.instance, pipe.view); });
}
var ViewBinderVisitor = (function () {
- function ViewBinderVisitor(view) {
+ function ViewBinderVisitor(view, _schemaRegistry) {
this.view = view;
+ this._schemaRegistry = _schemaRegistry;
this._nodeIndex = 0;
}
ViewBinderVisitor.prototype.visitBoundText = function (ast, parent) {
@@ -21548,27 +21468,24 @@
};
ViewBinderVisitor.prototype.visitNgContent = function (ast, parent) { return null; };
ViewBinderVisitor.prototype.visitElement = function (ast, parent) {
+ var _this = this;
var compileElement = this.view.nodes[this._nodeIndex++];
- var eventListeners = [];
- collectEventListeners(ast.outputs, ast.directives, compileElement).forEach(function (entry) {
- eventListeners.push(entry);
- });
- bindRenderInputs(ast.inputs, compileElement);
- bindRenderOutputs(eventListeners);
- ast.directives.forEach(function (directiveAst) {
- var directiveInstance = compileElement.instances.get(directiveAst.directive.type.reference);
- bindDirectiveInputs(directiveAst, directiveInstance, compileElement);
- bindDirectiveDetectChangesLifecycleCallbacks(directiveAst, directiveInstance, compileElement);
- bindDirectiveHostProps(directiveAst, directiveInstance, compileElement);
- bindDirectiveOutputs(directiveAst, directiveInstance, eventListeners);
+ var hasEvents = bindOutputs(ast.outputs, ast.directives, compileElement, true);
+ bindRenderInputs(ast.inputs, hasEvents, compileElement);
+ ast.directives.forEach(function (directiveAst, dirIndex) {
+ var directiveWrapperInstance = compileElement.directiveWrapperInstance.get(directiveAst.directive.type.reference);
+ bindDirectiveInputs(directiveAst, directiveWrapperInstance, dirIndex, compileElement);
+ bindDirectiveHostProps(directiveAst, directiveWrapperInstance, compileElement, ast.name, _this._schemaRegistry);
});
templateVisitAll(this, ast.children, compileElement);
// afterContent and afterView lifecycles need to be called bottom up
// so that children are notified before parents
ast.directives.forEach(function (directiveAst) {
var directiveInstance = compileElement.instances.get(directiveAst.directive.type.reference);
+ var directiveWrapperInstance = compileElement.directiveWrapperInstance.get(directiveAst.directive.type.reference);
bindDirectiveAfterContentLifecycleCallbacks(directiveAst.directive, directiveInstance, compileElement);
bindDirectiveAfterViewLifecycleCallbacks(directiveAst.directive, directiveInstance, compileElement);
+ bindDirectiveWrapperLifecycleCallbacks(directiveAst, directiveWrapperInstance, compileElement);
});
ast.providers.forEach(function (providerAst) {
var providerInstance = compileElement.instances.get(providerAst.token.reference);
@@ -21578,20 +21495,20 @@
};
ViewBinderVisitor.prototype.visitEmbeddedTemplate = function (ast, parent) {
var compileElement = this.view.nodes[this._nodeIndex++];
- var eventListeners = collectEventListeners(ast.outputs, ast.directives, compileElement);
- ast.directives.forEach(function (directiveAst) {
+ bindOutputs(ast.outputs, ast.directives, compileElement, false);
+ ast.directives.forEach(function (directiveAst, dirIndex) {
var directiveInstance = compileElement.instances.get(directiveAst.directive.type.reference);
- bindDirectiveInputs(directiveAst, directiveInstance, compileElement);
- bindDirectiveDetectChangesLifecycleCallbacks(directiveAst, directiveInstance, compileElement);
- bindDirectiveOutputs(directiveAst, directiveInstance, eventListeners);
+ var directiveWrapperInstance = compileElement.directiveWrapperInstance.get(directiveAst.directive.type.reference);
+ bindDirectiveInputs(directiveAst, directiveWrapperInstance, dirIndex, compileElement);
bindDirectiveAfterContentLifecycleCallbacks(directiveAst.directive, directiveInstance, compileElement);
bindDirectiveAfterViewLifecycleCallbacks(directiveAst.directive, directiveInstance, compileElement);
+ bindDirectiveWrapperLifecycleCallbacks(directiveAst, directiveWrapperInstance, compileElement);
});
ast.providers.forEach(function (providerAst) {
var providerInstance = compileElement.instances.get(providerAst.token.reference);
bindInjectableDestroyLifecycleCallbacks(providerAst, providerInstance, compileElement);
});
- bindView(compileElement.embeddedView, ast.children);
+ bindView(compileElement.embeddedView, ast.children, this._schemaRegistry);
return null;
};
ViewBinderVisitor.prototype.visitAttr = function (ast, ctx) { return null; };
@@ -21612,23 +21529,13 @@
var NG_CONTAINER_TAG = 'ng-container';
var parentRenderNodeVar = variable('parentRenderNode');
var rootSelectorVar = variable('rootSelector');
- var ViewFactoryDependency = (function () {
- function ViewFactoryDependency(comp, placeholder) {
- this.comp = comp;
- this.placeholder = placeholder;
- }
- return ViewFactoryDependency;
- }());
- var ComponentFactoryDependency = (function () {
- function ComponentFactoryDependency(comp, placeholder) {
- this.comp = comp;
- this.placeholder = placeholder;
- }
- return ComponentFactoryDependency;
- }());
function buildView(view, template, targetDependencies) {
var builderVisitor = new ViewBuilderVisitor(view, targetDependencies);
- templateVisitAll(builderVisitor, template, view.declarationElement.isNull() ? view.declarationElement : view.declarationElement.parent);
+ var parentEl = view.declarationElement.isNull() ? view.declarationElement : view.declarationElement.parent;
+ templateVisitAll(builderVisitor, template, parentEl);
+ if (view.viewType === ViewType.EMBEDDED || view.viewType === ViewType.HOST) {
+ view.lastRenderNode = builderVisitor.getOrCreateLastRenderNode();
+ }
return builderVisitor.nestedViewCount;
}
function finishView(view, targetStatements) {
@@ -21651,15 +21558,14 @@
var projectedNode = _getOuterContainerOrSelf(node);
var parent = projectedNode.parent;
var ngContentIndex = projectedNode.sourceAst.ngContentIndex;
- var vcAppEl = (node instanceof CompileElement && node.hasViewContainer) ? node.appElement : null;
+ var viewContainer = (node instanceof CompileElement && node.hasViewContainer) ? node.viewContainer : null;
if (this._isRootNode(parent)) {
- // store appElement as root node only for ViewContainers
if (this.view.viewType !== ViewType.COMPONENT) {
- this.view.rootNodesOrAppElements.push(vcAppEl || node.renderNode);
+ this.view.rootNodes.push(new CompileViewRootNode(viewContainer ? CompileViewRootNodeType.ViewContainer : CompileViewRootNodeType.Node, viewContainer || node.renderNode));
}
}
else if (isPresent(parent.component) && isPresent(ngContentIndex)) {
- parent.addContentNode(ngContentIndex, vcAppEl || node.renderNode);
+ parent.addContentNode(ngContentIndex, new CompileViewRootNode(viewContainer ? CompileViewRootNodeType.ViewContainer : CompileViewRootNodeType.Node, viewContainer || node.renderNode));
}
};
ViewBuilderVisitor.prototype._getParentRenderNode = function (parent) {
@@ -21680,6 +21586,19 @@
parent.renderNode;
}
};
+ ViewBuilderVisitor.prototype.getOrCreateLastRenderNode = function () {
+ var view = this.view;
+ if (view.rootNodes.length === 0 ||
+ view.rootNodes[view.rootNodes.length - 1].type !== CompileViewRootNodeType.Node) {
+ var fieldName = "_el_" + view.nodes.length;
+ view.fields.push(new ClassField(fieldName, importType(view.genConfig.renderTypes.renderElement)));
+ view.createMethod.addStmt(THIS_EXPR.prop(fieldName)
+ .set(ViewProperties.renderer.callMethod('createTemplateAnchor', [NULL_EXPR, NULL_EXPR]))
+ .toStmt());
+ view.rootNodes.push(new CompileViewRootNode(CompileViewRootNodeType.Node, THIS_EXPR.prop(fieldName)));
+ }
+ return view.rootNodes[view.rootNodes.length - 1].expr;
+ };
ViewBuilderVisitor.prototype.visitBoundText = function (ast, parent) {
return this._visitText(ast, '', parent);
};
@@ -21707,98 +21626,76 @@
// have debug information for them...
this.view.createMethod.resetDebugInfo(null, ast);
var parentRenderNode = this._getParentRenderNode(parent);
- var nodesExpression = ViewProperties.projectableNodes.key(literal(ast.index), new ArrayType(importType(this.view.genConfig.renderTypes.renderNode)));
if (parentRenderNode !== NULL_EXPR) {
- this.view.createMethod.addStmt(ViewProperties.renderer
- .callMethod('projectNodes', [
- parentRenderNode,
- importExpr(resolveIdentifier(Identifiers.flattenNestedViewRenderNodes))
- .callFn([nodesExpression])
- ])
+ this.view.createMethod.addStmt(THIS_EXPR.callMethod('projectNodes', [parentRenderNode, literal(ast.index)])
.toStmt());
}
else if (this._isRootNode(parent)) {
if (this.view.viewType !== ViewType.COMPONENT) {
// store root nodes only for embedded/host views
- this.view.rootNodesOrAppElements.push(nodesExpression);
+ this.view.rootNodes.push(new CompileViewRootNode(CompileViewRootNodeType.NgContent, null, ast.index));
}
}
else {
if (isPresent(parent.component) && isPresent(ast.ngContentIndex)) {
- parent.addContentNode(ast.ngContentIndex, nodesExpression);
+ parent.addContentNode(ast.ngContentIndex, new CompileViewRootNode(CompileViewRootNodeType.NgContent, null, ast.index));
}
}
return null;
};
ViewBuilderVisitor.prototype.visitElement = function (ast, parent) {
- var _this = this;
var nodeIndex = this.view.nodes.length;
var createRenderNodeExpr;
var debugContextExpr = this.view.createMethod.resetDebugInfoExpr(nodeIndex, ast);
- if (nodeIndex === 0 && this.view.viewType === ViewType.HOST) {
- createRenderNodeExpr = THIS_EXPR.callMethod('selectOrCreateHostElement', [literal(ast.name), rootSelectorVar, debugContextExpr]);
+ var directives = ast.directives.map(function (directiveAst) { return directiveAst.directive; });
+ var component = directives.find(function (directive) { return directive.isComponent; });
+ if (ast.name === NG_CONTAINER_TAG) {
+ createRenderNodeExpr = ViewProperties.renderer.callMethod('createTemplateAnchor', [this._getParentRenderNode(parent), debugContextExpr]);
}
else {
- if (ast.name === NG_CONTAINER_TAG) {
- createRenderNodeExpr = ViewProperties.renderer.callMethod('createTemplateAnchor', [this._getParentRenderNode(parent), debugContextExpr]);
+ var htmlAttrs = _readHtmlAttrs(ast.attrs);
+ var attrNameAndValues = createInlineArray(_mergeHtmlAndDirectiveAttrs(htmlAttrs, directives).map(function (v) { return literal(v); }));
+ if (nodeIndex === 0 && this.view.viewType === ViewType.HOST) {
+ createRenderNodeExpr =
+ importExpr(resolveIdentifier(Identifiers.selectOrCreateRenderHostElement)).callFn([
+ ViewProperties.renderer, literal(ast.name), attrNameAndValues, rootSelectorVar,
+ debugContextExpr
+ ]);
}
else {
- createRenderNodeExpr = ViewProperties.renderer.callMethod('createElement', [this._getParentRenderNode(parent), literal(ast.name), debugContextExpr]);
+ createRenderNodeExpr =
+ importExpr(resolveIdentifier(Identifiers.createRenderElement)).callFn([
+ ViewProperties.renderer, this._getParentRenderNode(parent), literal(ast.name),
+ attrNameAndValues, debugContextExpr
+ ]);
}
}
var fieldName = "_el_" + nodeIndex;
this.view.fields.push(new ClassField(fieldName, importType(this.view.genConfig.renderTypes.renderElement)));
this.view.createMethod.addStmt(THIS_EXPR.prop(fieldName).set(createRenderNodeExpr).toStmt());
var renderNode = THIS_EXPR.prop(fieldName);
- var directives = ast.directives.map(function (directiveAst) { return directiveAst.directive; });
- var component = directives.find(function (directive) { return directive.isComponent; });
- var htmlAttrs = _readHtmlAttrs(ast.attrs);
- var attrNameAndValues = _mergeHtmlAndDirectiveAttrs(htmlAttrs, directives);
- for (var i = 0; i < attrNameAndValues.length; i++) {
- var attrName = attrNameAndValues[i][0];
- if (ast.name !== NG_CONTAINER_TAG) {
- // are not rendered in the DOM
- var attrValue = attrNameAndValues[i][1];
- this.view.createMethod.addStmt(ViewProperties.renderer
- .callMethod('setElementAttribute', [renderNode, literal(attrName), literal(attrValue)])
- .toStmt());
- }
- }
- var compileElement = new CompileElement(parent, this.view, nodeIndex, renderNode, ast, component, directives, ast.providers, ast.hasViewContainer, false, ast.references);
+ var compileElement = new CompileElement(parent, this.view, nodeIndex, renderNode, ast, component, directives, ast.providers, ast.hasViewContainer, false, ast.references, this.targetDependencies);
this.view.nodes.push(compileElement);
var compViewExpr = null;
if (isPresent(component)) {
- var nestedComponentIdentifier = new CompileIdentifierMetadata({ name: getViewFactoryName(component, 0) });
- this.targetDependencies.push(new ViewFactoryDependency(component.type, nestedComponentIdentifier));
- var entryComponentIdentifiers = component.entryComponents.map(function (entryComponent) {
- var id = new CompileIdentifierMetadata({ name: entryComponent.name });
- _this.targetDependencies.push(new ComponentFactoryDependency(entryComponent, id));
- return id;
- });
- compileElement.createComponentFactoryResolver(entryComponentIdentifiers);
- compViewExpr = variable("compView_" + nodeIndex); // fix highlighting: `
+ var nestedComponentIdentifier = new CompileIdentifierMetadata({ name: getViewClassName(component, 0) });
+ this.targetDependencies.push(new ViewClassDependency(component.type, nestedComponentIdentifier));
+ compViewExpr = THIS_EXPR.prop("compView_" + nodeIndex); // fix highlighting: `
+ this.view.fields.push(new ClassField(compViewExpr.name, importType(resolveIdentifier(Identifiers.AppView), [importType(component.type)])));
+ this.view.viewChildren.push(compViewExpr);
compileElement.setComponentView(compViewExpr);
this.view.createMethod.addStmt(compViewExpr
- .set(importExpr(nestedComponentIdentifier).callFn([
- ViewProperties.viewUtils, compileElement.injector, compileElement.appElement
+ .set(importExpr(nestedComponentIdentifier).instantiate([
+ ViewProperties.viewUtils, THIS_EXPR, literal(nodeIndex), renderNode
]))
- .toDeclStmt());
+ .toStmt());
}
compileElement.beforeChildren();
this._addRootNodeAndProject(compileElement);
templateVisitAll(this, ast.children, compileElement);
compileElement.afterChildren(this.view.nodes.length - nodeIndex - 1);
if (isPresent(compViewExpr)) {
- var codeGenContentNodes;
- if (this.view.component.type.isHost) {
- codeGenContentNodes = ViewProperties.projectableNodes;
- }
- else {
- codeGenContentNodes = literalArr(compileElement.contentNodesByNgContentIndex.map(function (nodes) { return createFlatArray(nodes); }));
- }
- this.view.createMethod.addStmt(compViewExpr
- .callMethod('create', [compileElement.getComponent(), codeGenContentNodes, NULL_EXPR])
- .toStmt());
+ this.view.createMethod.addStmt(compViewExpr.callMethod('create', [compileElement.getComponent()]).toStmt());
}
return null;
};
@@ -21815,7 +21712,7 @@
var renderNode = THIS_EXPR.prop(fieldName);
var templateVariableBindings = ast.variables.map(function (varAst) { return [varAst.value.length > 0 ? varAst.value : IMPLICIT_TEMPLATE_VAR, varAst.name]; });
var directives = ast.directives.map(function (directiveAst) { return directiveAst.directive; });
- var compileElement = new CompileElement(parent, this.view, nodeIndex, renderNode, ast, null, directives, ast.providers, ast.hasViewContainer, true, ast.references);
+ var compileElement = new CompileElement(parent, this.view, nodeIndex, renderNode, ast, null, directives, ast.providers, ast.hasViewContainer, true, ast.references, this.targetDependencies);
this.view.nodes.push(compileElement);
this.nestedViewCount++;
var embeddedView = new CompileView(this.view.component, this.view.genConfig, this.view.pipeMetas, NULL_EXPR, this.view.animations, this.view.viewIndex + this.nestedViewCount, compileElement, templateVariableBindings);
@@ -21869,16 +21766,20 @@
node.view === view;
}
function _mergeHtmlAndDirectiveAttrs(declaredHtmlAttrs, directives) {
- var result = {};
- Object.keys(declaredHtmlAttrs).forEach(function (key) { result[key] = declaredHtmlAttrs[key]; });
+ var mapResult = {};
+ Object.keys(declaredHtmlAttrs).forEach(function (key) { mapResult[key] = declaredHtmlAttrs[key]; });
directives.forEach(function (directiveMeta) {
Object.keys(directiveMeta.hostAttributes).forEach(function (name) {
var value = directiveMeta.hostAttributes[name];
- var prevValue = result[name];
- result[name] = isPresent(prevValue) ? mergeAttributeValue(name, prevValue, value) : value;
+ var prevValue = mapResult[name];
+ mapResult[name] = isPresent(prevValue) ? mergeAttributeValue(name, prevValue, value) : value;
});
});
- return mapToKeyValueArray(result);
+ var arrResult = [];
+ // Note: We need to sort to get a defined output order
+ // for tests and for caching generated artifacts...
+ Object.keys(mapResult).sort().forEach(function (attrName) { arrResult.push(attrName, mapResult[attrName]); });
+ return arrResult;
}
function _readHtmlAttrs(attrs) {
var htmlAttrs = {};
@@ -21893,14 +21794,6 @@
return attrValue2;
}
}
- function mapToKeyValueArray(data) {
- var entryArray = [];
- Object.keys(data).forEach(function (name) { entryArray.push([name, data[name]]); });
- // We need to sort to get a defined output order
- // for tests and for caching generated artifacts...
- ListWrapper.sort(entryArray);
- return entryArray;
- }
function createViewTopLevelStmts(view, targetStatements) {
var nodeDebugInfosVar = NULL_EXPR;
if (view.genConfig.genDebugInfo) {
@@ -21911,12 +21804,26 @@
}
var renderCompTypeVar = variable("renderType_" + view.component.type.name); // fix highlighting: `
if (view.viewIndex === 0) {
- targetStatements.push(renderCompTypeVar.set(NULL_EXPR)
+ var templateUrlInfo = void 0;
+ if (view.component.template.templateUrl == view.component.type.moduleUrl) {
+ templateUrlInfo =
+ view.component.type.moduleUrl + " class " + view.component.type.name + " - inline template";
+ }
+ else {
+ templateUrlInfo = view.component.template.templateUrl;
+ }
+ targetStatements.push(renderCompTypeVar
+ .set(importExpr(resolveIdentifier(Identifiers.createRenderComponentType)).callFn([
+ view.genConfig.genDebugInfo ? literal(templateUrlInfo) : literal(''),
+ literal(view.component.template.ngContentSelectors.length),
+ ViewEncapsulationEnum.fromValue(view.component.template.encapsulation),
+ view.styles,
+ literalMap(view.animations.map(function (entry) { return [entry.name, entry.fnExp]; })),
+ ]))
.toDeclStmt(importType(resolveIdentifier(Identifiers.RenderComponentType))));
}
var viewClass = createViewClass(view, renderCompTypeVar, nodeDebugInfosVar);
targetStatements.push(viewClass);
- targetStatements.push(createViewFactory(view, viewClass, renderCompTypeVar));
}
function createStaticNodeDebugInfo(node) {
var compileElement = node instanceof CompileElement ? node : null;
@@ -21943,21 +21850,25 @@
function createViewClass(view, renderCompTypeVar, nodeDebugInfosVar) {
var viewConstructorArgs = [
new FnParam(ViewConstructorVars.viewUtils.name, importType(resolveIdentifier(Identifiers.ViewUtils))),
- new FnParam(ViewConstructorVars.parentInjector.name, importType(resolveIdentifier(Identifiers.Injector))),
- new FnParam(ViewConstructorVars.declarationEl.name, importType(resolveIdentifier(Identifiers.AppElement)))
+ new FnParam(ViewConstructorVars.parentView.name, importType(resolveIdentifier(Identifiers.AppView), [DYNAMIC_TYPE])),
+ new FnParam(ViewConstructorVars.parentIndex.name, NUMBER_TYPE),
+ new FnParam(ViewConstructorVars.parentElement.name, DYNAMIC_TYPE)
];
var superConstructorArgs = [
variable(view.className), renderCompTypeVar, ViewTypeEnum.fromValue(view.viewType),
- ViewConstructorVars.viewUtils, ViewConstructorVars.parentInjector,
- ViewConstructorVars.declarationEl,
+ ViewConstructorVars.viewUtils, ViewConstructorVars.parentView, ViewConstructorVars.parentIndex,
+ ViewConstructorVars.parentElement,
ChangeDetectorStatusEnum.fromValue(getChangeDetectionMode(view))
];
if (view.genConfig.genDebugInfo) {
superConstructorArgs.push(nodeDebugInfosVar);
}
- var viewConstructor = new ClassMethod(null, viewConstructorArgs, [SUPER_EXPR.callFn(superConstructorArgs).toStmt()]);
+ if (view.viewType === ViewType.EMBEDDED) {
+ viewConstructorArgs.push(new FnParam('declaredViewContainer', importType(resolveIdentifier(Identifiers.ViewContainer))));
+ superConstructorArgs.push(variable('declaredViewContainer'));
+ }
var viewMethods = [
- new ClassMethod('createInternal', [new FnParam(rootSelectorVar.name, STRING_TYPE)], generateCreateMethod(view), importType(resolveIdentifier(Identifiers.AppElement))),
+ new ClassMethod('createInternal', [new FnParam(rootSelectorVar.name, STRING_TYPE)], generateCreateMethod(view), importType(resolveIdentifier(Identifiers.ComponentRef), [DYNAMIC_TYPE])),
new ClassMethod('injectorGetInternal', [
new FnParam(InjectMethodVars.token.name, DYNAMIC_TYPE),
// Note: Can't use o.INT_TYPE here as the method in AppView uses number
@@ -21966,72 +21877,60 @@
], addReturnValuefNotEmpty(view.injectorGetMethod.finish(), InjectMethodVars.notFoundResult), DYNAMIC_TYPE),
new ClassMethod('detectChangesInternal', [new FnParam(DetectChangesVars.throwOnChange.name, BOOL_TYPE)], generateDetectChangesMethod(view)),
new ClassMethod('dirtyParentQueriesInternal', [], view.dirtyParentQueriesMethod.finish()),
- new ClassMethod('destroyInternal', [], view.destroyMethod.finish()),
- new ClassMethod('detachInternal', [], view.detachMethod.finish())
- ].concat(view.eventHandlerMethods);
+ new ClassMethod('destroyInternal', [], generateDestroyMethod(view)),
+ new ClassMethod('detachInternal', [], view.detachMethod.finish()),
+ generateVisitRootNodesMethod(view), generateVisitProjectableNodesMethod(view),
+ generateCreateEmbeddedViewsMethod(view)
+ ].filter(function (method) { return method.body.length > 0; });
var superClass = view.genConfig.genDebugInfo ? Identifiers.DebugAppView : Identifiers.AppView;
- var viewClass = new ClassStmt(view.className, importExpr(resolveIdentifier(superClass), [getContextType(view)]), view.fields, view.getters, viewConstructor, viewMethods.filter(function (method) { return method.body.length > 0; }));
+ var viewClass = createClassStmt({
+ name: view.className,
+ parent: importExpr(resolveIdentifier(superClass), [getContextType(view)]),
+ parentArgs: superConstructorArgs,
+ ctorParams: viewConstructorArgs,
+ builders: [{ methods: viewMethods }, view]
+ });
return viewClass;
}
- function createViewFactory(view, viewClass, renderCompTypeVar) {
- var viewFactoryArgs = [
- new FnParam(ViewConstructorVars.viewUtils.name, importType(resolveIdentifier(Identifiers.ViewUtils))),
- new FnParam(ViewConstructorVars.parentInjector.name, importType(resolveIdentifier(Identifiers.Injector))),
- new FnParam(ViewConstructorVars.declarationEl.name, importType(resolveIdentifier(Identifiers.AppElement)))
- ];
- var initRenderCompTypeStmts = [];
- var templateUrlInfo;
- if (view.component.template.templateUrl == view.component.type.moduleUrl) {
- templateUrlInfo =
- view.component.type.moduleUrl + " class " + view.component.type.name + " - inline template";
- }
- else {
- templateUrlInfo = view.component.template.templateUrl;
- }
- if (view.viewIndex === 0) {
- var animationsExpr = literalMap(view.animations.map(function (entry) { return [entry.name, entry.fnExp]; }));
- initRenderCompTypeStmts = [
- new IfStmt(renderCompTypeVar.identical(NULL_EXPR), [
- renderCompTypeVar
- .set(ViewConstructorVars.viewUtils.callMethod('createRenderComponentType', [
- view.genConfig.genDebugInfo ? literal(templateUrlInfo) : literal(''),
- literal(view.component.template.ngContentSelectors.length),
- ViewEncapsulationEnum.fromValue(view.component.template.encapsulation),
- view.styles,
- animationsExpr,
- ]))
- .toStmt(),
- ]),
- ];
- }
- return fn(viewFactoryArgs, initRenderCompTypeStmts.concat([
- new ReturnStatement(variable(viewClass.name)
- .instantiate(viewClass.constructorMethod.params.map(function (param) { return variable(param.name); }))),
- ]), importType(resolveIdentifier(Identifiers.AppView), [getContextType(view)]))
- .toDeclStmt(view.viewFactory.name, [StmtModifier.Final]);
+ function generateDestroyMethod(view) {
+ var stmts = [];
+ view.viewContainers.forEach(function (viewContainer) {
+ stmts.push(viewContainer.callMethod('destroyNestedViews', []).toStmt());
+ });
+ view.viewChildren.forEach(function (viewChild) { stmts.push(viewChild.callMethod('destroy', []).toStmt()); });
+ stmts.push.apply(stmts, view.destroyMethod.finish());
+ return stmts;
}
function generateCreateMethod(view) {
var parentRenderNodeExpr = NULL_EXPR;
var parentRenderNodeStmts = [];
if (view.viewType === ViewType.COMPONENT) {
- parentRenderNodeExpr = ViewProperties.renderer.callMethod('createViewRoot', [THIS_EXPR.prop('declarationAppElement').prop('nativeElement')]);
+ parentRenderNodeExpr =
+ ViewProperties.renderer.callMethod('createViewRoot', [THIS_EXPR.prop('parentElement')]);
parentRenderNodeStmts =
[parentRenderNodeVar.set(parentRenderNodeExpr)
.toDeclStmt(importType(view.genConfig.renderTypes.renderNode), [StmtModifier.Final])];
}
var resultExpr;
if (view.viewType === ViewType.HOST) {
- resultExpr = view.nodes[0].appElement;
+ var hostEl = view.nodes[0];
+ resultExpr =
+ importExpr(resolveIdentifier(Identifiers.ComponentRef_), [DYNAMIC_TYPE]).instantiate([
+ literal(hostEl.nodeIndex), THIS_EXPR, hostEl.renderNode, hostEl.getComponent()
+ ]);
}
else {
resultExpr = NULL_EXPR;
}
+ var allNodesExpr = ViewProperties.renderer.cast(DYNAMIC_TYPE)
+ .prop('directRenderer')
+ .conditional(NULL_EXPR, literalArr(view.nodes.map(function (node) { return node.renderNode; })));
return parentRenderNodeStmts.concat(view.createMethod.finish(), [
THIS_EXPR
.callMethod('init', [
- createFlatArray(view.rootNodesOrAppElements),
- literalArr(view.nodes.map(function (node) { return node.renderNode; })), literalArr(view.disposables),
- literalArr(view.subscriptions)
+ view.lastRenderNode,
+ allNodesExpr,
+ view.disposables.length ? literalArr(view.disposables) : NULL_EXPR,
])
.toStmt(),
new ReturnStatement(resultExpr)
@@ -22043,20 +21942,24 @@
view.updateContentQueriesMethod.isEmpty() &&
view.afterContentLifecycleCallbacksMethod.isEmpty() &&
view.detectChangesRenderPropertiesMethod.isEmpty() &&
- view.updateViewQueriesMethod.isEmpty() && view.afterViewLifecycleCallbacksMethod.isEmpty()) {
+ view.updateViewQueriesMethod.isEmpty() && view.afterViewLifecycleCallbacksMethod.isEmpty() &&
+ view.viewContainers.length === 0 && view.viewChildren.length === 0) {
return stmts;
}
- ListWrapper.addAll(stmts, view.animationBindingsMethod.finish());
- ListWrapper.addAll(stmts, view.detectChangesInInputsMethod.finish());
- stmts.push(THIS_EXPR.callMethod('detectContentChildrenChanges', [DetectChangesVars.throwOnChange])
- .toStmt());
+ stmts.push.apply(stmts, view.animationBindingsMethod.finish());
+ stmts.push.apply(stmts, view.detectChangesInInputsMethod.finish());
+ view.viewContainers.forEach(function (viewContainer) {
+ stmts.push(viewContainer.callMethod('detectChangesInNestedViews', [DetectChangesVars.throwOnChange])
+ .toStmt());
+ });
var afterContentStmts = view.updateContentQueriesMethod.finish().concat(view.afterContentLifecycleCallbacksMethod.finish());
if (afterContentStmts.length > 0) {
stmts.push(new IfStmt(not(DetectChangesVars.throwOnChange), afterContentStmts));
}
- ListWrapper.addAll(stmts, view.detectChangesRenderPropertiesMethod.finish());
- stmts.push(THIS_EXPR.callMethod('detectViewChildrenChanges', [DetectChangesVars.throwOnChange])
- .toStmt());
+ stmts.push.apply(stmts, view.detectChangesRenderPropertiesMethod.finish());
+ view.viewChildren.forEach(function (viewChild) {
+ stmts.push(viewChild.callMethod('detectChanges', [DetectChangesVars.throwOnChange]).toStmt());
+ });
var afterViewStmts = view.updateViewQueriesMethod.finish().concat(view.afterViewLifecycleCallbacksMethod.finish());
if (afterViewStmts.length > 0) {
stmts.push(new IfStmt(not(DetectChangesVars.throwOnChange), afterViewStmts));
@@ -22070,11 +21973,7 @@
varStmts.push(DetectChangesVars.changes.set(NULL_EXPR)
.toDeclStmt(new MapType(importType(resolveIdentifier(Identifiers.SimpleChange)))));
}
- if (readVars.has(DetectChangesVars.valUnwrapper.name)) {
- varStmts.push(DetectChangesVars.valUnwrapper
- .set(importExpr(resolveIdentifier(Identifiers.ValueUnwrapper)).instantiate([]))
- .toDeclStmt(null, [StmtModifier.Final]));
- }
+ varStmts.push.apply(varStmts, createSharedBindingVariablesIfNeeded(stmts));
return varStmts.concat(stmts);
}
function addReturnValuefNotEmpty(statements, value) {
@@ -22103,19 +22002,83 @@
}
return mode;
}
+ function generateVisitRootNodesMethod(view) {
+ var cbVar = variable('cb');
+ var ctxVar = variable('ctx');
+ var stmts = generateVisitNodesStmts(view.rootNodes, cbVar, ctxVar);
+ return new ClassMethod('visitRootNodesInternal', [new FnParam(cbVar.name, DYNAMIC_TYPE), new FnParam(ctxVar.name, DYNAMIC_TYPE)], stmts);
+ }
+ function generateVisitProjectableNodesMethod(view) {
+ var nodeIndexVar = variable('nodeIndex');
+ var ngContentIndexVar = variable('ngContentIndex');
+ var cbVar = variable('cb');
+ var ctxVar = variable('ctx');
+ var stmts = [];
+ view.nodes.forEach(function (node) {
+ if (node instanceof CompileElement && node.component) {
+ node.contentNodesByNgContentIndex.forEach(function (projectedNodes, ngContentIndex) {
+ stmts.push(new IfStmt(nodeIndexVar.equals(literal(node.nodeIndex))
+ .and(ngContentIndexVar.equals(literal(ngContentIndex))), generateVisitNodesStmts(projectedNodes, cbVar, ctxVar)));
+ });
+ }
+ });
+ return new ClassMethod('visitProjectableNodesInternal', [
+ new FnParam(nodeIndexVar.name, NUMBER_TYPE),
+ new FnParam(ngContentIndexVar.name, NUMBER_TYPE),
+ new FnParam(cbVar.name, DYNAMIC_TYPE), new FnParam(ctxVar.name, DYNAMIC_TYPE)
+ ], stmts);
+ }
+ function generateVisitNodesStmts(nodes, cb, ctx) {
+ var stmts = [];
+ nodes.forEach(function (node) {
+ switch (node.type) {
+ case CompileViewRootNodeType.Node:
+ stmts.push(cb.callFn([node.expr, ctx]).toStmt());
+ break;
+ case CompileViewRootNodeType.ViewContainer:
+ stmts.push(cb.callFn([node.expr.prop('nativeElement'), ctx]).toStmt());
+ stmts.push(node.expr.callMethod('visitNestedViewRootNodes', [cb, ctx]).toStmt());
+ break;
+ case CompileViewRootNodeType.NgContent:
+ stmts.push(THIS_EXPR.callMethod('visitProjectedNodes', [literal(node.ngContentIndex), cb, ctx])
+ .toStmt());
+ break;
+ }
+ });
+ return stmts;
+ }
+ function generateCreateEmbeddedViewsMethod(view) {
+ var nodeIndexVar = variable('nodeIndex');
+ var stmts = [];
+ view.nodes.forEach(function (node) {
+ if (node instanceof CompileElement) {
+ if (node.embeddedView) {
+ var parentNodeIndex = node.isRootElement() ? null : node.parent.nodeIndex;
+ stmts.push(new IfStmt(nodeIndexVar.equals(literal(node.nodeIndex)), [new ReturnStatement(node.embeddedView.classExpr.instantiate([
+ ViewProperties.viewUtils, THIS_EXPR, literal(node.nodeIndex), node.renderNode,
+ node.viewContainer
+ ]))]));
+ }
+ }
+ });
+ if (stmts.length > 0) {
+ stmts.push(new ReturnStatement(NULL_EXPR));
+ }
+ return new ClassMethod('createEmbeddedViewInternal', [new FnParam(nodeIndexVar.name, NUMBER_TYPE)], stmts, importType(resolveIdentifier(Identifiers.AppView), [DYNAMIC_TYPE]));
+ }
var ViewCompileResult = (function () {
- function ViewCompileResult(statements, viewFactoryVar, dependencies) {
+ function ViewCompileResult(statements, viewClassVar, dependencies) {
this.statements = statements;
- this.viewFactoryVar = viewFactoryVar;
+ this.viewClassVar = viewClassVar;
this.dependencies = dependencies;
}
return ViewCompileResult;
}());
var ViewCompiler = (function () {
- function ViewCompiler(_genConfig) {
+ function ViewCompiler(_genConfig, _schemaRegistry) {
this._genConfig = _genConfig;
- this._animationCompiler = new AnimationCompiler();
+ this._schemaRegistry = _schemaRegistry;
}
ViewCompiler.prototype.compileComponent = function (component, template, styles, pipes, compiledAnimations) {
var dependencies = [];
@@ -22124,9 +22087,9 @@
buildView(view, template, dependencies);
// Need to separate binding from creation to be able to refer to
// variables that have been declared after usage.
- bindView(view, template);
+ bindView(view, template, this._schemaRegistry);
finishView(view, statements);
- return new ViewCompileResult(statements, view.viewFactory.name, dependencies);
+ return new ViewCompileResult(statements, view.classExpr.name, dependencies);
};
ViewCompiler.decorators = [
{ type: _angular_core.Injectable },
@@ -22134,95 +22097,136 @@
/** @nocollapse */
ViewCompiler.ctorParameters = [
{ type: CompilerConfig, },
+ { type: ElementSchemaRegistry, },
];
return ViewCompiler;
}());
var SourceModule = (function () {
- function SourceModule(moduleUrl, source) {
+ function SourceModule(fileUrl, moduleUrl, source) {
+ this.fileUrl = fileUrl;
this.moduleUrl = moduleUrl;
this.source = source;
}
return SourceModule;
}());
- var NgModulesSummary = (function () {
- function NgModulesSummary(ngModuleByComponent, ngModules) {
- this.ngModuleByComponent = ngModuleByComponent;
- this.ngModules = ngModules;
+ // Returns all the source files and a mapping from modules to directives
+ function analyzeNgModules(programStaticSymbols, options, metadataResolver) {
+ var _a = _createNgModules(programStaticSymbols, options, metadataResolver), ngModules = _a.ngModules, symbolsMissingModule = _a.symbolsMissingModule;
+ return _analyzeNgModules(ngModules, symbolsMissingModule);
+ }
+ function analyzeAndValidateNgModules(programStaticSymbols, options, metadataResolver) {
+ var result = analyzeNgModules(programStaticSymbols, options, metadataResolver);
+ if (result.symbolsMissingModule && result.symbolsMissingModule.length) {
+ var messages = result.symbolsMissingModule.map(function (s) { return ("Cannot determine the module for class " + s.name + " in " + s.filePath + "!"); });
+ throw new Error(messages.join('\n'));
}
- return NgModulesSummary;
- }());
- function analyzeModules(ngModules, metadataResolver) {
- var ngModuleByComponent = new Map();
- var modules = [];
- ngModules.forEach(function (ngModule) {
- var ngModuleMeta = metadataResolver.getNgModuleMetadata(ngModule);
- modules.push(ngModuleMeta);
- ngModuleMeta.declaredDirectives.forEach(function (dirMeta) {
- if (dirMeta.isComponent) {
- ngModuleByComponent.set(dirMeta.type.reference, ngModuleMeta);
- }
+ return result;
+ }
+ // Wait for the directives in the given modules have been loaded
+ function loadNgModuleDirectives(ngModules) {
+ return Promise
+ .all(ListWrapper.flatten(ngModules.map(function (ngModule) { return ngModule.transitiveModule.directiveLoaders.map(function (loader) { return loader(); }); })))
+ .then(function () { });
+ }
+ function _analyzeNgModules(ngModuleMetas, symbolsMissingModule) {
+ var moduleMetasByRef = new Map();
+ ngModuleMetas.forEach(function (ngModule) { return moduleMetasByRef.set(ngModule.type.reference, ngModule); });
+ var ngModuleByPipeOrDirective = new Map();
+ var ngModulesByFile = new Map();
+ var ngDirectivesByFile = new Map();
+ var filePaths = new Set();
+ // Looping over all modules to construct:
+ // - a map from file to modules `ngModulesByFile`,
+ // - a map from file to directives `ngDirectivesByFile`,
+ // - a map from directive/pipe to module `ngModuleByPipeOrDirective`.
+ ngModuleMetas.forEach(function (ngModuleMeta) {
+ var srcFileUrl = ngModuleMeta.type.reference.filePath;
+ filePaths.add(srcFileUrl);
+ ngModulesByFile.set(srcFileUrl, (ngModulesByFile.get(srcFileUrl) || []).concat(ngModuleMeta.type.reference));
+ ngModuleMeta.declaredDirectives.forEach(function (dirIdentifier) {
+ var fileUrl = dirIdentifier.reference.filePath;
+ filePaths.add(fileUrl);
+ ngDirectivesByFile.set(fileUrl, (ngDirectivesByFile.get(fileUrl) || []).concat(dirIdentifier.reference));
+ ngModuleByPipeOrDirective.set(dirIdentifier.reference, ngModuleMeta);
+ });
+ ngModuleMeta.declaredPipes.forEach(function (pipeIdentifier) {
+ var fileUrl = pipeIdentifier.reference.filePath;
+ filePaths.add(fileUrl);
+ ngModuleByPipeOrDirective.set(pipeIdentifier.reference, ngModuleMeta);
});
});
- return new NgModulesSummary(ngModuleByComponent, modules);
+ var files = [];
+ filePaths.forEach(function (srcUrl) {
+ var directives = ngDirectivesByFile.get(srcUrl) || [];
+ var ngModules = ngModulesByFile.get(srcUrl) || [];
+ files.push({ srcUrl: srcUrl, directives: directives, ngModules: ngModules });
+ });
+ return {
+ // map directive/pipe to module
+ ngModuleByPipeOrDirective: ngModuleByPipeOrDirective,
+ // list modules and directives for every source file
+ files: files,
+ ngModules: ngModuleMetas, symbolsMissingModule: symbolsMissingModule
+ };
}
var OfflineCompiler = (function () {
- function OfflineCompiler(_metadataResolver, _directiveNormalizer, _templateParser, _styleCompiler, _viewCompiler, _ngModuleCompiler, _outputEmitter, _localeId, _translationFormat) {
+ function OfflineCompiler(_metadataResolver, _templateParser, _styleCompiler, _viewCompiler, _dirWrapperCompiler, _ngModuleCompiler, _outputEmitter, _localeId, _translationFormat, _animationParser) {
this._metadataResolver = _metadataResolver;
- this._directiveNormalizer = _directiveNormalizer;
this._templateParser = _templateParser;
this._styleCompiler = _styleCompiler;
this._viewCompiler = _viewCompiler;
+ this._dirWrapperCompiler = _dirWrapperCompiler;
this._ngModuleCompiler = _ngModuleCompiler;
this._outputEmitter = _outputEmitter;
this._localeId = _localeId;
this._translationFormat = _translationFormat;
- this._animationParser = new AnimationParser();
+ this._animationParser = _animationParser;
this._animationCompiler = new AnimationCompiler();
}
- OfflineCompiler.prototype.analyzeModules = function (ngModules) {
- return analyzeModules(ngModules, this._metadataResolver);
- };
- OfflineCompiler.prototype.clearCache = function () {
- this._directiveNormalizer.clearCache();
- this._metadataResolver.clearCache();
- };
- OfflineCompiler.prototype.compile = function (moduleUrl, ngModulesSummary, components, ngModules) {
+ OfflineCompiler.prototype.clearCache = function () { this._metadataResolver.clearCache(); };
+ OfflineCompiler.prototype.compileModules = function (staticSymbols, options) {
var _this = this;
- var fileSuffix = _splitTypescriptSuffix(moduleUrl)[1];
+ var _a = analyzeAndValidateNgModules(staticSymbols, options, this._metadataResolver), ngModuleByPipeOrDirective = _a.ngModuleByPipeOrDirective, files = _a.files, ngModules = _a.ngModules;
+ return loadNgModuleDirectives(ngModules).then(function () {
+ var sourceModules = files.map(function (file) { return _this._compileSrcFile(file.srcUrl, ngModuleByPipeOrDirective, file.directives, file.ngModules); });
+ return ListWrapper.flatten(sourceModules);
+ });
+ };
+ OfflineCompiler.prototype._compileSrcFile = function (srcFileUrl, ngModuleByPipeOrDirective, directives, ngModules) {
+ var _this = this;
+ var fileSuffix = _splitTypescriptSuffix(srcFileUrl)[1];
var statements = [];
var exportedVars = [];
var outputSourceModules = [];
// compile all ng modules
exportedVars.push.apply(exportedVars, ngModules.map(function (ngModuleType) { return _this._compileModule(ngModuleType, statements); }));
+ // compile directive wrappers
+ exportedVars.push.apply(exportedVars, directives.map(function (directiveType) { return _this._compileDirectiveWrapper(directiveType, statements); }));
// compile components
- return Promise
- .all(components.map(function (compType) {
- var compMeta = _this._metadataResolver.getDirectiveMetadata(compType);
- var ngModule = ngModulesSummary.ngModuleByComponent.get(compType);
+ directives.forEach(function (dirType) {
+ var compMeta = _this._metadataResolver.getDirectiveMetadata(dirType);
+ if (!compMeta.isComponent) {
+ return Promise.resolve(null);
+ }
+ var ngModule = ngModuleByPipeOrDirective.get(dirType);
if (!ngModule) {
- throw new Error("Cannot determine the module for component " + compMeta.type.name + "!");
+ throw new Error("Internal Error: cannot determine the module for component " + compMeta.type.name + "!");
}
- return Promise
- .all([compMeta].concat(ngModule.transitiveModule.directives).map(function (dirMeta) { return _this._directiveNormalizer.normalizeDirective(dirMeta).asyncResult; }))
- .then(function (normalizedCompWithDirectives) {
- var compMeta = normalizedCompWithDirectives[0], dirMetas = normalizedCompWithDirectives.slice(1);
- _assertComponent(compMeta);
- // compile styles
- var stylesCompileResults = _this._styleCompiler.compileComponent(compMeta);
- stylesCompileResults.externalStylesheets.forEach(function (compiledStyleSheet) {
- outputSourceModules.push(_this._codgenStyles(compiledStyleSheet, fileSuffix));
- });
- // compile components
- exportedVars.push(_this._compileComponentFactory(compMeta, fileSuffix, statements), _this._compileComponent(compMeta, dirMetas, ngModule.transitiveModule.pipes, ngModule.schemas, stylesCompileResults.componentStylesheet, fileSuffix, statements));
+ _assertComponent(compMeta);
+ // compile styles
+ var stylesCompileResults = _this._styleCompiler.compileComponent(compMeta);
+ stylesCompileResults.externalStylesheets.forEach(function (compiledStyleSheet) {
+ outputSourceModules.push(_this._codgenStyles(srcFileUrl, compiledStyleSheet, fileSuffix));
});
- }))
- .then(function () {
- if (statements.length > 0) {
- outputSourceModules.unshift(_this._codegenSourceModule(_ngfactoryModuleUrl(moduleUrl), statements, exportedVars));
- }
- return outputSourceModules;
+ // compile components
+ exportedVars.push(_this._compileComponentFactory(compMeta, ngModule, fileSuffix, statements), _this._compileComponent(compMeta, ngModule, ngModule.transitiveModule.directives, stylesCompileResults.componentStylesheet, fileSuffix, statements));
});
+ if (statements.length > 0) {
+ var srcModule = this._codegenSourceModule(srcFileUrl, _ngfactoryModuleUrl(srcFileUrl), statements, exportedVars);
+ outputSourceModules.unshift(srcModule);
+ }
+ return outputSourceModules;
};
OfflineCompiler.prototype._compileModule = function (ngModuleType, targetStatements) {
var ngModule = this._metadataResolver.getNgModuleMetadata(ngModuleType);
@@ -22247,9 +22251,15 @@
targetStatements.push.apply(targetStatements, appCompileResult.statements);
return appCompileResult.ngModuleFactoryVar;
};
- OfflineCompiler.prototype._compileComponentFactory = function (compMeta, fileSuffix, targetStatements) {
+ OfflineCompiler.prototype._compileDirectiveWrapper = function (directiveType, targetStatements) {
+ var dirMeta = this._metadataResolver.getDirectiveMetadata(directiveType);
+ var dirCompileResult = this._dirWrapperCompiler.compile(dirMeta);
+ targetStatements.push.apply(targetStatements, dirCompileResult.statements);
+ return dirCompileResult.dirWrapperClassVar;
+ };
+ OfflineCompiler.prototype._compileComponentFactory = function (compMeta, ngModule, fileSuffix, targetStatements) {
var hostMeta = createHostComponentMeta(compMeta);
- var hostViewFactoryVar = this._compileComponent(hostMeta, [compMeta], [], [], null, fileSuffix, targetStatements);
+ var hostViewFactoryVar = this._compileComponent(hostMeta, ngModule, [compMeta.type], null, fileSuffix, targetStatements);
var compFactoryVar = _componentFactoryName(compMeta.type);
targetStatements.push(variable(compFactoryVar)
.set(importExpr(resolveIdentifier(Identifiers.ComponentFactory), [importType(compMeta.type)])
@@ -22261,31 +22271,34 @@
.toDeclStmt(null, [StmtModifier.Final]));
return compFactoryVar;
};
- OfflineCompiler.prototype._compileComponent = function (compMeta, directives, pipes, schemas, componentStyles, fileSuffix, targetStatements) {
+ OfflineCompiler.prototype._compileComponent = function (compMeta, ngModule, directiveIdentifiers, componentStyles, fileSuffix, targetStatements) {
+ var _this = this;
var parsedAnimations = this._animationParser.parseComponent(compMeta);
- var parsedTemplate = this._templateParser.parse(compMeta, compMeta.template.template, directives, pipes, schemas, compMeta.type.name);
+ var directives = directiveIdentifiers.map(function (dir) { return _this._metadataResolver.getDirectiveSummary(dir.reference); });
+ var pipes = ngModule.transitiveModule.pipes.map(function (pipe) { return _this._metadataResolver.getPipeSummary(pipe.reference); });
+ var parsedTemplate = this._templateParser.parse(compMeta, compMeta.template.template, directives, pipes, ngModule.schemas, compMeta.type.name);
var stylesExpr = componentStyles ? variable(componentStyles.stylesVar) : literalArr([]);
var compiledAnimations = this._animationCompiler.compile(compMeta.type.name, parsedAnimations);
var viewResult = this._viewCompiler.compileComponent(compMeta, parsedTemplate, stylesExpr, pipes, compiledAnimations);
if (componentStyles) {
targetStatements.push.apply(targetStatements, _resolveStyleStatements(componentStyles, fileSuffix));
}
- compiledAnimations.forEach(function (entry) { entry.statements.forEach(function (statement) { targetStatements.push(statement); }); });
+ compiledAnimations.forEach(function (entry) { return targetStatements.push.apply(targetStatements, entry.statements); });
targetStatements.push.apply(targetStatements, _resolveViewStatements(viewResult));
- return viewResult.viewFactoryVar;
+ return viewResult.viewClassVar;
};
- OfflineCompiler.prototype._codgenStyles = function (stylesCompileResult, fileSuffix) {
+ OfflineCompiler.prototype._codgenStyles = function (fileUrl, stylesCompileResult, fileSuffix) {
_resolveStyleStatements(stylesCompileResult, fileSuffix);
- return this._codegenSourceModule(_stylesModuleUrl(stylesCompileResult.meta.moduleUrl, stylesCompileResult.isShimmed, fileSuffix), stylesCompileResult.statements, [stylesCompileResult.stylesVar]);
+ return this._codegenSourceModule(fileUrl, _stylesModuleUrl(stylesCompileResult.meta.moduleUrl, stylesCompileResult.isShimmed, fileSuffix), stylesCompileResult.statements, [stylesCompileResult.stylesVar]);
};
- OfflineCompiler.prototype._codegenSourceModule = function (moduleUrl, statements, exportedVars) {
- return new SourceModule(moduleUrl, this._outputEmitter.emitStatements(moduleUrl, statements, exportedVars));
+ OfflineCompiler.prototype._codegenSourceModule = function (fileUrl, moduleUrl, statements, exportedVars) {
+ return new SourceModule(fileUrl, moduleUrl, this._outputEmitter.emitStatements(moduleUrl, statements, exportedVars));
};
return OfflineCompiler;
}());
function _resolveViewStatements(compileResult) {
compileResult.dependencies.forEach(function (dep) {
- if (dep instanceof ViewFactoryDependency) {
+ if (dep instanceof ViewClassDependency) {
var vfd = dep;
vfd.placeholder.moduleUrl = _ngfactoryModuleUrl(vfd.comp.moduleUrl);
}
@@ -22294,6 +22307,10 @@
cfd.placeholder.name = _componentFactoryName(cfd.comp);
cfd.placeholder.moduleUrl = _ngfactoryModuleUrl(cfd.comp.moduleUrl);
}
+ else if (dep instanceof DirectiveWrapperDependency) {
+ var dwd = dep;
+ dwd.placeholder.moduleUrl = _ngfactoryModuleUrl(dwd.dir.moduleUrl);
+ }
});
return compileResult.statements;
}
@@ -22303,8 +22320,8 @@
});
return compileResult.statements;
}
- function _ngfactoryModuleUrl(compUrl) {
- var urlWithSuffix = _splitTypescriptSuffix(compUrl);
+ function _ngfactoryModuleUrl(dirUrl) {
+ var urlWithSuffix = _splitTypescriptSuffix(dirUrl);
return urlWithSuffix[0] + ".ngfactory" + urlWithSuffix[1];
}
function _componentFactoryName(comp) {
@@ -22328,6 +22345,607 @@
}
return [path, ''];
}
+ // Load the NgModules and check
+ // that all directives / pipes that are present in the program
+ // are also declared by a module.
+ function _createNgModules(programStaticSymbols, options, metadataResolver) {
+ var ngModules = new Map();
+ var programPipesAndDirectives = [];
+ var ngModulePipesAndDirective = new Set();
+ var addNgModule = function (staticSymbol) {
+ if (ngModules.has(staticSymbol)) {
+ return false;
+ }
+ var ngModule = metadataResolver.getUnloadedNgModuleMetadata(staticSymbol, false, false);
+ if (ngModule) {
+ ngModules.set(ngModule.type.reference, ngModule);
+ ngModule.declaredDirectives.forEach(function (dir) { return ngModulePipesAndDirective.add(dir.reference); });
+ ngModule.declaredPipes.forEach(function (pipe) { return ngModulePipesAndDirective.add(pipe.reference); });
+ if (options.transitiveModules) {
+ // For every input modules add the list of transitively included modules
+ ngModule.transitiveModule.modules.forEach(function (modMeta) { return addNgModule(modMeta.type.reference); });
+ }
+ }
+ return !!ngModule;
+ };
+ programStaticSymbols.forEach(function (staticSymbol) {
+ if (!addNgModule(staticSymbol) &&
+ (metadataResolver.isDirective(staticSymbol) || metadataResolver.isPipe(staticSymbol))) {
+ programPipesAndDirectives.push(staticSymbol);
+ }
+ });
+ // Throw an error if any of the program pipe or directives is not declared by a module
+ var symbolsMissingModule = programPipesAndDirectives.filter(function (s) { return !ngModulePipesAndDirective.has(s); });
+ return { ngModules: Array.from(ngModules.values()), symbolsMissingModule: symbolsMissingModule };
+ }
+
+ var StylesCollectionEntry = (function () {
+ function StylesCollectionEntry(time, value) {
+ this.time = time;
+ this.value = value;
+ }
+ StylesCollectionEntry.prototype.matches = function (time, value) {
+ return time == this.time && value == this.value;
+ };
+ return StylesCollectionEntry;
+ }());
+ var StylesCollection = (function () {
+ function StylesCollection() {
+ this.styles = {};
+ }
+ StylesCollection.prototype.insertAtTime = function (property, time, value) {
+ var tuple = new StylesCollectionEntry(time, value);
+ var entries = this.styles[property];
+ if (!isPresent(entries)) {
+ entries = this.styles[property] = [];
+ }
+ // insert this at the right stop in the array
+ // this way we can keep it sorted
+ var insertionIndex = 0;
+ for (var i = entries.length - 1; i >= 0; i--) {
+ if (entries[i].time <= time) {
+ insertionIndex = i + 1;
+ break;
+ }
+ }
+ entries.splice(insertionIndex, 0, tuple);
+ };
+ StylesCollection.prototype.getByIndex = function (property, index) {
+ var items = this.styles[property];
+ if (isPresent(items)) {
+ return index >= items.length ? null : items[index];
+ }
+ return null;
+ };
+ StylesCollection.prototype.indexOfAtOrBeforeTime = function (property, time) {
+ var entries = this.styles[property];
+ if (isPresent(entries)) {
+ for (var i = entries.length - 1; i >= 0; i--) {
+ if (entries[i].time <= time)
+ return i;
+ }
+ }
+ return null;
+ };
+ return StylesCollection;
+ }());
+
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+ var __extends$16 = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ var _INITIAL_KEYFRAME = 0;
+ var _TERMINAL_KEYFRAME = 1;
+ var _ONE_SECOND = 1000;
+ var AnimationParseError = (function (_super) {
+ __extends$16(AnimationParseError, _super);
+ function AnimationParseError(message) {
+ _super.call(this, null, message);
+ }
+ AnimationParseError.prototype.toString = function () { return "" + this.msg; };
+ return AnimationParseError;
+ }(ParseError));
+ var AnimationEntryParseResult = (function () {
+ function AnimationEntryParseResult(ast, errors) {
+ this.ast = ast;
+ this.errors = errors;
+ }
+ return AnimationEntryParseResult;
+ }());
+ var AnimationParser = (function () {
+ function AnimationParser(_schema) {
+ this._schema = _schema;
+ }
+ AnimationParser.prototype.parseComponent = function (component) {
+ var _this = this;
+ var errors = [];
+ var componentName = component.type.name;
+ var animationTriggerNames = new Set();
+ var asts = component.template.animations.map(function (entry) {
+ var result = _this.parseEntry(entry);
+ var ast = result.ast;
+ var triggerName = ast.name;
+ if (animationTriggerNames.has(triggerName)) {
+ result.errors.push(new AnimationParseError("The animation trigger \"" + triggerName + "\" has already been registered for the " + componentName + " component"));
+ }
+ else {
+ animationTriggerNames.add(triggerName);
+ }
+ if (result.errors.length > 0) {
+ var errorMessage_1 = "- Unable to parse the animation sequence for \"" + triggerName + "\" on the " + componentName + " component due to the following errors:";
+ result.errors.forEach(function (error) { errorMessage_1 += '\n-- ' + error.msg; });
+ errors.push(errorMessage_1);
+ }
+ return ast;
+ });
+ if (errors.length > 0) {
+ var errorString = errors.join('\n');
+ throw new Error("Animation parse errors:\n" + errorString);
+ }
+ return asts;
+ };
+ AnimationParser.prototype.parseEntry = function (entry) {
+ var _this = this;
+ var errors = [];
+ var stateStyles = {};
+ var transitions = [];
+ var stateDeclarationAsts = [];
+ entry.definitions.forEach(function (def) {
+ if (def instanceof CompileAnimationStateDeclarationMetadata) {
+ _parseAnimationDeclarationStates(def, _this._schema, errors).forEach(function (ast) {
+ stateDeclarationAsts.push(ast);
+ stateStyles[ast.stateName] = ast.styles;
+ });
+ }
+ else {
+ transitions.push(def);
+ }
+ });
+ var stateTransitionAsts = transitions.map(function (transDef) { return _parseAnimationStateTransition(transDef, stateStyles, _this._schema, errors); });
+ var ast = new AnimationEntryAst(entry.name, stateDeclarationAsts, stateTransitionAsts);
+ return new AnimationEntryParseResult(ast, errors);
+ };
+ AnimationParser.decorators = [
+ { type: _angular_core.Injectable },
+ ];
+ /** @nocollapse */
+ AnimationParser.ctorParameters = [
+ { type: ElementSchemaRegistry, },
+ ];
+ return AnimationParser;
+ }());
+ function _parseAnimationDeclarationStates(stateMetadata, schema, errors) {
+ var normalizedStyles = _normalizeStyleMetadata(stateMetadata.styles, {}, schema, errors, false);
+ var defStyles = new AnimationStylesAst(normalizedStyles);
+ var states = stateMetadata.stateNameExpr.split(/\s*,\s*/);
+ return states.map(function (state) { return new AnimationStateDeclarationAst(state, defStyles); });
+ }
+ function _parseAnimationStateTransition(transitionStateMetadata, stateStyles, schema, errors) {
+ var styles = new StylesCollection();
+ var transitionExprs = [];
+ var transitionStates = transitionStateMetadata.stateChangeExpr.split(/\s*,\s*/);
+ transitionStates.forEach(function (expr) { transitionExprs.push.apply(transitionExprs, _parseAnimationTransitionExpr(expr, errors)); });
+ var entry = _normalizeAnimationEntry(transitionStateMetadata.steps);
+ var animation = _normalizeStyleSteps(entry, stateStyles, schema, errors);
+ var animationAst = _parseTransitionAnimation(animation, 0, styles, stateStyles, errors);
+ if (errors.length == 0) {
+ _fillAnimationAstStartingKeyframes(animationAst, styles, errors);
+ }
+ var stepsAst = (animationAst instanceof AnimationWithStepsAst) ?
+ animationAst :
+ new AnimationSequenceAst([animationAst]);
+ return new AnimationStateTransitionAst(transitionExprs, stepsAst);
+ }
+ function _parseAnimationAlias(alias, errors) {
+ switch (alias) {
+ case ':enter':
+ return 'void => *';
+ case ':leave':
+ return '* => void';
+ default:
+ errors.push(new AnimationParseError("the transition alias value \"" + alias + "\" is not supported"));
+ return '* => *';
+ }
+ }
+ function _parseAnimationTransitionExpr(eventStr, errors) {
+ var expressions = [];
+ if (eventStr[0] == ':') {
+ eventStr = _parseAnimationAlias(eventStr, errors);
+ }
+ var match = eventStr.match(/^(\*|[-\w]+)\s*([=-]>)\s*(\*|[-\w]+)$/);
+ if (!isPresent(match) || match.length < 4) {
+ errors.push(new AnimationParseError("the provided " + eventStr + " is not of a supported format"));
+ return expressions;
+ }
+ var fromState = match[1];
+ var separator = match[2];
+ var toState = match[3];
+ expressions.push(new AnimationStateTransitionExpression(fromState, toState));
+ var isFullAnyStateExpr = fromState == ANY_STATE && toState == ANY_STATE;
+ if (separator[0] == '<' && !isFullAnyStateExpr) {
+ expressions.push(new AnimationStateTransitionExpression(toState, fromState));
+ }
+ return expressions;
+ }
+ function _normalizeAnimationEntry(entry) {
+ return Array.isArray(entry) ? new CompileAnimationSequenceMetadata(entry) : entry;
+ }
+ function _normalizeStyleMetadata(entry, stateStyles, schema, errors, permitStateReferences) {
+ var normalizedStyles = [];
+ entry.styles.forEach(function (styleEntry) {
+ if (typeof styleEntry === 'string') {
+ if (permitStateReferences) {
+ normalizedStyles.push.apply(normalizedStyles, _resolveStylesFromState(styleEntry, stateStyles, errors));
+ }
+ else {
+ errors.push(new AnimationParseError("State based animations cannot contain references to other states"));
+ }
+ }
+ else {
+ var stylesObj_1 = styleEntry;
+ var normalizedStylesObj_1 = {};
+ Object.keys(stylesObj_1).forEach(function (propName) {
+ var normalizedProp = schema.normalizeAnimationStyleProperty(propName);
+ var normalizedOutput = schema.normalizeAnimationStyleValue(normalizedProp, propName, stylesObj_1[propName]);
+ var normalizationError = normalizedOutput['error'];
+ if (normalizationError) {
+ errors.push(new AnimationParseError(normalizationError));
+ }
+ normalizedStylesObj_1[normalizedProp] = normalizedOutput['value'];
+ });
+ normalizedStyles.push(normalizedStylesObj_1);
+ }
+ });
+ return normalizedStyles;
+ }
+ function _normalizeStyleSteps(entry, stateStyles, schema, errors) {
+ var steps = _normalizeStyleStepEntry(entry, stateStyles, schema, errors);
+ return (entry instanceof CompileAnimationGroupMetadata) ?
+ new CompileAnimationGroupMetadata(steps) :
+ new CompileAnimationSequenceMetadata(steps);
+ }
+ function _mergeAnimationStyles(stylesList, newItem) {
+ if (typeof newItem === 'object' && newItem !== null && stylesList.length > 0) {
+ var lastIndex = stylesList.length - 1;
+ var lastItem = stylesList[lastIndex];
+ if (typeof lastItem === 'object' && lastItem !== null) {
+ stylesList[lastIndex] = StringMapWrapper.merge(lastItem, newItem);
+ return;
+ }
+ }
+ stylesList.push(newItem);
+ }
+ function _normalizeStyleStepEntry(entry, stateStyles, schema, errors) {
+ var steps;
+ if (entry instanceof CompileAnimationWithStepsMetadata) {
+ steps = entry.steps;
+ }
+ else {
+ return [entry];
+ }
+ var newSteps = [];
+ var combinedStyles;
+ steps.forEach(function (step) {
+ if (step instanceof CompileAnimationStyleMetadata) {
+ // this occurs when a style step is followed by a previous style step
+ // or when the first style step is run. We want to concatenate all subsequent
+ // style steps together into a single style step such that we have the correct
+ // starting keyframe data to pass into the animation player.
+ if (!isPresent(combinedStyles)) {
+ combinedStyles = [];
+ }
+ _normalizeStyleMetadata(step, stateStyles, schema, errors, true)
+ .forEach(function (entry) { _mergeAnimationStyles(combinedStyles, entry); });
+ }
+ else {
+ // it is important that we create a metadata entry of the combined styles
+ // before we go on an process the animate, sequence or group metadata steps.
+ // This will ensure that the AST will have the previous styles painted on
+ // screen before any further animations that use the styles take place.
+ if (isPresent(combinedStyles)) {
+ newSteps.push(new CompileAnimationStyleMetadata(0, combinedStyles));
+ combinedStyles = null;
+ }
+ if (step instanceof CompileAnimationAnimateMetadata) {
+ // we do not recurse into CompileAnimationAnimateMetadata since
+ // those style steps are not going to be squashed
+ var animateStyleValue = step.styles;
+ if (animateStyleValue instanceof CompileAnimationStyleMetadata) {
+ animateStyleValue.styles =
+ _normalizeStyleMetadata(animateStyleValue, stateStyles, schema, errors, true);
+ }
+ else if (animateStyleValue instanceof CompileAnimationKeyframesSequenceMetadata) {
+ animateStyleValue.steps.forEach(function (step) {
+ step.styles = _normalizeStyleMetadata(step, stateStyles, schema, errors, true);
+ });
+ }
+ }
+ else if (step instanceof CompileAnimationWithStepsMetadata) {
+ var innerSteps = _normalizeStyleStepEntry(step, stateStyles, schema, errors);
+ step = step instanceof CompileAnimationGroupMetadata ?
+ new CompileAnimationGroupMetadata(innerSteps) :
+ new CompileAnimationSequenceMetadata(innerSteps);
+ }
+ newSteps.push(step);
+ }
+ });
+ // this happens when only styles were animated within the sequence
+ if (isPresent(combinedStyles)) {
+ newSteps.push(new CompileAnimationStyleMetadata(0, combinedStyles));
+ }
+ return newSteps;
+ }
+ function _resolveStylesFromState(stateName, stateStyles, errors) {
+ var styles = [];
+ if (stateName[0] != ':') {
+ errors.push(new AnimationParseError("Animation states via styles must be prefixed with a \":\""));
+ }
+ else {
+ var normalizedStateName = stateName.substring(1);
+ var value = stateStyles[normalizedStateName];
+ if (!isPresent(value)) {
+ errors.push(new AnimationParseError("Unable to apply styles due to missing a state: \"" + normalizedStateName + "\""));
+ }
+ else {
+ value.styles.forEach(function (stylesEntry) {
+ if (typeof stylesEntry === 'object' && stylesEntry !== null) {
+ styles.push(stylesEntry);
+ }
+ });
+ }
+ }
+ return styles;
+ }
+ var _AnimationTimings = (function () {
+ function _AnimationTimings(duration, delay, easing) {
+ this.duration = duration;
+ this.delay = delay;
+ this.easing = easing;
+ }
+ return _AnimationTimings;
+ }());
+ function _parseAnimationKeyframes(keyframeSequence, currentTime, collectedStyles, stateStyles, errors) {
+ var totalEntries = keyframeSequence.steps.length;
+ var totalOffsets = 0;
+ keyframeSequence.steps.forEach(function (step) { return totalOffsets += (isPresent(step.offset) ? 1 : 0); });
+ if (totalOffsets > 0 && totalOffsets < totalEntries) {
+ errors.push(new AnimationParseError("Not all style() entries contain an offset for the provided keyframe()"));
+ totalOffsets = totalEntries;
+ }
+ var limit = totalEntries - 1;
+ var margin = totalOffsets == 0 ? (1 / limit) : 0;
+ var rawKeyframes = [];
+ var index = 0;
+ var doSortKeyframes = false;
+ var lastOffset = 0;
+ keyframeSequence.steps.forEach(function (styleMetadata) {
+ var offset = styleMetadata.offset;
+ var keyframeStyles = {};
+ styleMetadata.styles.forEach(function (entry) {
+ Object.keys(entry).forEach(function (prop) {
+ if (prop != 'offset') {
+ keyframeStyles[prop] = entry[prop];
+ }
+ });
+ });
+ if (isPresent(offset)) {
+ doSortKeyframes = doSortKeyframes || (offset < lastOffset);
+ }
+ else {
+ offset = index == limit ? _TERMINAL_KEYFRAME : (margin * index);
+ }
+ rawKeyframes.push([offset, keyframeStyles]);
+ lastOffset = offset;
+ index++;
+ });
+ if (doSortKeyframes) {
+ rawKeyframes.sort(function (a, b) { return a[0] <= b[0] ? -1 : 1; });
+ }
+ var firstKeyframe = rawKeyframes[0];
+ if (firstKeyframe[0] != _INITIAL_KEYFRAME) {
+ rawKeyframes.splice(0, 0, firstKeyframe = [_INITIAL_KEYFRAME, {}]);
+ }
+ var firstKeyframeStyles = firstKeyframe[1];
+ limit = rawKeyframes.length - 1;
+ var lastKeyframe = rawKeyframes[limit];
+ if (lastKeyframe[0] != _TERMINAL_KEYFRAME) {
+ rawKeyframes.push(lastKeyframe = [_TERMINAL_KEYFRAME, {}]);
+ limit++;
+ }
+ var lastKeyframeStyles = lastKeyframe[1];
+ for (var i = 1; i <= limit; i++) {
+ var entry = rawKeyframes[i];
+ var styles = entry[1];
+ Object.keys(styles).forEach(function (prop) {
+ if (!isPresent(firstKeyframeStyles[prop])) {
+ firstKeyframeStyles[prop] = FILL_STYLE_FLAG;
+ }
+ });
+ }
+ var _loop_1 = function(i) {
+ var entry = rawKeyframes[i];
+ var styles = entry[1];
+ Object.keys(styles).forEach(function (prop) {
+ if (!isPresent(lastKeyframeStyles[prop])) {
+ lastKeyframeStyles[prop] = styles[prop];
+ }
+ });
+ };
+ for (var i = limit - 1; i >= 0; i--) {
+ _loop_1(i);
+ }
+ return rawKeyframes.map(function (entry) { return new AnimationKeyframeAst(entry[0], new AnimationStylesAst([entry[1]])); });
+ }
+ function _parseTransitionAnimation(entry, currentTime, collectedStyles, stateStyles, errors) {
+ var ast;
+ var playTime = 0;
+ var startingTime = currentTime;
+ if (entry instanceof CompileAnimationWithStepsMetadata) {
+ var maxDuration_1 = 0;
+ var steps_1 = [];
+ var isGroup_1 = entry instanceof CompileAnimationGroupMetadata;
+ var previousStyles_1;
+ entry.steps.forEach(function (entry) {
+ // these will get picked up by the next step...
+ var time = isGroup_1 ? startingTime : currentTime;
+ if (entry instanceof CompileAnimationStyleMetadata) {
+ entry.styles.forEach(function (stylesEntry) {
+ // by this point we know that we only have stringmap values
+ var map = stylesEntry;
+ Object.keys(map).forEach(function (prop) { collectedStyles.insertAtTime(prop, time, map[prop]); });
+ });
+ previousStyles_1 = entry.styles;
+ return;
+ }
+ var innerAst = _parseTransitionAnimation(entry, time, collectedStyles, stateStyles, errors);
+ if (isPresent(previousStyles_1)) {
+ if (entry instanceof CompileAnimationWithStepsMetadata) {
+ var startingStyles = new AnimationStylesAst(previousStyles_1);
+ steps_1.push(new AnimationStepAst(startingStyles, [], 0, 0, ''));
+ }
+ else {
+ var innerStep = innerAst;
+ (_a = innerStep.startingStyles.styles).push.apply(_a, previousStyles_1);
+ }
+ previousStyles_1 = null;
+ }
+ var astDuration = innerAst.playTime;
+ currentTime += astDuration;
+ playTime += astDuration;
+ maxDuration_1 = Math.max(astDuration, maxDuration_1);
+ steps_1.push(innerAst);
+ var _a;
+ });
+ if (isPresent(previousStyles_1)) {
+ var startingStyles = new AnimationStylesAst(previousStyles_1);
+ steps_1.push(new AnimationStepAst(startingStyles, [], 0, 0, ''));
+ }
+ if (isGroup_1) {
+ ast = new AnimationGroupAst(steps_1);
+ playTime = maxDuration_1;
+ currentTime = startingTime + playTime;
+ }
+ else {
+ ast = new AnimationSequenceAst(steps_1);
+ }
+ }
+ else if (entry instanceof CompileAnimationAnimateMetadata) {
+ var timings = _parseTimeExpression(entry.timings, errors);
+ var styles = entry.styles;
+ var keyframes = void 0;
+ if (styles instanceof CompileAnimationKeyframesSequenceMetadata) {
+ keyframes =
+ _parseAnimationKeyframes(styles, currentTime, collectedStyles, stateStyles, errors);
+ }
+ else {
+ var styleData = styles;
+ var offset = _TERMINAL_KEYFRAME;
+ var styleAst = new AnimationStylesAst(styleData.styles);
+ var keyframe = new AnimationKeyframeAst(offset, styleAst);
+ keyframes = [keyframe];
+ }
+ ast = new AnimationStepAst(new AnimationStylesAst([]), keyframes, timings.duration, timings.delay, timings.easing);
+ playTime = timings.duration + timings.delay;
+ currentTime += playTime;
+ keyframes.forEach(function (keyframe /** TODO #9100 */) { return keyframe.styles.styles.forEach(function (entry /** TODO #9100 */) { return Object.keys(entry).forEach(function (prop) { collectedStyles.insertAtTime(prop, currentTime, entry[prop]); }); }); });
+ }
+ else {
+ // if the code reaches this stage then an error
+ // has already been populated within the _normalizeStyleSteps()
+ // operation...
+ ast = new AnimationStepAst(null, [], 0, 0, '');
+ }
+ ast.playTime = playTime;
+ ast.startTime = startingTime;
+ return ast;
+ }
+ function _fillAnimationAstStartingKeyframes(ast, collectedStyles, errors) {
+ // steps that only contain style will not be filled
+ if ((ast instanceof AnimationStepAst) && ast.keyframes.length > 0) {
+ var keyframes = ast.keyframes;
+ if (keyframes.length == 1) {
+ var endKeyframe = keyframes[0];
+ var startKeyframe = _createStartKeyframeFromEndKeyframe(endKeyframe, ast.startTime, ast.playTime, collectedStyles, errors);
+ ast.keyframes = [startKeyframe, endKeyframe];
+ }
+ }
+ else if (ast instanceof AnimationWithStepsAst) {
+ ast.steps.forEach(function (entry) { return _fillAnimationAstStartingKeyframes(entry, collectedStyles, errors); });
+ }
+ }
+ function _parseTimeExpression(exp, errors) {
+ var regex = /^([\.\d]+)(m?s)(?:\s+([\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?/i;
+ var duration;
+ var delay = 0;
+ var easing = null;
+ if (typeof exp === 'string') {
+ var matches = exp.match(regex);
+ if (matches === null) {
+ errors.push(new AnimationParseError("The provided timing value \"" + exp + "\" is invalid."));
+ return new _AnimationTimings(0, 0, null);
+ }
+ var durationMatch = parseFloat(matches[1]);
+ var durationUnit = matches[2];
+ if (durationUnit == 's') {
+ durationMatch *= _ONE_SECOND;
+ }
+ duration = Math.floor(durationMatch);
+ var delayMatch = matches[3];
+ var delayUnit = matches[4];
+ if (isPresent(delayMatch)) {
+ var delayVal = parseFloat(delayMatch);
+ if (isPresent(delayUnit) && delayUnit == 's') {
+ delayVal *= _ONE_SECOND;
+ }
+ delay = Math.floor(delayVal);
+ }
+ var easingVal = matches[5];
+ if (!isBlank(easingVal)) {
+ easing = easingVal;
+ }
+ }
+ else {
+ duration = exp;
+ }
+ return new _AnimationTimings(duration, delay, easing);
+ }
+ function _createStartKeyframeFromEndKeyframe(endKeyframe, startTime, duration, collectedStyles, errors) {
+ var values = {};
+ var endTime = startTime + duration;
+ endKeyframe.styles.styles.forEach(function (styleData) {
+ Object.keys(styleData).forEach(function (prop) {
+ var val = styleData[prop];
+ if (prop == 'offset')
+ return;
+ var resultIndex = collectedStyles.indexOfAtOrBeforeTime(prop, startTime);
+ var resultEntry /** TODO #9100 */, nextEntry /** TODO #9100 */, value;
+ if (isPresent(resultIndex)) {
+ resultEntry = collectedStyles.getByIndex(prop, resultIndex);
+ value = resultEntry.value;
+ nextEntry = collectedStyles.getByIndex(prop, resultIndex + 1);
+ }
+ else {
+ // this is a flag that the runtime code uses to pass
+ // in a value either from the state declaration styles
+ // or using the AUTO_STYLE value (e.g. getComputedStyle)
+ value = FILL_STYLE_FLAG;
+ }
+ if (isPresent(nextEntry) && !nextEntry.matches(endTime, val)) {
+ errors.push(new AnimationParseError("The animated CSS property \"" + prop + "\" unexpectedly changes between steps \"" + resultEntry.time + "ms\" and \"" + endTime + "ms\" at \"" + nextEntry.time + "ms\""));
+ }
+ values[prop] = value;
+ });
+ });
+ return new AnimationKeyframeAst(_INITIAL_KEYFRAME, new AnimationStylesAst([values]));
+ }
/**
* @license
@@ -22348,6 +22966,12 @@
}());
var _ASSET_SCHEME = 'asset:';
+ /**
+ * Create a {@link UrlResolver} with no package prefix.
+ */
+ function createUrlResolverWithoutPackagePrefix() {
+ return new UrlResolver();
+ }
function createOfflineCompileUrlResolver() {
return new UrlResolver(_ASSET_SCHEME);
}
@@ -22689,63 +23313,54 @@
}
return result;
};
- DirectiveNormalizer.prototype.normalizeDirective = function (directive) {
+ DirectiveNormalizer.prototype.normalizeTemplate = function (prenormData) {
var _this = this;
- if (!directive.isComponent) {
- // For non components there is nothing to be normalized yet.
- return new SyncAsyncResult(directive, Promise.resolve(directive));
- }
var normalizedTemplateSync = null;
var normalizedTemplateAsync;
- if (isPresent(directive.template.template)) {
- normalizedTemplateSync = this.normalizeTemplateSync(directive.type, directive.template);
+ if (isPresent(prenormData.template)) {
+ normalizedTemplateSync = this.normalizeTemplateSync(prenormData);
normalizedTemplateAsync = Promise.resolve(normalizedTemplateSync);
}
- else if (directive.template.templateUrl) {
- normalizedTemplateAsync = this.normalizeTemplateAsync(directive.type, directive.template);
+ else if (prenormData.templateUrl) {
+ normalizedTemplateAsync = this.normalizeTemplateAsync(prenormData);
}
else {
- throw new Error("No template specified for component " + directive.type.name);
+ throw new Error("No template specified for component " + stringify(prenormData.componentType));
}
if (normalizedTemplateSync && normalizedTemplateSync.styleUrls.length === 0) {
// sync case
- var normalizedDirective = _cloneDirectiveWithTemplate(directive, normalizedTemplateSync);
- return new SyncAsyncResult(normalizedDirective, Promise.resolve(normalizedDirective));
+ return new SyncAsyncResult(normalizedTemplateSync);
}
else {
// async case
- return new SyncAsyncResult(null, normalizedTemplateAsync
- .then(function (normalizedTemplate) { return _this.normalizeExternalStylesheets(normalizedTemplate); })
- .then(function (normalizedTemplate) {
- return _cloneDirectiveWithTemplate(directive, normalizedTemplate);
- }));
+ return new SyncAsyncResult(null, normalizedTemplateAsync.then(function (normalizedTemplate) { return _this.normalizeExternalStylesheets(normalizedTemplate); }));
}
};
- DirectiveNormalizer.prototype.normalizeTemplateSync = function (directiveType, template) {
- return this.normalizeLoadedTemplate(directiveType, template, template.template, directiveType.moduleUrl);
+ DirectiveNormalizer.prototype.normalizeTemplateSync = function (prenomData) {
+ return this.normalizeLoadedTemplate(prenomData, prenomData.template, prenomData.moduleUrl);
};
- DirectiveNormalizer.prototype.normalizeTemplateAsync = function (directiveType, template) {
+ DirectiveNormalizer.prototype.normalizeTemplateAsync = function (prenomData) {
var _this = this;
- var templateUrl = this._urlResolver.resolve(directiveType.moduleUrl, template.templateUrl);
+ var templateUrl = this._urlResolver.resolve(prenomData.moduleUrl, prenomData.templateUrl);
return this._fetch(templateUrl)
- .then(function (value) { return _this.normalizeLoadedTemplate(directiveType, template, value, templateUrl); });
+ .then(function (value) { return _this.normalizeLoadedTemplate(prenomData, value, templateUrl); });
};
- DirectiveNormalizer.prototype.normalizeLoadedTemplate = function (directiveType, templateMeta, template, templateAbsUrl) {
- var interpolationConfig = InterpolationConfig.fromArray(templateMeta.interpolation);
- var rootNodesAndErrors = this._htmlParser.parse(template, directiveType.name, false, interpolationConfig);
+ DirectiveNormalizer.prototype.normalizeLoadedTemplate = function (prenomData, template, templateAbsUrl) {
+ var interpolationConfig = InterpolationConfig.fromArray(prenomData.interpolation);
+ var rootNodesAndErrors = this._htmlParser.parse(template, stringify(prenomData.componentType), false, interpolationConfig);
if (rootNodesAndErrors.errors.length > 0) {
var errorString = rootNodesAndErrors.errors.join('\n');
throw new Error("Template parse errors:\n" + errorString);
}
var templateMetadataStyles = this.normalizeStylesheet(new CompileStylesheetMetadata({
- styles: templateMeta.styles,
- styleUrls: templateMeta.styleUrls,
- moduleUrl: directiveType.moduleUrl
+ styles: prenomData.styles,
+ styleUrls: prenomData.styleUrls,
+ moduleUrl: prenomData.moduleUrl
}));
var visitor = new TemplatePreparseVisitor();
visitAll(visitor, rootNodesAndErrors.rootNodes);
var templateStyles = this.normalizeStylesheet(new CompileStylesheetMetadata({ styles: visitor.styles, styleUrls: visitor.styleUrls, moduleUrl: templateAbsUrl }));
- var encapsulation = templateMeta.encapsulation;
+ var encapsulation = prenomData.encapsulation;
if (isBlank(encapsulation)) {
encapsulation = this._config.defaultEncapsulation;
}
@@ -22759,10 +23374,9 @@
encapsulation: encapsulation,
template: template,
templateUrl: templateAbsUrl, styles: styles, styleUrls: styleUrls,
- externalStylesheets: templateMeta.externalStylesheets,
ngContentSelectors: visitor.ngContentSelectors,
- animations: templateMeta.animations,
- interpolation: templateMeta.interpolation,
+ animations: prenomData.animations,
+ interpolation: prenomData.interpolation,
});
};
DirectiveNormalizer.prototype.normalizeExternalStylesheets = function (templateMeta) {
@@ -22789,7 +23403,7 @@
loadedStylesheets.set(styleUrl, stylesheet);
return _this._loadMissingExternalStylesheets(stylesheet.styleUrls, loadedStylesheets);
}); }))
- .then(function (_) { return MapWrapper.values(loadedStylesheets); });
+ .then(function (_) { return Array.from(loadedStylesheets.values()); });
};
DirectiveNormalizer.prototype.normalizeStylesheet = function (stylesheet) {
var _this = this;
@@ -22830,13 +23444,13 @@
}
break;
case PreparsedElementType.STYLE:
- var textContent = '';
+ var textContent_1 = '';
ast.children.forEach(function (child) {
if (child instanceof Text) {
- textContent += child.value;
+ textContent_1 += child.value;
}
});
- this.styles.push(textContent);
+ this.styles.push(textContent_1);
break;
case PreparsedElementType.STYLESHEET:
this.styleUrls.push(preparsedElement.hrefAttr);
@@ -22860,25 +23474,6 @@
TemplatePreparseVisitor.prototype.visitExpansionCase = function (ast, context) { return null; };
return TemplatePreparseVisitor;
}());
- function _cloneDirectiveWithTemplate(directive, template) {
- return new CompileDirectiveMetadata({
- type: directive.type,
- isComponent: directive.isComponent,
- selector: directive.selector,
- exportAs: directive.exportAs,
- changeDetection: directive.changeDetection,
- inputs: directive.inputs,
- outputs: directive.outputs,
- hostListeners: directive.hostListeners,
- hostProperties: directive.hostProperties,
- hostAttributes: directive.hostAttributes,
- providers: directive.providers,
- viewProviders: directive.viewProviders,
- queries: directive.queries,
- viewQueries: directive.viewQueries,
- entryComponents: directive.entryComponents, template: template,
- });
- }
/*
* Resolve a `Type` for {@link Directive}.
@@ -22892,6 +23487,10 @@
if (_reflector === void 0) { _reflector = reflector; }
this._reflector = _reflector;
}
+ DirectiveResolver.prototype.isDirective = function (type) {
+ var typeMetadata = this._reflector.annotations(_angular_core.resolveForwardRef(type));
+ return typeMetadata && typeMetadata.some(isDirectiveMetadata);
+ };
/**
* Return {@link Directive} for a given `Type`.
*/
@@ -23036,30 +23635,28 @@
return type instanceof _angular_core.Directive;
}
- var LIFECYCLE_INTERFACES = MapWrapper.createFromPairs([
- [LifecycleHooks.OnInit, _angular_core.OnInit],
- [LifecycleHooks.OnDestroy, _angular_core.OnDestroy],
- [LifecycleHooks.DoCheck, _angular_core.DoCheck],
- [LifecycleHooks.OnChanges, _angular_core.OnChanges],
- [LifecycleHooks.AfterContentInit, _angular_core.AfterContentInit],
- [LifecycleHooks.AfterContentChecked, _angular_core.AfterContentChecked],
- [LifecycleHooks.AfterViewInit, _angular_core.AfterViewInit],
- [LifecycleHooks.AfterViewChecked, _angular_core.AfterViewChecked],
- ]);
- var LIFECYCLE_PROPS = MapWrapper.createFromPairs([
- [LifecycleHooks.OnInit, 'ngOnInit'],
- [LifecycleHooks.OnDestroy, 'ngOnDestroy'],
- [LifecycleHooks.DoCheck, 'ngDoCheck'],
- [LifecycleHooks.OnChanges, 'ngOnChanges'],
- [LifecycleHooks.AfterContentInit, 'ngAfterContentInit'],
- [LifecycleHooks.AfterContentChecked, 'ngAfterContentChecked'],
- [LifecycleHooks.AfterViewInit, 'ngAfterViewInit'],
- [LifecycleHooks.AfterViewChecked, 'ngAfterViewChecked'],
- ]);
function hasLifecycleHook(hook, token) {
- var lcInterface = LIFECYCLE_INTERFACES.get(hook);
- var lcProp = LIFECYCLE_PROPS.get(hook);
- return reflector.hasLifecycleHook(token, lcInterface, lcProp);
+ return reflector.hasLifecycleHook(token, getHookName(hook));
+ }
+ function getHookName(hook) {
+ switch (hook) {
+ case LifecycleHooks.OnInit:
+ return 'ngOnInit';
+ case LifecycleHooks.OnDestroy:
+ return 'ngOnDestroy';
+ case LifecycleHooks.DoCheck:
+ return 'ngDoCheck';
+ case LifecycleHooks.OnChanges:
+ return 'ngOnChanges';
+ case LifecycleHooks.AfterContentInit:
+ return 'ngAfterContentInit';
+ case LifecycleHooks.AfterContentChecked:
+ return 'ngAfterContentChecked';
+ case LifecycleHooks.AfterViewInit:
+ return 'ngAfterViewInit';
+ case LifecycleHooks.AfterViewChecked:
+ return 'ngAfterViewChecked';
+ }
}
function _isNgModuleMetadata(obj) {
@@ -23073,6 +23670,7 @@
if (_reflector === void 0) { _reflector = reflector; }
this._reflector = _reflector;
}
+ NgModuleResolver.prototype.isNgModule = function (type) { return this._reflector.annotations(type).some(_isNgModuleMetadata); };
NgModuleResolver.prototype.resolve = function (type, throwIfNotFound) {
if (throwIfNotFound === void 0) { throwIfNotFound = true; }
var ngModuleMeta = this._reflector.annotations(type).find(_isNgModuleMetadata);
@@ -23111,6 +23709,10 @@
if (_reflector === void 0) { _reflector = reflector; }
this._reflector = _reflector;
}
+ PipeResolver.prototype.isPipe = function (type) {
+ var typeMetadata = this._reflector.annotations(_angular_core.resolveForwardRef(type));
+ return typeMetadata && typeMetadata.some(_isPipeMetadata);
+ };
/**
* Return {@link Pipe} for a given `Type`.
*/
@@ -23145,21 +23747,31 @@
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
- var __extends$15 = (this && this.__extends) || function (d, b) {
+ var __extends$17 = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
+ // Design notes:
+ // - don't lazily create metadata:
+ // For some metadata, we need to do async work sometimes,
+ // so the user has to kick off this loading.
+ // But we want to report errors even when the async work is
+ // not required to check that the user would have been able
+ // to wait correctly.
var CompileMetadataResolver = (function () {
- function CompileMetadataResolver(_ngModuleResolver, _directiveResolver, _pipeResolver, _schemaRegistry, _reflector) {
+ function CompileMetadataResolver(_ngModuleResolver, _directiveResolver, _pipeResolver, _schemaRegistry, _directiveNormalizer, _reflector) {
if (_reflector === void 0) { _reflector = reflector; }
this._ngModuleResolver = _ngModuleResolver;
this._directiveResolver = _directiveResolver;
this._pipeResolver = _pipeResolver;
this._schemaRegistry = _schemaRegistry;
+ this._directiveNormalizer = _directiveNormalizer;
this._reflector = _reflector;
this._directiveCache = new Map();
+ this._directiveSummaryCache = new Map();
this._pipeCache = new Map();
+ this._pipeSummaryCache = new Map();
this._ngModuleCache = new Map();
this._ngModuleOfTypes = new Map();
this._anonymousTypes = new Map();
@@ -23179,51 +23791,60 @@
return sanitizeIdentifier(identifier);
};
CompileMetadataResolver.prototype.clearCacheFor = function (type) {
+ var dirMeta = this._directiveCache.get(type);
this._directiveCache.delete(type);
+ this._directiveSummaryCache.delete(type);
this._pipeCache.delete(type);
+ this._pipeSummaryCache.delete(type);
this._ngModuleOfTypes.delete(type);
// Clear all of the NgModule as they contain transitive information!
this._ngModuleCache.clear();
+ if (dirMeta) {
+ this._directiveNormalizer.clearCacheFor(dirMeta);
+ }
};
CompileMetadataResolver.prototype.clearCache = function () {
this._directiveCache.clear();
+ this._directiveSummaryCache.clear();
this._pipeCache.clear();
+ this._pipeSummaryCache.clear();
this._ngModuleCache.clear();
this._ngModuleOfTypes.clear();
+ this._directiveNormalizer.clearCache();
};
CompileMetadataResolver.prototype.getAnimationEntryMetadata = function (entry) {
var _this = this;
- var defs = entry.definitions.map(function (def) { return _this.getAnimationStateMetadata(def); });
+ var defs = entry.definitions.map(function (def) { return _this._getAnimationStateMetadata(def); });
return new CompileAnimationEntryMetadata(entry.name, defs);
};
- CompileMetadataResolver.prototype.getAnimationStateMetadata = function (value) {
+ CompileMetadataResolver.prototype._getAnimationStateMetadata = function (value) {
if (value instanceof _angular_core.AnimationStateDeclarationMetadata) {
- var styles = this.getAnimationStyleMetadata(value.styles);
+ var styles = this._getAnimationStyleMetadata(value.styles);
return new CompileAnimationStateDeclarationMetadata(value.stateNameExpr, styles);
}
if (value instanceof _angular_core.AnimationStateTransitionMetadata) {
- return new CompileAnimationStateTransitionMetadata(value.stateChangeExpr, this.getAnimationMetadata(value.steps));
+ return new CompileAnimationStateTransitionMetadata(value.stateChangeExpr, this._getAnimationMetadata(value.steps));
}
return null;
};
- CompileMetadataResolver.prototype.getAnimationStyleMetadata = function (value) {
+ CompileMetadataResolver.prototype._getAnimationStyleMetadata = function (value) {
return new CompileAnimationStyleMetadata(value.offset, value.styles);
};
- CompileMetadataResolver.prototype.getAnimationMetadata = function (value) {
+ CompileMetadataResolver.prototype._getAnimationMetadata = function (value) {
var _this = this;
if (value instanceof _angular_core.AnimationStyleMetadata) {
- return this.getAnimationStyleMetadata(value);
+ return this._getAnimationStyleMetadata(value);
}
if (value instanceof _angular_core.AnimationKeyframesSequenceMetadata) {
- return new CompileAnimationKeyframesSequenceMetadata(value.steps.map(function (entry) { return _this.getAnimationStyleMetadata(entry); }));
+ return new CompileAnimationKeyframesSequenceMetadata(value.steps.map(function (entry) { return _this._getAnimationStyleMetadata(entry); }));
}
if (value instanceof _angular_core.AnimationAnimateMetadata) {
var animateData = this
- .getAnimationMetadata(value.styles);
+ ._getAnimationMetadata(value.styles);
return new CompileAnimationAnimateMetadata(value.timings, animateData);
}
if (value instanceof _angular_core.AnimationWithStepsMetadata) {
- var steps = value.steps.map(function (step) { return _this.getAnimationMetadata(step); });
+ var steps = value.steps.map(function (step) { return _this._getAnimationMetadata(step); });
if (value instanceof _angular_core.AnimationGroupMetadata) {
return new CompileAnimationGroupMetadata(steps);
}
@@ -23231,244 +23852,357 @@
}
return null;
};
- CompileMetadataResolver.prototype.getDirectiveMetadata = function (directiveType, throwIfNotFound) {
+ CompileMetadataResolver.prototype._loadDirectiveMetadata = function (directiveType, isSync) {
var _this = this;
- if (throwIfNotFound === void 0) { throwIfNotFound = true; }
+ if (this._directiveCache.has(directiveType)) {
+ return;
+ }
directiveType = _angular_core.resolveForwardRef(directiveType);
- var meta = this._directiveCache.get(directiveType);
- if (!meta) {
- var dirMeta = this._directiveResolver.resolve(directiveType, throwIfNotFound);
- if (!dirMeta) {
+ var nonNormalizedMetadata = this.getNonNormalizedDirectiveMetadata(directiveType);
+ var createDirectiveMetadata = function (templateMetadata) {
+ var normalizedDirMeta = new CompileDirectiveMetadata({
+ type: nonNormalizedMetadata.type,
+ isComponent: nonNormalizedMetadata.isComponent,
+ selector: nonNormalizedMetadata.selector,
+ exportAs: nonNormalizedMetadata.exportAs,
+ changeDetection: nonNormalizedMetadata.changeDetection,
+ inputs: nonNormalizedMetadata.inputs,
+ outputs: nonNormalizedMetadata.outputs,
+ hostListeners: nonNormalizedMetadata.hostListeners,
+ hostProperties: nonNormalizedMetadata.hostProperties,
+ hostAttributes: nonNormalizedMetadata.hostAttributes,
+ providers: nonNormalizedMetadata.providers,
+ viewProviders: nonNormalizedMetadata.viewProviders,
+ queries: nonNormalizedMetadata.queries,
+ viewQueries: nonNormalizedMetadata.viewQueries,
+ entryComponents: nonNormalizedMetadata.entryComponents,
+ template: templateMetadata
+ });
+ _this._directiveCache.set(directiveType, normalizedDirMeta);
+ _this._directiveSummaryCache.set(directiveType, normalizedDirMeta.toSummary());
+ return normalizedDirMeta;
+ };
+ if (nonNormalizedMetadata.isComponent) {
+ var templateMeta = this._directiveNormalizer.normalizeTemplate({
+ componentType: directiveType,
+ moduleUrl: nonNormalizedMetadata.type.moduleUrl,
+ encapsulation: nonNormalizedMetadata.template.encapsulation,
+ template: nonNormalizedMetadata.template.template,
+ templateUrl: nonNormalizedMetadata.template.templateUrl,
+ styles: nonNormalizedMetadata.template.styles,
+ styleUrls: nonNormalizedMetadata.template.styleUrls,
+ animations: nonNormalizedMetadata.template.animations,
+ interpolation: nonNormalizedMetadata.template.interpolation
+ });
+ if (templateMeta.syncResult) {
+ createDirectiveMetadata(templateMeta.syncResult);
return null;
}
- var templateMeta = null;
- var changeDetectionStrategy = null;
- var viewProviders = [];
- var moduleUrl = staticTypeModuleUrl(directiveType);
- var entryComponentMetadata = [];
- var selector = dirMeta.selector;
- if (dirMeta instanceof _angular_core.Component) {
- // Component
- assertArrayOfStrings('styles', dirMeta.styles);
- assertArrayOfStrings('styleUrls', dirMeta.styleUrls);
- assertInterpolationSymbols('interpolation', dirMeta.interpolation);
- var animations = dirMeta.animations ?
- dirMeta.animations.map(function (e) { return _this.getAnimationEntryMetadata(e); }) :
- null;
- templateMeta = new CompileTemplateMetadata({
- encapsulation: dirMeta.encapsulation,
- template: dirMeta.template,
- templateUrl: dirMeta.templateUrl,
- styles: dirMeta.styles,
- styleUrls: dirMeta.styleUrls,
- animations: animations,
- interpolation: dirMeta.interpolation
- });
- changeDetectionStrategy = dirMeta.changeDetection;
- if (dirMeta.viewProviders) {
- viewProviders = this.getProvidersMetadata(dirMeta.viewProviders, entryComponentMetadata, "viewProviders for \"" + stringify(directiveType) + "\"");
- }
- moduleUrl = componentModuleUrl(this._reflector, directiveType, dirMeta);
- if (dirMeta.entryComponents) {
- entryComponentMetadata =
- flattenArray(dirMeta.entryComponents)
- .map(function (type) { return _this.getTypeMetadata(type, staticTypeModuleUrl(type)); })
- .concat(entryComponentMetadata);
- }
- if (!selector) {
- selector = this._schemaRegistry.getDefaultComponentElementName();
- }
- }
else {
- // Directive
- if (!selector) {
- throw new Error("Directive " + stringify(directiveType) + " has no selector, please add it!");
+ if (isSync) {
+ throw new ComponentStillLoadingError(directiveType);
}
+ return templateMeta.asyncResult.then(createDirectiveMetadata);
}
- var providers = [];
- if (isPresent(dirMeta.providers)) {
- providers = this.getProvidersMetadata(dirMeta.providers, entryComponentMetadata, "providers for \"" + stringify(directiveType) + "\"");
- }
- var queries = [];
- var viewQueries = [];
- if (isPresent(dirMeta.queries)) {
- queries = this.getQueriesMetadata(dirMeta.queries, false, directiveType);
- viewQueries = this.getQueriesMetadata(dirMeta.queries, true, directiveType);
- }
- meta = CompileDirectiveMetadata.create({
- selector: selector,
- exportAs: dirMeta.exportAs,
- isComponent: !!templateMeta,
- type: this.getTypeMetadata(directiveType, moduleUrl),
- template: templateMeta,
- changeDetection: changeDetectionStrategy,
- inputs: dirMeta.inputs,
- outputs: dirMeta.outputs,
- host: dirMeta.host,
- providers: providers,
- viewProviders: viewProviders,
- queries: queries,
- viewQueries: viewQueries,
- entryComponents: entryComponentMetadata
- });
- this._directiveCache.set(directiveType, meta);
}
- return meta;
+ else {
+ // directive
+ createDirectiveMetadata(null);
+ return null;
+ }
};
- CompileMetadataResolver.prototype.getNgModuleMetadata = function (moduleType, throwIfNotFound) {
+ CompileMetadataResolver.prototype.getNonNormalizedDirectiveMetadata = function (directiveType) {
+ var _this = this;
+ directiveType = _angular_core.resolveForwardRef(directiveType);
+ var dirMeta = this._directiveResolver.resolve(directiveType);
+ if (!dirMeta) {
+ return null;
+ }
+ var moduleUrl = staticTypeModuleUrl(directiveType);
+ var nonNormalizedTemplateMetadata;
+ if (dirMeta instanceof _angular_core.Component) {
+ // component
+ moduleUrl = componentModuleUrl(this._reflector, directiveType, dirMeta);
+ assertArrayOfStrings('styles', dirMeta.styles);
+ assertArrayOfStrings('styleUrls', dirMeta.styleUrls);
+ assertInterpolationSymbols('interpolation', dirMeta.interpolation);
+ var animations = dirMeta.animations ?
+ dirMeta.animations.map(function (e) { return _this.getAnimationEntryMetadata(e); }) :
+ null;
+ nonNormalizedTemplateMetadata = new CompileTemplateMetadata({
+ encapsulation: dirMeta.encapsulation,
+ template: dirMeta.template,
+ templateUrl: dirMeta.templateUrl,
+ styles: dirMeta.styles,
+ styleUrls: dirMeta.styleUrls,
+ animations: animations,
+ interpolation: dirMeta.interpolation
+ });
+ }
+ var changeDetectionStrategy = null;
+ var viewProviders = [];
+ var entryComponentMetadata = [];
+ var selector = dirMeta.selector;
+ if (dirMeta instanceof _angular_core.Component) {
+ // Component
+ changeDetectionStrategy = dirMeta.changeDetection;
+ if (dirMeta.viewProviders) {
+ viewProviders = this._getProvidersMetadata(dirMeta.viewProviders, entryComponentMetadata, "viewProviders for \"" + stringify(directiveType) + "\"");
+ }
+ if (dirMeta.entryComponents) {
+ entryComponentMetadata =
+ flattenAndDedupeArray(dirMeta.entryComponents)
+ .map(function (type) { return _this._getIdentifierMetadata(type, staticTypeModuleUrl(type)); })
+ .concat(entryComponentMetadata);
+ }
+ if (!selector) {
+ selector = this._schemaRegistry.getDefaultComponentElementName();
+ }
+ }
+ else {
+ // Directive
+ if (!selector) {
+ throw new Error("Directive " + stringify(directiveType) + " has no selector, please add it!");
+ }
+ }
+ var providers = [];
+ if (isPresent(dirMeta.providers)) {
+ providers = this._getProvidersMetadata(dirMeta.providers, entryComponentMetadata, "providers for \"" + stringify(directiveType) + "\"");
+ }
+ var queries = [];
+ var viewQueries = [];
+ if (isPresent(dirMeta.queries)) {
+ queries = this._getQueriesMetadata(dirMeta.queries, false, directiveType);
+ viewQueries = this._getQueriesMetadata(dirMeta.queries, true, directiveType);
+ }
+ return CompileDirectiveMetadata.create({
+ selector: selector,
+ exportAs: dirMeta.exportAs,
+ isComponent: !!nonNormalizedTemplateMetadata,
+ type: this._getTypeMetadata(directiveType, moduleUrl),
+ template: nonNormalizedTemplateMetadata,
+ changeDetection: changeDetectionStrategy,
+ inputs: dirMeta.inputs,
+ outputs: dirMeta.outputs,
+ host: dirMeta.host,
+ providers: providers,
+ viewProviders: viewProviders,
+ queries: queries,
+ viewQueries: viewQueries,
+ entryComponents: entryComponentMetadata
+ });
+ };
+ /**
+ * Gets the metadata for the given directive.
+ * This assumes `loadNgModuleMetadata` has been called first.
+ */
+ CompileMetadataResolver.prototype.getDirectiveMetadata = function (directiveType) {
+ var dirMeta = this._directiveCache.get(directiveType);
+ if (!dirMeta) {
+ throw new Error("Illegal state: getDirectiveMetadata can only be called after loadNgModuleMetadata for a module that declares it. Directive " + stringify(directiveType) + ".");
+ }
+ return dirMeta;
+ };
+ CompileMetadataResolver.prototype.getDirectiveSummary = function (dirType) {
+ var dirSummary = this._directiveSummaryCache.get(dirType);
+ if (!dirSummary) {
+ throw new Error("Illegal state: getDirectiveSummary can only be called after loadNgModuleMetadata for a module that imports it. Directive " + stringify(dirType) + ".");
+ }
+ return dirSummary;
+ };
+ CompileMetadataResolver.prototype.isDirective = function (type) { return this._directiveResolver.isDirective(type); };
+ CompileMetadataResolver.prototype.isPipe = function (type) { return this._pipeResolver.isPipe(type); };
+ /**
+ * Gets the metadata for the given module.
+ * This assumes `loadNgModuleMetadata` has been called first.
+ */
+ CompileMetadataResolver.prototype.getNgModuleMetadata = function (moduleType) {
+ var modMeta = this._ngModuleCache.get(moduleType);
+ if (!modMeta) {
+ throw new Error("Illegal state: getNgModuleMetadata can only be called after loadNgModuleMetadata. Module " + stringify(moduleType) + ".");
+ }
+ return modMeta;
+ };
+ CompileMetadataResolver.prototype._loadNgModuleSummary = function (moduleType, isSync) {
+ // TODO(tbosch): add logic to read summary files!
+ // - needs to add directive / pipe summaries to this._directiveSummaryCache /
+ // this._pipeSummaryCache as well!
+ var moduleMeta = this._loadNgModuleMetadata(moduleType, isSync, false);
+ return moduleMeta ? moduleMeta.toSummary() : null;
+ };
+ /**
+ * Loads an NgModule and all of its directives. This includes loading the exported directives of
+ * imported modules,
+ * but not private directives of imported modules.
+ */
+ CompileMetadataResolver.prototype.loadNgModuleMetadata = function (moduleType, isSync, throwIfNotFound) {
+ if (throwIfNotFound === void 0) { throwIfNotFound = true; }
+ var ngModule = this._loadNgModuleMetadata(moduleType, isSync, throwIfNotFound);
+ var loading = ngModule ?
+ Promise.all(ngModule.transitiveModule.directiveLoaders.map(function (loader) { return loader(); })) :
+ Promise.resolve(null);
+ return { ngModule: ngModule, loading: loading };
+ };
+ /**
+ * Get the NgModule metadata without loading the directives.
+ */
+ CompileMetadataResolver.prototype.getUnloadedNgModuleMetadata = function (moduleType, isSync, throwIfNotFound) {
+ if (throwIfNotFound === void 0) { throwIfNotFound = true; }
+ return this._loadNgModuleMetadata(moduleType, isSync, throwIfNotFound);
+ };
+ CompileMetadataResolver.prototype._loadNgModuleMetadata = function (moduleType, isSync, throwIfNotFound) {
var _this = this;
if (throwIfNotFound === void 0) { throwIfNotFound = true; }
moduleType = _angular_core.resolveForwardRef(moduleType);
var compileMeta = this._ngModuleCache.get(moduleType);
- if (!compileMeta) {
- var meta = this._ngModuleResolver.resolve(moduleType, throwIfNotFound);
- if (!meta) {
- return null;
- }
- var declaredDirectives_1 = [];
- var exportedDirectives_1 = [];
- var declaredPipes_1 = [];
- var exportedPipes_1 = [];
- var importedModules_1 = [];
- var exportedModules_1 = [];
- var providers_1 = [];
- var entryComponents_1 = [];
- var bootstrapComponents = [];
- var schemas = [];
- if (meta.imports) {
- flattenArray(meta.imports).forEach(function (importedType) {
- var importedModuleType;
- if (isValidType(importedType)) {
- importedModuleType = importedType;
- }
- else if (importedType && importedType.ngModule) {
- var moduleWithProviders = importedType;
- importedModuleType = moduleWithProviders.ngModule;
- if (moduleWithProviders.providers) {
- providers_1.push.apply(providers_1, _this.getProvidersMetadata(moduleWithProviders.providers, entryComponents_1, "provider for the NgModule '" + stringify(importedModuleType) + "'"));
- }
- }
- if (importedModuleType) {
- var importedMeta = _this.getNgModuleMetadata(importedModuleType, false);
- if (importedMeta === null) {
- throw new Error("Unexpected " + _this._getTypeDescriptor(importedType) + " '" + stringify(importedType) + "' imported by the module '" + stringify(moduleType) + "'");
- }
- importedModules_1.push(importedMeta);
- }
- else {
- throw new Error("Unexpected value '" + stringify(importedType) + "' imported by the module '" + stringify(moduleType) + "'");
- }
- });
- }
- if (meta.exports) {
- flattenArray(meta.exports).forEach(function (exportedType) {
- if (!isValidType(exportedType)) {
- throw new Error("Unexpected value '" + stringify(exportedType) + "' exported by the module '" + stringify(moduleType) + "'");
- }
- var exportedDirMeta;
- var exportedPipeMeta;
- var exportedModuleMeta;
- if (exportedDirMeta = _this.getDirectiveMetadata(exportedType, false)) {
- exportedDirectives_1.push(exportedDirMeta);
- }
- else if (exportedPipeMeta = _this.getPipeMetadata(exportedType, false)) {
- exportedPipes_1.push(exportedPipeMeta);
- }
- else if (exportedModuleMeta = _this.getNgModuleMetadata(exportedType, false)) {
- exportedModules_1.push(exportedModuleMeta);
- }
- else {
- throw new Error("Unexpected " + _this._getTypeDescriptor(exportedType) + " '" + stringify(exportedType) + "' exported by the module '" + stringify(moduleType) + "'");
- }
- });
- }
- // Note: This will be modified later, so we rely on
- // getting a new instance every time!
- var transitiveModule_1 = this._getTransitiveNgModuleMetadata(importedModules_1, exportedModules_1);
- if (meta.declarations) {
- flattenArray(meta.declarations).forEach(function (declaredType) {
- if (!isValidType(declaredType)) {
- throw new Error("Unexpected value '" + stringify(declaredType) + "' declared by the module '" + stringify(moduleType) + "'");
- }
- var declaredDirMeta;
- var declaredPipeMeta;
- if (declaredDirMeta = _this.getDirectiveMetadata(declaredType, false)) {
- _this._addDirectiveToModule(declaredDirMeta, moduleType, transitiveModule_1, declaredDirectives_1, true);
- }
- else if (declaredPipeMeta = _this.getPipeMetadata(declaredType, false)) {
- _this._addPipeToModule(declaredPipeMeta, moduleType, transitiveModule_1, declaredPipes_1, true);
- }
- else {
- throw new Error("Unexpected " + _this._getTypeDescriptor(declaredType) + " '" + stringify(declaredType) + "' declared by the module '" + stringify(moduleType) + "'");
- }
- });
- }
- // The providers of the module have to go last
- // so that they overwrite any other provider we already added.
- if (meta.providers) {
- providers_1.push.apply(providers_1, this.getProvidersMetadata(meta.providers, entryComponents_1, "provider for the NgModule '" + stringify(moduleType) + "'"));
- }
- if (meta.entryComponents) {
- entryComponents_1.push.apply(entryComponents_1, flattenArray(meta.entryComponents)
- .map(function (type) { return _this.getTypeMetadata(type, staticTypeModuleUrl(type)); }));
- }
- if (meta.bootstrap) {
- var typeMetadata = flattenArray(meta.bootstrap).map(function (type) {
- if (!isValidType(type)) {
- throw new Error("Unexpected value '" + stringify(type) + "' used in the bootstrap property of module '" + stringify(moduleType) + "'");
- }
- return _this.getTypeMetadata(type, staticTypeModuleUrl(type));
- });
- bootstrapComponents.push.apply(bootstrapComponents, typeMetadata);
- }
- entryComponents_1.push.apply(entryComponents_1, bootstrapComponents);
- if (meta.schemas) {
- schemas.push.apply(schemas, flattenArray(meta.schemas));
- }
- (_a = transitiveModule_1.entryComponents).push.apply(_a, entryComponents_1);
- (_b = transitiveModule_1.providers).push.apply(_b, providers_1);
- compileMeta = new CompileNgModuleMetadata({
- type: this.getTypeMetadata(moduleType, staticTypeModuleUrl(moduleType)),
- providers: providers_1,
- entryComponents: entryComponents_1,
- bootstrapComponents: bootstrapComponents,
- schemas: schemas,
- declaredDirectives: declaredDirectives_1,
- exportedDirectives: exportedDirectives_1,
- declaredPipes: declaredPipes_1,
- exportedPipes: exportedPipes_1,
- importedModules: importedModules_1,
- exportedModules: exportedModules_1,
- transitiveModule: transitiveModule_1,
- id: meta.id,
- });
- transitiveModule_1.modules.push(compileMeta);
- this._verifyModule(compileMeta);
- this._ngModuleCache.set(moduleType, compileMeta);
+ if (compileMeta) {
+ return compileMeta;
}
+ var meta = this._ngModuleResolver.resolve(moduleType, throwIfNotFound);
+ if (!meta) {
+ return null;
+ }
+ var declaredDirectives = [];
+ var exportedNonModuleIdentifiers = [];
+ var declaredPipes = [];
+ var importedModules = [];
+ var exportedModules = [];
+ var providers = [];
+ var entryComponents = [];
+ var bootstrapComponents = [];
+ var schemas = [];
+ if (meta.imports) {
+ flattenAndDedupeArray(meta.imports).forEach(function (importedType) {
+ var importedModuleType;
+ if (isValidType(importedType)) {
+ importedModuleType = importedType;
+ }
+ else if (importedType && importedType.ngModule) {
+ var moduleWithProviders = importedType;
+ importedModuleType = moduleWithProviders.ngModule;
+ if (moduleWithProviders.providers) {
+ providers.push.apply(providers, _this._getProvidersMetadata(moduleWithProviders.providers, entryComponents, "provider for the NgModule '" + stringify(importedModuleType) + "'"));
+ }
+ }
+ if (importedModuleType) {
+ var importedModuleSummary = _this._loadNgModuleSummary(importedModuleType, isSync);
+ if (!importedModuleSummary) {
+ throw new Error("Unexpected " + _this._getTypeDescriptor(importedType) + " '" + stringify(importedType) + "' imported by the module '" + stringify(moduleType) + "'");
+ }
+ importedModules.push(importedModuleSummary);
+ }
+ else {
+ throw new Error("Unexpected value '" + stringify(importedType) + "' imported by the module '" + stringify(moduleType) + "'");
+ }
+ });
+ }
+ if (meta.exports) {
+ flattenAndDedupeArray(meta.exports).forEach(function (exportedType) {
+ if (!isValidType(exportedType)) {
+ throw new Error("Unexpected value '" + stringify(exportedType) + "' exported by the module '" + stringify(moduleType) + "'");
+ }
+ var exportedModuleSummary = _this._loadNgModuleSummary(exportedType, isSync);
+ if (exportedModuleSummary) {
+ exportedModules.push(exportedModuleSummary);
+ }
+ else {
+ exportedNonModuleIdentifiers.push(_this._getIdentifierMetadata(exportedType, staticTypeModuleUrl(exportedType)));
+ }
+ });
+ }
+ // Note: This will be modified later, so we rely on
+ // getting a new instance every time!
+ var transitiveModule = this._getTransitiveNgModuleMetadata(importedModules, exportedModules);
+ if (meta.declarations) {
+ flattenAndDedupeArray(meta.declarations).forEach(function (declaredType) {
+ if (!isValidType(declaredType)) {
+ throw new Error("Unexpected value '" + stringify(declaredType) + "' declared by the module '" + stringify(moduleType) + "'");
+ }
+ var declaredIdentifier = _this._getIdentifierMetadata(declaredType, staticTypeModuleUrl(declaredType));
+ if (_this._directiveResolver.isDirective(declaredType)) {
+ transitiveModule.directivesSet.add(declaredType);
+ transitiveModule.directives.push(declaredIdentifier);
+ declaredDirectives.push(declaredIdentifier);
+ _this._addTypeToModule(declaredType, moduleType);
+ transitiveModule.directiveLoaders.push(function () { return _this._loadDirectiveMetadata(declaredType, isSync); });
+ }
+ else if (_this._pipeResolver.isPipe(declaredType)) {
+ transitiveModule.pipesSet.add(declaredType);
+ transitiveModule.pipes.push(declaredIdentifier);
+ declaredPipes.push(declaredIdentifier);
+ _this._addTypeToModule(declaredType, moduleType);
+ _this._loadPipeMetadata(declaredType);
+ }
+ else {
+ throw new Error("Unexpected " + _this._getTypeDescriptor(declaredType) + " '" + stringify(declaredType) + "' declared by the module '" + stringify(moduleType) + "'");
+ }
+ });
+ }
+ var exportedDirectives = [];
+ var exportedPipes = [];
+ exportedNonModuleIdentifiers.forEach(function (exportedId) {
+ if (transitiveModule.directivesSet.has(exportedId.reference)) {
+ exportedDirectives.push(exportedId);
+ }
+ else if (transitiveModule.pipesSet.has(exportedId.reference)) {
+ exportedPipes.push(exportedId);
+ }
+ else {
+ throw new Error("Can't export " + _this._getTypeDescriptor(exportedId.reference) + " " + stringify(exportedId.reference) + " from " + stringify(moduleType) + " as it was neither declared nor imported!");
+ }
+ });
+ // The providers of the module have to go last
+ // so that they overwrite any other provider we already added.
+ if (meta.providers) {
+ providers.push.apply(providers, this._getProvidersMetadata(meta.providers, entryComponents, "provider for the NgModule '" + stringify(moduleType) + "'"));
+ }
+ if (meta.entryComponents) {
+ entryComponents.push.apply(entryComponents, flattenAndDedupeArray(meta.entryComponents)
+ .map(function (type) { return _this._getTypeMetadata(type, staticTypeModuleUrl(type)); }));
+ }
+ if (meta.bootstrap) {
+ var typeMetadata = flattenAndDedupeArray(meta.bootstrap).map(function (type) {
+ if (!isValidType(type)) {
+ throw new Error("Unexpected value '" + stringify(type) + "' used in the bootstrap property of module '" + stringify(moduleType) + "'");
+ }
+ return _this._getTypeMetadata(type, staticTypeModuleUrl(type));
+ });
+ bootstrapComponents.push.apply(bootstrapComponents, typeMetadata);
+ }
+ entryComponents.push.apply(entryComponents, bootstrapComponents);
+ if (meta.schemas) {
+ schemas.push.apply(schemas, flattenAndDedupeArray(meta.schemas));
+ }
+ (_a = transitiveModule.entryComponents).push.apply(_a, entryComponents);
+ (_b = transitiveModule.providers).push.apply(_b, providers);
+ compileMeta = new CompileNgModuleMetadata({
+ type: this._getTypeMetadata(moduleType, staticTypeModuleUrl(moduleType)),
+ providers: providers,
+ entryComponents: entryComponents,
+ bootstrapComponents: bootstrapComponents,
+ schemas: schemas,
+ declaredDirectives: declaredDirectives,
+ exportedDirectives: exportedDirectives,
+ declaredPipes: declaredPipes,
+ exportedPipes: exportedPipes,
+ importedModules: importedModules,
+ exportedModules: exportedModules,
+ transitiveModule: transitiveModule,
+ id: meta.id,
+ });
+ transitiveModule.modules.push(compileMeta.toInjectorSummary());
+ this._ngModuleCache.set(moduleType, compileMeta);
return compileMeta;
var _a, _b;
};
- CompileMetadataResolver.prototype._verifyModule = function (moduleMeta) {
- moduleMeta.exportedDirectives.forEach(function (dirMeta) {
- if (!moduleMeta.transitiveModule.directivesSet.has(dirMeta.type.reference)) {
- throw new Error("Can't export directive " + stringify(dirMeta.type.reference) + " from " + stringify(moduleMeta.type.reference) + " as it was neither declared nor imported!");
- }
- });
- moduleMeta.exportedPipes.forEach(function (pipeMeta) {
- if (!moduleMeta.transitiveModule.pipesSet.has(pipeMeta.type.reference)) {
- throw new Error("Can't export pipe " + stringify(pipeMeta.type.reference) + " from " + stringify(moduleMeta.type.reference) + " as it was neither declared nor imported!");
- }
- });
- };
CompileMetadataResolver.prototype._getTypeDescriptor = function (type) {
- if (this._directiveResolver.resolve(type, false) !== null) {
+ if (this._directiveResolver.isDirective(type)) {
return 'directive';
}
- if (this._pipeResolver.resolve(type, false) !== null) {
+ if (this._pipeResolver.isPipe(type)) {
return 'pipe';
}
- if (this._ngModuleResolver.resolve(type, false) !== null) {
+ if (this._ngModuleResolver.isNgModule(type)) {
return 'module';
}
if (type.provide) {
@@ -23487,76 +24221,78 @@
};
CompileMetadataResolver.prototype._getTransitiveNgModuleMetadata = function (importedModules, exportedModules) {
// collect `providers` / `entryComponents` from all imported and all exported modules
- var transitiveModules = getTransitiveModules(importedModules.concat(exportedModules), true);
+ var transitiveModules = getTransitiveImportedModules(importedModules.concat(exportedModules));
var providers = flattenArray(transitiveModules.map(function (ngModule) { return ngModule.providers; }));
var entryComponents = flattenArray(transitiveModules.map(function (ngModule) { return ngModule.entryComponents; }));
- var transitiveExportedModules = getTransitiveModules(importedModules, false);
+ var transitiveExportedModules = getTransitiveExportedModules(importedModules);
var directives = flattenArray(transitiveExportedModules.map(function (ngModule) { return ngModule.exportedDirectives; }));
var pipes = flattenArray(transitiveExportedModules.map(function (ngModule) { return ngModule.exportedPipes; }));
- return new TransitiveCompileNgModuleMetadata(transitiveModules, providers, entryComponents, directives, pipes);
+ var directiveLoaders = ListWrapper.flatten(transitiveExportedModules.map(function (ngModule) { return ngModule.directiveLoaders; }));
+ return new TransitiveCompileNgModuleMetadata(transitiveModules, providers, entryComponents, directives, pipes, directiveLoaders);
};
- CompileMetadataResolver.prototype._addDirectiveToModule = function (dirMeta, moduleType, transitiveModule, declaredDirectives, force) {
- if (force === void 0) { force = false; }
- if (force || !transitiveModule.directivesSet.has(dirMeta.type.reference)) {
- transitiveModule.directivesSet.add(dirMeta.type.reference);
- transitiveModule.directives.push(dirMeta);
- declaredDirectives.push(dirMeta);
- this._addTypeToModule(dirMeta.type.reference, moduleType);
- return true;
- }
- return false;
- };
- CompileMetadataResolver.prototype._addPipeToModule = function (pipeMeta, moduleType, transitiveModule, declaredPipes, force) {
- if (force === void 0) { force = false; }
- if (force || !transitiveModule.pipesSet.has(pipeMeta.type.reference)) {
- transitiveModule.pipesSet.add(pipeMeta.type.reference);
- transitiveModule.pipes.push(pipeMeta);
- declaredPipes.push(pipeMeta);
- this._addTypeToModule(pipeMeta.type.reference, moduleType);
- return true;
- }
- return false;
- };
- CompileMetadataResolver.prototype.getTypeMetadata = function (type, moduleUrl, dependencies) {
- if (dependencies === void 0) { dependencies = null; }
+ CompileMetadataResolver.prototype._getIdentifierMetadata = function (type, moduleUrl) {
type = _angular_core.resolveForwardRef(type);
+ return new CompileIdentifierMetadata({ name: this.sanitizeTokenName(type), moduleUrl: moduleUrl, reference: type });
+ };
+ CompileMetadataResolver.prototype._getTypeMetadata = function (type, moduleUrl, dependencies) {
+ if (dependencies === void 0) { dependencies = null; }
+ var identifier = this._getIdentifierMetadata(type, moduleUrl);
return new CompileTypeMetadata({
- name: this.sanitizeTokenName(type),
- moduleUrl: moduleUrl,
- reference: type,
- diDeps: this.getDependenciesMetadata(type, dependencies),
- lifecycleHooks: LIFECYCLE_HOOKS_VALUES.filter(function (hook) { return hasLifecycleHook(hook, type); }),
+ name: identifier.name,
+ moduleUrl: identifier.moduleUrl,
+ reference: identifier.reference,
+ diDeps: this._getDependenciesMetadata(identifier.reference, dependencies),
+ lifecycleHooks: LIFECYCLE_HOOKS_VALUES.filter(function (hook) { return hasLifecycleHook(hook, identifier.reference); }),
});
};
- CompileMetadataResolver.prototype.getFactoryMetadata = function (factory, moduleUrl, dependencies) {
+ CompileMetadataResolver.prototype._getFactoryMetadata = function (factory, moduleUrl, dependencies) {
if (dependencies === void 0) { dependencies = null; }
factory = _angular_core.resolveForwardRef(factory);
return new CompileFactoryMetadata({
name: this.sanitizeTokenName(factory),
moduleUrl: moduleUrl,
reference: factory,
- diDeps: this.getDependenciesMetadata(factory, dependencies)
+ diDeps: this._getDependenciesMetadata(factory, dependencies)
});
};
- CompileMetadataResolver.prototype.getPipeMetadata = function (pipeType, throwIfNotFound) {
- if (throwIfNotFound === void 0) { throwIfNotFound = true; }
- pipeType = _angular_core.resolveForwardRef(pipeType);
- var meta = this._pipeCache.get(pipeType);
- if (!meta) {
- var pipeMeta = this._pipeResolver.resolve(pipeType, throwIfNotFound);
- if (!pipeMeta) {
- return null;
- }
- meta = new CompilePipeMetadata({
- type: this.getTypeMetadata(pipeType, staticTypeModuleUrl(pipeType)),
- name: pipeMeta.name,
- pure: pipeMeta.pure
- });
- this._pipeCache.set(pipeType, meta);
+ /**
+ * Gets the metadata for the given pipe.
+ * This assumes `loadNgModuleMetadata` has been called first.
+ */
+ CompileMetadataResolver.prototype.getPipeMetadata = function (pipeType) {
+ var pipeMeta = this._pipeCache.get(pipeType);
+ if (!pipeMeta) {
+ throw new Error("Illegal state: getPipeMetadata can only be called after loadNgModuleMetadata for a module that declares it. Pipe " + stringify(pipeType) + ".");
}
- return meta;
+ return pipeMeta;
};
- CompileMetadataResolver.prototype.getDependenciesMetadata = function (typeOrFunc, dependencies) {
+ CompileMetadataResolver.prototype.getPipeSummary = function (pipeType) {
+ var pipeSummary = this._pipeSummaryCache.get(pipeType);
+ if (!pipeSummary) {
+ throw new Error("Illegal state: getPipeSummary can only be called after loadNgModuleMetadata for a module that imports it. Pipe " + stringify(pipeType) + ".");
+ }
+ return pipeSummary;
+ };
+ CompileMetadataResolver.prototype.getOrLoadPipeMetadata = function (pipeType) {
+ var pipeMeta = this._pipeCache.get(pipeType);
+ if (!pipeMeta) {
+ pipeMeta = this._loadPipeMetadata(pipeType);
+ }
+ return pipeMeta;
+ };
+ CompileMetadataResolver.prototype._loadPipeMetadata = function (pipeType) {
+ pipeType = _angular_core.resolveForwardRef(pipeType);
+ var pipeAnnotation = this._pipeResolver.resolve(pipeType);
+ var pipeMeta = new CompilePipeMetadata({
+ type: this._getTypeMetadata(pipeType, staticTypeModuleUrl(pipeType)),
+ name: pipeAnnotation.name,
+ pure: pipeAnnotation.pure
+ });
+ this._pipeCache.set(pipeType, pipeMeta);
+ this._pipeSummaryCache.set(pipeType, pipeMeta.toSummary());
+ return pipeMeta;
+ };
+ CompileMetadataResolver.prototype._getDependenciesMetadata = function (typeOrFunc, dependencies) {
var _this = this;
var hasUnknownDeps = false;
var params = dependencies || this._reflector.parameters(typeOrFunc) || [];
@@ -23566,8 +24302,6 @@
var isSelf = false;
var isSkipSelf = false;
var isOptional = false;
- var query = null;
- var viewQuery = null;
var token = null;
if (Array.isArray(param)) {
param.forEach(function (paramEntry) {
@@ -23587,14 +24321,6 @@
isAttribute = true;
token = paramEntry.attributeName;
}
- else if (paramEntry instanceof _angular_core.Query) {
- if (paramEntry.isViewQuery) {
- viewQuery = paramEntry;
- }
- else {
- query = paramEntry;
- }
- }
else if (paramEntry instanceof _angular_core.Inject) {
token = paramEntry.token;
}
@@ -23616,9 +24342,7 @@
isSelf: isSelf,
isSkipSelf: isSkipSelf,
isOptional: isOptional,
- query: query ? _this.getQueryMetadata(query, null, typeOrFunc) : null,
- viewQuery: viewQuery ? _this.getQueryMetadata(viewQuery, null, typeOrFunc) : null,
- token: _this.getTokenMetadata(token)
+ token: _this._getTokenMetadata(token)
});
});
if (hasUnknownDeps) {
@@ -23627,10 +24351,10 @@
}
return dependenciesMetadata;
};
- CompileMetadataResolver.prototype.getTokenMetadata = function (token) {
+ CompileMetadataResolver.prototype._getTokenMetadata = function (token) {
token = _angular_core.resolveForwardRef(token);
var compileToken;
- if (isString(token)) {
+ if (typeof token === 'string') {
compileToken = new CompileTokenMetadata({ value: token });
}
else {
@@ -23644,7 +24368,7 @@
}
return compileToken;
};
- CompileMetadataResolver.prototype.getProvidersMetadata = function (providers, targetEntryComponents, debugInfo) {
+ CompileMetadataResolver.prototype._getProvidersMetadata = function (providers, targetEntryComponents, debugInfo) {
var _this = this;
var compileProviders = [];
providers.forEach(function (provider, providerIdx) {
@@ -23654,10 +24378,10 @@
}
var compileProvider;
if (Array.isArray(provider)) {
- compileProvider = _this.getProvidersMetadata(provider, targetEntryComponents, debugInfo);
+ compileProvider = _this._getProvidersMetadata(provider, targetEntryComponents, debugInfo);
}
else if (provider instanceof ProviderMeta) {
- var tokenMeta = _this.getTokenMetadata(provider.token);
+ var tokenMeta = _this._getTokenMetadata(provider.token);
if (tokenMeta.reference ===
resolveIdentifierToken(Identifiers.ANALYZE_FOR_ENTRY_COMPONENTS).reference) {
targetEntryComponents.push.apply(targetEntryComponents, _this._getEntryComponentsFromProvider(provider));
@@ -23667,7 +24391,7 @@
}
}
else if (isValidType(provider)) {
- compileProvider = _this.getTypeMetadata(provider, staticTypeModuleUrl(provider));
+ compileProvider = _this._getTypeMetadata(provider, staticTypeModuleUrl(provider));
}
else {
var providersInfo = providers.reduce(function (soFar, seenProvider, seenProviderIdx) {
@@ -23703,9 +24427,8 @@
}
convertToCompileValue(provider.useValue, collectedIdentifiers);
collectedIdentifiers.forEach(function (identifier) {
- var dirMeta = _this.getDirectiveMetadata(identifier.reference, false);
- if (dirMeta) {
- components.push(dirMeta.type);
+ if (_this._directiveResolver.isDirective(identifier.reference)) {
+ components.push(identifier);
}
});
return components;
@@ -23715,52 +24438,53 @@
var compileTypeMetadata = null;
var compileFactoryMetadata = null;
if (provider.useClass) {
- compileTypeMetadata = this.getTypeMetadata(provider.useClass, staticTypeModuleUrl(provider.useClass), provider.dependencies);
+ compileTypeMetadata = this._getTypeMetadata(provider.useClass, staticTypeModuleUrl(provider.useClass), provider.dependencies);
compileDeps = compileTypeMetadata.diDeps;
}
else if (provider.useFactory) {
- compileFactoryMetadata = this.getFactoryMetadata(provider.useFactory, staticTypeModuleUrl(provider.useFactory), provider.dependencies);
+ compileFactoryMetadata = this._getFactoryMetadata(provider.useFactory, staticTypeModuleUrl(provider.useFactory), provider.dependencies);
compileDeps = compileFactoryMetadata.diDeps;
}
return new CompileProviderMetadata({
- token: this.getTokenMetadata(provider.token),
+ token: this._getTokenMetadata(provider.token),
useClass: compileTypeMetadata,
useValue: convertToCompileValue(provider.useValue, []),
useFactory: compileFactoryMetadata,
- useExisting: provider.useExisting ? this.getTokenMetadata(provider.useExisting) : null,
+ useExisting: provider.useExisting ? this._getTokenMetadata(provider.useExisting) : null,
deps: compileDeps,
multi: provider.multi
});
};
- CompileMetadataResolver.prototype.getQueriesMetadata = function (queries, isViewQuery, directiveType) {
+ CompileMetadataResolver.prototype._getQueriesMetadata = function (queries, isViewQuery, directiveType) {
var _this = this;
var res = [];
Object.keys(queries).forEach(function (propertyName) {
var query = queries[propertyName];
if (query.isViewQuery === isViewQuery) {
- res.push(_this.getQueryMetadata(query, propertyName, directiveType));
+ res.push(_this._getQueryMetadata(query, propertyName, directiveType));
}
});
return res;
};
CompileMetadataResolver.prototype._queryVarBindings = function (selector) { return selector.split(/\s*,\s*/); };
- CompileMetadataResolver.prototype.getQueryMetadata = function (q, propertyName, typeOrFunc) {
+ CompileMetadataResolver.prototype._getQueryMetadata = function (q, propertyName, typeOrFunc) {
var _this = this;
var selectors;
if (typeof q.selector === 'string') {
- selectors = this._queryVarBindings(q.selector).map(function (varName) { return _this.getTokenMetadata(varName); });
+ selectors =
+ this._queryVarBindings(q.selector).map(function (varName) { return _this._getTokenMetadata(varName); });
}
else {
if (!q.selector) {
throw new Error("Can't construct a query for the property \"" + propertyName + "\" of \"" + stringify(typeOrFunc) + "\" since the query selector wasn't defined.");
}
- selectors = [this.getTokenMetadata(q.selector)];
+ selectors = [this._getTokenMetadata(q.selector)];
}
return new CompileQueryMetadata({
selectors: selectors,
first: q.first,
descendants: q.descendants, propertyName: propertyName,
- read: q.read ? this.getTokenMetadata(q.read) : null
+ read: q.read ? this._getTokenMetadata(q.read) : null
});
};
CompileMetadataResolver.decorators = [
@@ -23772,20 +24496,33 @@
{ type: DirectiveResolver, },
{ type: PipeResolver, },
{ type: ElementSchemaRegistry, },
+ { type: DirectiveNormalizer, },
{ type: ReflectorReader, },
];
return CompileMetadataResolver;
}());
- function getTransitiveModules(modules, includeImports, targetModules, visitedModules) {
+ function getTransitiveExportedModules(modules, targetModules, visitedModules) {
if (targetModules === void 0) { targetModules = []; }
if (visitedModules === void 0) { visitedModules = new Set(); }
modules.forEach(function (ngModule) {
if (!visitedModules.has(ngModule.type.reference)) {
visitedModules.add(ngModule.type.reference);
- var nestedModules = includeImports ?
- ngModule.importedModules.concat(ngModule.exportedModules) :
- ngModule.exportedModules;
- getTransitiveModules(nestedModules, includeImports, targetModules, visitedModules);
+ getTransitiveExportedModules(ngModule.exportedModules, targetModules, visitedModules);
+ // Add after recursing so imported/exported modules are before the module itself.
+ // This is important for overwriting providers of imported modules!
+ targetModules.push(ngModule);
+ }
+ });
+ return targetModules;
+ }
+ function getTransitiveImportedModules(modules, targetModules, visitedModules) {
+ if (targetModules === void 0) { targetModules = []; }
+ if (visitedModules === void 0) { visitedModules = new Set(); }
+ modules.forEach(function (ngModule) {
+ if (!visitedModules.has(ngModule.type.reference)) {
+ visitedModules.add(ngModule.type.reference);
+ var nestedModules = ngModule.importedModules.concat(ngModule.exportedModules);
+ getTransitiveImportedModules(nestedModules, targetModules, visitedModules);
// Add after recursing so imported/exported modules are before the module itself.
// This is important for overwriting providers of imported modules!
targetModules.push(ngModule);
@@ -23808,6 +24545,15 @@
}
return out;
}
+ function dedupeArray(array) {
+ if (array) {
+ return Array.from(new Set(array));
+ }
+ return [];
+ }
+ function flattenAndDedupeArray(tree) {
+ return dedupeArray(flattenArray(tree));
+ }
function isValidType(value) {
return isStaticSymbol(value) || (value instanceof _angular_core.Type);
}
@@ -23833,7 +24579,7 @@
return visitValue(value, new _CompileValueConverter(), targetIdentifiers);
}
var _CompileValueConverter = (function (_super) {
- __extends$15(_CompileValueConverter, _super);
+ __extends$17(_CompileValueConverter, _super);
function _CompileValueConverter() {
_super.apply(this, arguments);
}
@@ -23916,12 +24662,14 @@
this._entryComponentFactories = _entryComponentFactories;
this._bootstrapComponentFactories = _bootstrapComponentFactories;
this._sourceSpan = _sourceSpan;
+ this.fields = [];
+ this.getters = [];
+ this.methods = [];
+ this.ctorStmts = [];
this._tokens = [];
this._instances = new Map();
- this._fields = [];
this._createStmts = [];
this._destroyStmts = [];
- this._getters = [];
}
_InjectorBuilder.prototype.addProvider = function (resolvedProvider) {
var _this = this;
@@ -23948,15 +24696,19 @@
], getMethodStmts.concat([new ReturnStatement(InjectMethodVars$1.notFoundResult)]), DYNAMIC_TYPE),
new ClassMethod('destroyInternal', [], this._destroyStmts),
];
- var ctor = new ClassMethod(null, [new FnParam(InjectorProps.parent.name, importType(resolveIdentifier(Identifiers.Injector)))], [SUPER_EXPR
- .callFn([
- variable(InjectorProps.parent.name),
- literalArr(this._entryComponentFactories.map(function (componentFactory) { return importExpr(componentFactory); })),
- literalArr(this._bootstrapComponentFactories.map(function (componentFactory) { return importExpr(componentFactory); }))
- ])
- .toStmt()]);
+ var parentArgs = [
+ variable(InjectorProps.parent.name),
+ literalArr(this._entryComponentFactories.map(function (componentFactory) { return importExpr(componentFactory); })),
+ literalArr(this._bootstrapComponentFactories.map(function (componentFactory) { return importExpr(componentFactory); }))
+ ];
var injClassName = this._ngModuleMeta.type.name + "Injector";
- return new ClassStmt(injClassName, importExpr(resolveIdentifier(Identifiers.NgModuleInjector), [importType(this._ngModuleMeta.type)]), this._fields, this._getters, ctor, methods);
+ return createClassStmt({
+ name: injClassName,
+ ctorParams: [new FnParam(InjectorProps.parent.name, importType(resolveIdentifier(Identifiers.Injector)))],
+ parent: importExpr(resolveIdentifier(Identifiers.NgModuleInjector), [importType(this._ngModuleMeta.type)]),
+ parentArgs: parentArgs,
+ builders: [{ methods: methods }, this]
+ });
};
_InjectorBuilder.prototype._getProviderValue = function (provider) {
var _this = this;
@@ -23995,18 +24747,18 @@
type = DYNAMIC_TYPE;
}
if (isEager) {
- this._fields.push(new ClassField(propName, type));
+ this.fields.push(new ClassField(propName, type));
this._createStmts.push(THIS_EXPR.prop(propName).set(resolvedProviderValueExpr).toStmt());
}
else {
var internalField = "_" + propName;
- this._fields.push(new ClassField(internalField, type));
+ this.fields.push(new ClassField(internalField, type));
// Note: Equals is important for JS so that it also checks the undefined case!
var getterStmts = [
new IfStmt(THIS_EXPR.prop(internalField).isBlank(), [THIS_EXPR.prop(internalField).set(resolvedProviderValueExpr).toStmt()]),
new ReturnStatement(THIS_EXPR.prop(internalField))
];
- this._getters.push(new ClassGetter(propName, getterStmts, type));
+ this.getters.push(new ClassGetter(propName, getterStmts, type));
}
return THIS_EXPR.prop(propName);
};
@@ -24277,15 +25029,11 @@
ctx.print(")");
return null;
};
- AbstractEmitterVisitor.prototype.visitLiteralExpr = function (ast, ctx, absentValue) {
- if (absentValue === void 0) { absentValue = 'null'; }
+ AbstractEmitterVisitor.prototype.visitLiteralExpr = function (ast, ctx) {
var value = ast.value;
- if (isString(value)) {
+ if (typeof value === 'string') {
ctx.print(escapeIdentifier(value, this._escapeDollarInStrings));
}
- else if (isBlank(value)) {
- ctx.print(absentValue);
- }
else {
ctx.print("" + value);
}
@@ -24463,7 +25211,7 @@
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
- var __extends$16 = (this && this.__extends) || function (d, b) {
+ var __extends$18 = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -24472,13 +25220,7 @@
function debugOutputAstAsTypeScript(ast) {
var converter = new _TsEmitterVisitor(_debugModuleUrl);
var ctx = EmitterVisitorContext.createRoot([]);
- var asts;
- if (isArray(ast)) {
- asts = ast;
- }
- else {
- asts = [ast];
- }
+ var asts = Array.isArray(ast) ? ast : [ast];
asts.forEach(function (ast) {
if (ast instanceof Statement) {
ast.visitStatement(converter, ctx);
@@ -24516,7 +25258,7 @@
return TypeScriptEmitter;
}());
var _TsEmitterVisitor = (function (_super) {
- __extends$16(_TsEmitterVisitor, _super);
+ __extends$18(_TsEmitterVisitor, _super);
function _TsEmitterVisitor(_moduleUrl) {
_super.call(this, false);
this._moduleUrl = _moduleUrl;
@@ -24532,7 +25274,12 @@
}
};
_TsEmitterVisitor.prototype.visitLiteralExpr = function (ast, ctx) {
- _super.prototype.visitLiteralExpr.call(this, ast, ctx, '(null as any)');
+ var value = ast.value;
+ if (isBlank(value) && ast.type != NULL_TYPE) {
+ ctx.print("(" + value + " as any)");
+ return null;
+ }
+ return _super.prototype.visitLiteralExpr.call(this, ast, ctx);
};
// Temporary workaround to support strictNullCheck enabled consumers of ngc emit.
// In SNC mode, [] have the type never[], so we cast here to any[].
@@ -24859,7 +25606,7 @@
_classStmt.fields.forEach(function (field) { _this[field.name] = undefined; });
_executeFunctionStatements(ctorParamNames, args, _classStmt.constructorMethod.body, instanceCtx, _visitor);
};
- var superClass = _classStmt.parent.visitExpression(_visitor, _ctx);
+ var superClass = _classStmt.parent ? _classStmt.parent.visitExpression(_visitor, _ctx) : Object;
ctor.prototype = Object.create(superClass.prototype, propertyDescriptors);
return ctor;
}
@@ -24930,13 +25677,13 @@
if (isPresent(expr.builtin)) {
switch (expr.builtin) {
case BuiltinMethod.ConcatArray:
- result = ListWrapper.concat(receiver, args[0]);
+ result = receiver.concat.apply(receiver, args);
break;
case BuiltinMethod.SubscribeObservable:
result = receiver.subscribe({ next: args[0] });
break;
case BuiltinMethod.Bind:
- result = receiver.bind(args[0]);
+ result = receiver.bind.apply(receiver, args);
break;
default:
throw new Error("Unknown builtin method " + expr.builtin);
@@ -25123,13 +25870,13 @@
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
- var __extends$18 = (this && this.__extends) || function (d, b) {
+ var __extends$20 = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var AbstractJsEmitterVisitor = (function (_super) {
- __extends$18(AbstractJsEmitterVisitor, _super);
+ __extends$20(AbstractJsEmitterVisitor, _super);
function AbstractJsEmitterVisitor() {
_super.call(this, false);
}
@@ -25288,11 +26035,21 @@
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
- var __extends$17 = (this && this.__extends) || function (d, b) {
+ var __extends$19 = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
+ function evalExpression(sourceUrl, expr, declarations, vars) {
+ var fnBody = declarations + "\nreturn " + expr + "\n//# sourceURL=" + sourceUrl;
+ var fnArgNames = [];
+ var fnArgValues = [];
+ for (var argName in vars) {
+ fnArgNames.push(argName);
+ fnArgValues.push(vars[argName]);
+ }
+ return new (Function.bind.apply(Function, [void 0].concat(fnArgNames.concat(fnBody))))().apply(void 0, fnArgValues);
+ }
function jitStatements(sourceUrl, statements, resultVar) {
var converter = new JitEmitterVisitor();
var ctx = EmitterVisitorContext.createRoot([resultVar]);
@@ -25300,7 +26057,7 @@
return evalExpression(sourceUrl, resultVar, ctx.toSource(), converter.getArgs());
}
var JitEmitterVisitor = (function (_super) {
- __extends$17(JitEmitterVisitor, _super);
+ __extends$19(JitEmitterVisitor, _super);
function JitEmitterVisitor() {
_super.apply(this, arguments);
this._evalArgNames = [];
@@ -25319,8 +26076,8 @@
if (id === -1) {
id = this._evalArgValues.length;
this._evalArgValues.push(value);
- var name = isPresent(ast.value.name) ? sanitizeIdentifier(ast.value.name) : 'val';
- this._evalArgNames.push(sanitizeIdentifier("jit_" + name + id));
+ var name_1 = isPresent(ast.value.name) ? sanitizeIdentifier(ast.value.name) : 'val';
+ this._evalArgNames.push(sanitizeIdentifier("jit_" + name_1 + id));
}
ctx.print(this._evalArgNames[id]);
return null;
@@ -25706,7 +26463,11 @@
if (_polyfillHostRe.test(selector)) {
var replaceBy_1 = this.strictStyling ? "[" + hostSelector + "]" : scopeSelector;
return selector
- .replace(_polyfillHostNoCombinatorRe, function (hnc, selector) { return selector[0] === ':' ? replaceBy_1 + selector : selector + replaceBy_1; })
+ .replace(_polyfillHostNoCombinatorRe, function (hnc, selector) {
+ return selector.replace(/([^:]*)(:*)(.*)/, function (_, before, colon, after) {
+ return before + replaceBy_1 + colon + after;
+ });
+ })
.replace(_polyfillHostRe, replaceBy_1 + ' ');
}
return scopeSelector + ' ' + selector;
@@ -25737,23 +26498,15 @@
var t = p.replace(_polyfillHostRe, '');
if (t.length > 0) {
var matches = t.match(/([^:]*)(:*)(.*)/);
- if (matches !== null) {
+ if (matches) {
scopedP = matches[1] + attrName + matches[2] + matches[3];
}
}
}
return scopedP;
};
- var attrSelectorIndex = 0;
- var attrSelectors = [];
- // replace attribute selectors with placeholders to avoid issue with white space being treated
- // as separator
- selector = selector.replace(/\[[^\]]*\]/g, function (attrSelector) {
- var replaceBy = "__attr_sel_" + attrSelectorIndex + "__";
- attrSelectors.push(attrSelector);
- attrSelectorIndex++;
- return replaceBy;
- });
+ var safeContent = new SafeSelector(selector);
+ selector = safeContent.content();
var scopedSelector = '';
var startIndex = 0;
var res;
@@ -25770,7 +26523,7 @@
}
scopedSelector += _scopeSelectorPart(selector.substring(startIndex));
// replace the placeholders with their original values
- return scopedSelector.replace(/__attr_sel_(\d+)__/g, function (ph, index) { return attrSelectors[+index]; });
+ return safeContent.restore(scopedSelector);
};
ShadowCss.prototype._insertPolyfillHostInCssText = function (selector) {
return selector.replace(_colonHostContextRe, _polyfillHostContext)
@@ -25778,6 +26531,36 @@
};
return ShadowCss;
}());
+ var SafeSelector = (function () {
+ function SafeSelector(selector) {
+ var _this = this;
+ this.placeholders = [];
+ this.index = 0;
+ // Replaces attribute selectors with placeholders.
+ // The WS in [attr="va lue"] would otherwise be interpreted as a selector separator.
+ selector = selector.replace(/(\[[^\]]*\])/g, function (_, keep) {
+ var replaceBy = "__ph-" + _this.index + "__";
+ _this.placeholders.push(keep);
+ _this.index++;
+ return replaceBy;
+ });
+ // Replaces the expression in `:nth-child(2n + 1)` with a placeholder.
+ // WS and "+" would otherwise be interpreted as selector separators.
+ this._content = selector.replace(/(:nth-[-\w]+)(\([^)]+\))/g, function (_, pseudo, exp) {
+ var replaceBy = "__ph-" + _this.index + "__";
+ _this.placeholders.push(exp);
+ _this.index++;
+ return pseudo + replaceBy;
+ });
+ }
+ ;
+ SafeSelector.prototype.restore = function (content) {
+ var _this = this;
+ return content.replace(/__ph-(\d+)__/g, function (ph, index) { return _this.placeholders[+index]; });
+ };
+ SafeSelector.prototype.content = function () { return this._content; };
+ return SafeSelector;
+ }());
var _cssContentNextSelectorRe = /polyfill-next-selector[^}]*content:[\s]*?(['"])(.*?)\1[;\s]*}([^{]*?){/gim;
var _cssContentRuleRe = /(polyfill-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim;
var _cssContentUnscopedRuleRe = /(polyfill-unscoped-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim;
@@ -25981,19 +26764,20 @@
* application to XSS risks. For more detail, see the [Security Guide](http://g.co/ng/security).
*/
var RuntimeCompiler = (function () {
- function RuntimeCompiler(_injector, _metadataResolver, _templateNormalizer, _templateParser, _styleCompiler, _viewCompiler, _ngModuleCompiler, _compilerConfig) {
+ function RuntimeCompiler(_injector, _metadataResolver, _templateParser, _styleCompiler, _viewCompiler, _ngModuleCompiler, _directiveWrapperCompiler, _compilerConfig, _animationParser) {
this._injector = _injector;
this._metadataResolver = _metadataResolver;
- this._templateNormalizer = _templateNormalizer;
this._templateParser = _templateParser;
this._styleCompiler = _styleCompiler;
this._viewCompiler = _viewCompiler;
this._ngModuleCompiler = _ngModuleCompiler;
+ this._directiveWrapperCompiler = _directiveWrapperCompiler;
this._compilerConfig = _compilerConfig;
+ this._animationParser = _animationParser;
this._compiledTemplateCache = new Map();
this._compiledHostTemplateCache = new Map();
+ this._compiledDirectiveWrapperCache = new Map();
this._compiledNgModuleCache = new Map();
- this._animationParser = new AnimationParser();
this._animationCompiler = new AnimationCompiler();
}
Object.defineProperty(RuntimeCompiler.prototype, "injector", {
@@ -26014,36 +26798,48 @@
return this._compileModuleAndAllComponents(moduleType, false).asyncResult;
};
RuntimeCompiler.prototype._compileModuleAndComponents = function (moduleType, isSync) {
- var componentPromise = this._compileComponents(moduleType, isSync);
- var ngModuleFactory = this._compileModule(moduleType);
- return new SyncAsyncResult(ngModuleFactory, componentPromise.then(function () { return ngModuleFactory; }));
+ var _this = this;
+ var loadingPromise = this._loadModules(moduleType, isSync);
+ var createResult = function () {
+ _this._compileComponents(moduleType, null);
+ return _this._compileModule(moduleType);
+ };
+ if (isSync) {
+ return new SyncAsyncResult(createResult());
+ }
+ else {
+ return new SyncAsyncResult(null, loadingPromise.then(createResult));
+ }
};
RuntimeCompiler.prototype._compileModuleAndAllComponents = function (moduleType, isSync) {
var _this = this;
- var componentPromise = this._compileComponents(moduleType, isSync);
- var ngModuleFactory = this._compileModule(moduleType);
- var moduleMeta = this._metadataResolver.getNgModuleMetadata(moduleType);
- var componentFactories = [];
- var templates = new Set();
- moduleMeta.transitiveModule.modules.forEach(function (moduleMeta) {
- moduleMeta.declaredDirectives.forEach(function (dirMeta) {
- if (dirMeta.isComponent) {
- var template = _this._createCompiledHostTemplate(dirMeta.type.reference);
- templates.add(template);
- componentFactories.push(template.proxyComponentFactory);
- }
- });
- });
- var syncResult = new _angular_core.ModuleWithComponentFactories(ngModuleFactory, componentFactories);
- // Note: host components themselves can always be compiled synchronously as they have an
- // inline template. However, we still need to wait for the components that they
- // reference to be loaded / compiled.
- var compile = function () {
- templates.forEach(function (template) { _this._compileTemplate(template); });
- return syncResult;
+ var loadingPromise = this._loadModules(moduleType, isSync);
+ var createResult = function () {
+ var componentFactories = [];
+ _this._compileComponents(moduleType, componentFactories);
+ return new _angular_core.ModuleWithComponentFactories(_this._compileModule(moduleType), componentFactories);
};
- var asyncResult = isSync ? Promise.resolve(compile()) : componentPromise.then(compile);
- return new SyncAsyncResult(syncResult, asyncResult);
+ if (isSync) {
+ return new SyncAsyncResult(createResult());
+ }
+ else {
+ return new SyncAsyncResult(null, loadingPromise.then(createResult));
+ }
+ };
+ RuntimeCompiler.prototype._loadModules = function (mainModule, isSync) {
+ var _this = this;
+ var loadingPromises = [];
+ var _a = this._metadataResolver.loadNgModuleMetadata(mainModule, isSync), ngModule = _a.ngModule, loading = _a.loading;
+ loadingPromises.push(loading);
+ // Note: the loadingPromise for a module only includes the loading of the exported directives
+ // of imported modules.
+ // However, for runtime compilation, we want to transitively compile all modules,
+ // so we also need to call loadNgModuleMetadata for all nested modules.
+ ngModule.transitiveModule.modules.forEach(function (localModuleMeta) {
+ loadingPromises.push(_this._metadataResolver.loadNgModuleMetadata(localModuleMeta.type.reference, isSync)
+ .loading);
+ });
+ return Promise.all(loadingPromises);
};
RuntimeCompiler.prototype._compileModule = function (moduleType) {
var _this = this;
@@ -26063,7 +26859,7 @@
interpretStatements(compileResult.statements, compileResult.ngModuleFactoryVar);
}
else {
- ngModuleFactory = jitStatements(moduleMeta_1.type.name + ".ngfactory.js", compileResult.statements, compileResult.ngModuleFactoryVar);
+ ngModuleFactory = jitStatements("/" + moduleMeta_1.type.name + "/module.ngfactory.js", compileResult.statements, compileResult.ngModuleFactoryVar);
}
this._compiledNgModuleCache.set(moduleMeta_1.type.reference, ngModuleFactory);
}
@@ -26072,43 +26868,44 @@
/**
* @internal
*/
- RuntimeCompiler.prototype._compileComponents = function (mainModule, isSync) {
+ RuntimeCompiler.prototype._compileComponents = function (mainModule, allComponentFactories) {
var _this = this;
- var templates = new Set();
- var loadingPromises = [];
var ngModule = this._metadataResolver.getNgModuleMetadata(mainModule);
- ngModule.transitiveModule.modules.forEach(function (localModuleMeta) {
- localModuleMeta.declaredDirectives.forEach(function (dirMeta) {
+ var moduleByDirective = new Map();
+ var templates = new Set();
+ ngModule.transitiveModule.modules.forEach(function (localModuleSummary) {
+ var localModuleMeta = _this._metadataResolver.getNgModuleMetadata(localModuleSummary.type.reference);
+ localModuleMeta.declaredDirectives.forEach(function (dirIdentifier) {
+ moduleByDirective.set(dirIdentifier.reference, localModuleMeta);
+ var dirMeta = _this._metadataResolver.getDirectiveMetadata(dirIdentifier.reference);
+ _this._compileDirectiveWrapper(dirMeta, localModuleMeta);
if (dirMeta.isComponent) {
templates.add(_this._createCompiledTemplate(dirMeta, localModuleMeta));
+ if (allComponentFactories) {
+ var template = _this._createCompiledHostTemplate(dirMeta.type.reference, localModuleMeta);
+ templates.add(template);
+ allComponentFactories.push(template.proxyComponentFactory);
+ }
+ }
+ });
+ });
+ ngModule.transitiveModule.modules.forEach(function (localModuleSummary) {
+ var localModuleMeta = _this._metadataResolver.getNgModuleMetadata(localModuleSummary.type.reference);
+ localModuleMeta.declaredDirectives.forEach(function (dirIdentifier) {
+ var dirMeta = _this._metadataResolver.getDirectiveMetadata(dirIdentifier.reference);
+ if (dirMeta.isComponent) {
dirMeta.entryComponents.forEach(function (entryComponentType) {
- templates.add(_this._createCompiledHostTemplate(entryComponentType.reference));
+ var moduleMeta = moduleByDirective.get(entryComponentType.reference);
+ templates.add(_this._createCompiledHostTemplate(entryComponentType.reference, moduleMeta));
});
}
});
localModuleMeta.entryComponents.forEach(function (entryComponentType) {
- templates.add(_this._createCompiledHostTemplate(entryComponentType.reference));
- // TODO: what about entryComponents of entryComponents?
+ var moduleMeta = moduleByDirective.get(entryComponentType.reference);
+ templates.add(_this._createCompiledHostTemplate(entryComponentType.reference, moduleMeta));
});
});
- templates.forEach(function (template) {
- if (template.loading) {
- if (isSync) {
- throw new ComponentStillLoadingError(template.compType.reference);
- }
- else {
- loadingPromises.push(template.loading);
- }
- }
- });
- var compile = function () { templates.forEach(function (template) { _this._compileTemplate(template); }); };
- if (isSync) {
- compile();
- return Promise.resolve(null);
- }
- else {
- return Promise.all(loadingPromises).then(compile);
- }
+ templates.forEach(function (template) { return _this._compileTemplate(template); });
};
RuntimeCompiler.prototype.clearCacheFor = function (type) {
this._compiledNgModuleCache.delete(type);
@@ -26116,7 +26913,6 @@
this._compiledHostTemplateCache.delete(type);
var compiledTemplate = this._compiledTemplateCache.get(type);
if (compiledTemplate) {
- this._templateNormalizer.clearCacheFor(compiledTemplate.normalizedCompMeta);
this._compiledTemplateCache.delete(type);
}
};
@@ -26124,16 +26920,18 @@
this._metadataResolver.clearCache();
this._compiledTemplateCache.clear();
this._compiledHostTemplateCache.clear();
- this._templateNormalizer.clearCache();
this._compiledNgModuleCache.clear();
};
- RuntimeCompiler.prototype._createCompiledHostTemplate = function (compType) {
+ RuntimeCompiler.prototype._createCompiledHostTemplate = function (compType, ngModule) {
+ if (!ngModule) {
+ throw new Error("Component " + stringify(compType) + " is not part of any NgModule or the module has not been imported into your module.");
+ }
var compiledTemplate = this._compiledHostTemplateCache.get(compType);
if (!compiledTemplate) {
var compMeta = this._metadataResolver.getDirectiveMetadata(compType);
assertComponent(compMeta);
var hostMeta = createHostComponentMeta(compMeta);
- compiledTemplate = new CompiledTemplate(true, compMeta.selector, compMeta.type, [compMeta], [], [], this._templateNormalizer.normalizeDirective(hostMeta));
+ compiledTemplate = new CompiledTemplate(true, compMeta.selector, compMeta.type, hostMeta, ngModule, [compMeta.type]);
this._compiledHostTemplateCache.set(compType, compiledTemplate);
}
return compiledTemplate;
@@ -26142,7 +26940,7 @@
var compiledTemplate = this._compiledTemplateCache.get(compMeta.type.reference);
if (!compiledTemplate) {
assertComponent(compMeta);
- compiledTemplate = new CompiledTemplate(false, compMeta.selector, compMeta.type, ngModule.transitiveModule.directives, ngModule.transitiveModule.pipes, ngModule.schemas, this._templateNormalizer.normalizeDirective(compMeta));
+ compiledTemplate = new CompiledTemplate(false, compMeta.selector, compMeta.type, compMeta, ngModule, ngModule.transitiveModule.directives);
this._compiledTemplateCache.set(compMeta.type.reference, compiledTemplate);
}
return compiledTemplate;
@@ -26151,62 +26949,75 @@
var compiledTemplate = isHost ? this._compiledHostTemplateCache.get(compType) :
this._compiledTemplateCache.get(compType);
if (!compiledTemplate) {
- if (isHost) {
- throw new Error("Illegal state: Compiled view for component " + stringify(compType) + " does not exist!");
- }
- else {
- throw new Error("Component " + stringify(compType) + " is not part of any NgModule or the module has not been imported into your module.");
- }
+ throw new Error("Illegal state: Compiled view for component " + stringify(compType) + " (host: " + isHost + ") does not exist!");
}
return compiledTemplate;
};
- RuntimeCompiler.prototype._assertComponentLoaded = function (compType, isHost) {
- var compiledTemplate = this._assertComponentKnown(compType, isHost);
- if (compiledTemplate.loading) {
- throw new Error("Illegal state: CompiledTemplate for " + stringify(compType) + " (isHost: " + isHost + ") is still loading!");
+ RuntimeCompiler.prototype._assertDirectiveWrapper = function (dirType) {
+ var dirWrapper = this._compiledDirectiveWrapperCache.get(dirType);
+ if (!dirWrapper) {
+ throw new Error("Illegal state: Directive wrapper for " + stringify(dirType) + " has not been compiled!");
}
- return compiledTemplate;
+ return dirWrapper;
+ };
+ RuntimeCompiler.prototype._compileDirectiveWrapper = function (dirMeta, moduleMeta) {
+ var compileResult = this._directiveWrapperCompiler.compile(dirMeta);
+ var statements = compileResult.statements;
+ var directiveWrapperClass;
+ if (!this._compilerConfig.useJit) {
+ directiveWrapperClass = interpretStatements(statements, compileResult.dirWrapperClassVar);
+ }
+ else {
+ directiveWrapperClass = jitStatements("/" + moduleMeta.type.name + "/" + dirMeta.type.name + "/wrapper.ngfactory.js", statements, compileResult.dirWrapperClassVar);
+ }
+ this._compiledDirectiveWrapperCache.set(dirMeta.type.reference, directiveWrapperClass);
};
RuntimeCompiler.prototype._compileTemplate = function (template) {
var _this = this;
if (template.isCompiled) {
return;
}
- var compMeta = template.normalizedCompMeta;
+ var compMeta = template.compMeta;
var externalStylesheetsByModuleUrl = new Map();
var stylesCompileResult = this._styleCompiler.compileComponent(compMeta);
stylesCompileResult.externalStylesheets.forEach(function (r) { externalStylesheetsByModuleUrl.set(r.meta.moduleUrl, r); });
this._resolveStylesCompileResult(stylesCompileResult.componentStylesheet, externalStylesheetsByModuleUrl);
- var viewCompMetas = template.viewComponentTypes.map(function (compType) { return _this._assertComponentLoaded(compType, false).normalizedCompMeta; });
var parsedAnimations = this._animationParser.parseComponent(compMeta);
- var parsedTemplate = this._templateParser.parse(compMeta, compMeta.template.template, template.viewDirectives.concat(viewCompMetas), template.viewPipes, template.schemas, compMeta.type.name);
+ var directives = template.directives.map(function (dir) { return _this._metadataResolver.getDirectiveSummary(dir.reference); });
+ var pipes = template.ngModule.transitiveModule.pipes.map(function (pipe) { return _this._metadataResolver.getPipeSummary(pipe.reference); });
+ var parsedTemplate = this._templateParser.parse(compMeta, compMeta.template.template, directives, pipes, template.ngModule.schemas, compMeta.type.name);
var compiledAnimations = this._animationCompiler.compile(compMeta.type.name, parsedAnimations);
- var compileResult = this._viewCompiler.compileComponent(compMeta, parsedTemplate, variable(stylesCompileResult.componentStylesheet.stylesVar), template.viewPipes, compiledAnimations);
+ var compileResult = this._viewCompiler.compileComponent(compMeta, parsedTemplate, variable(stylesCompileResult.componentStylesheet.stylesVar), pipes, compiledAnimations);
compileResult.dependencies.forEach(function (dep) {
var depTemplate;
- if (dep instanceof ViewFactoryDependency) {
+ if (dep instanceof ViewClassDependency) {
var vfd = dep;
- depTemplate = _this._assertComponentLoaded(vfd.comp.reference, false);
- vfd.placeholder.reference = depTemplate.proxyViewFactory;
- vfd.placeholder.name = "viewFactory_" + vfd.comp.name;
+ depTemplate = _this._assertComponentKnown(vfd.comp.reference, false);
+ vfd.placeholder.reference = depTemplate.proxyViewClass;
+ vfd.placeholder.name = "View_" + vfd.comp.name;
}
else if (dep instanceof ComponentFactoryDependency) {
var cfd = dep;
- depTemplate = _this._assertComponentLoaded(cfd.comp.reference, true);
+ depTemplate = _this._assertComponentKnown(cfd.comp.reference, true);
cfd.placeholder.reference = depTemplate.proxyComponentFactory;
cfd.placeholder.name = "compFactory_" + cfd.comp.name;
}
+ else if (dep instanceof DirectiveWrapperDependency) {
+ var dwd = dep;
+ dwd.placeholder.reference = _this._assertDirectiveWrapper(dwd.dir.reference);
+ }
});
- var statements = stylesCompileResult.componentStylesheet.statements.concat(compileResult.statements);
- compiledAnimations.forEach(function (entry) { entry.statements.forEach(function (statement) { statements.push(statement); }); });
- var factory;
+ var statements = (_a = stylesCompileResult.componentStylesheet.statements).concat.apply(_a, compiledAnimations.map(function (ca) { return ca.statements; }))
+ .concat(compileResult.statements);
+ var viewClass;
if (!this._compilerConfig.useJit) {
- factory = interpretStatements(statements, compileResult.viewFactoryVar);
+ viewClass = interpretStatements(statements, compileResult.viewClassVar);
}
else {
- factory = jitStatements("" + template.compType.name + (template.isHost ? '_Host' : '') + ".ngfactory.js", statements, compileResult.viewFactoryVar);
+ viewClass = jitStatements("/" + template.ngModule.type.name + "/" + template.compType.name + "/" + (template.isHost ? 'host' : 'component') + ".ngfactory.js", statements, compileResult.viewClassVar);
}
- template.compiled(factory);
+ template.compiled(viewClass);
+ var _a;
};
RuntimeCompiler.prototype._resolveStylesCompileResult = function (result, externalStylesheetsByModuleUrl) {
var _this = this;
@@ -26223,7 +27034,7 @@
return interpretStatements(result.statements, result.stylesVar);
}
else {
- return jitStatements(result.meta.moduleUrl + ".css.js", result.statements, result.stylesVar);
+ return jitStatements("/" + result.meta.moduleUrl + ".css.js", result.statements, result.stylesVar);
}
};
RuntimeCompiler.decorators = [
@@ -26233,75 +27044,41 @@
RuntimeCompiler.ctorParameters = [
{ type: _angular_core.Injector, },
{ type: CompileMetadataResolver, },
- { type: DirectiveNormalizer, },
{ type: TemplateParser, },
{ type: StyleCompiler, },
{ type: ViewCompiler, },
{ type: NgModuleCompiler, },
+ { type: DirectiveWrapperCompiler, },
{ type: CompilerConfig, },
+ { type: AnimationParser, },
];
return RuntimeCompiler;
}());
var CompiledTemplate = (function () {
- function CompiledTemplate(isHost, selector, compType, viewDirectivesAndComponents, viewPipes, schemas, _normalizeResult) {
- var _this = this;
+ function CompiledTemplate(isHost, selector, compType, compMeta, ngModule, directives) {
this.isHost = isHost;
this.compType = compType;
- this.viewPipes = viewPipes;
- this.schemas = schemas;
- this._viewFactory = null;
- this.loading = null;
- this._normalizedCompMeta = null;
+ this.compMeta = compMeta;
+ this.ngModule = ngModule;
+ this.directives = directives;
+ this._viewClass = null;
this.isCompiled = false;
- this.isCompiledWithDeps = false;
- this.viewComponentTypes = [];
- this.viewDirectives = [];
- viewDirectivesAndComponents.forEach(function (dirMeta) {
- if (dirMeta.isComponent) {
- _this.viewComponentTypes.push(dirMeta.type.reference);
+ var self = this;
+ this.proxyViewClass = function () {
+ if (!self._viewClass) {
+ throw new Error("Illegal state: CompiledTemplate for " + stringify(self.compType) + " is not compiled yet!");
}
- else {
- _this.viewDirectives.push(dirMeta);
- }
- });
- this.proxyViewFactory = function () {
- var args = [];
- for (var _i = 0; _i < arguments.length; _i++) {
- args[_i - 0] = arguments[_i];
- }
- if (!_this._viewFactory) {
- throw new Error("Illegal state: CompiledTemplate for " + stringify(_this.compType) + " is not compiled yet!");
- }
- return _this._viewFactory.apply(null, args);
+ return self._viewClass.apply(this, arguments);
};
this.proxyComponentFactory = isHost ?
- new _angular_core.ComponentFactory(selector, this.proxyViewFactory, compType.reference) :
+ new _angular_core.ComponentFactory(selector, this.proxyViewClass, compType.reference) :
null;
- if (_normalizeResult.syncResult) {
- this._normalizedCompMeta = _normalizeResult.syncResult;
- }
- else {
- this.loading = _normalizeResult.asyncResult.then(function (normalizedCompMeta) {
- _this._normalizedCompMeta = normalizedCompMeta;
- _this.loading = null;
- });
- }
}
- Object.defineProperty(CompiledTemplate.prototype, "normalizedCompMeta", {
- get: function () {
- if (this.loading) {
- throw new Error("Template is still loading for " + this.compType.name + "!");
- }
- return this._normalizedCompMeta;
- },
- enumerable: true,
- configurable: true
- });
- CompiledTemplate.prototype.compiled = function (viewFactory) {
- this._viewFactory = viewFactory;
+ CompiledTemplate.prototype.compiled = function (viewClass) {
+ this._viewClass = viewClass;
+ this.proxyViewClass.prototype = viewClass.prototype;
this.isCompiled = true;
};
- CompiledTemplate.prototype.depsCompiled = function () { this.isCompiledWithDeps = true; };
return CompiledTemplate;
}());
function assertComponent(meta) {
@@ -26400,7 +27177,7 @@
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
- var __extends$19 = (this && this.__extends) || function (d, b) {
+ var __extends$21 = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -26617,13 +27394,14 @@
];
var _ATTR_TO_PROP = {
'class': 'className',
+ 'for': 'htmlFor',
'formaction': 'formAction',
'innerHtml': 'innerHTML',
'readonly': 'readOnly',
'tabindex': 'tabIndex',
};
var DomElementSchemaRegistry = (function (_super) {
- __extends$19(DomElementSchemaRegistry, _super);
+ __extends$21(DomElementSchemaRegistry, _super);
function DomElementSchemaRegistry() {
var _this = this;
_super.call(this);
@@ -26706,7 +27484,11 @@
* 'NONE' security context, i.e. that they are safe inert string values. Only specific well known
* attack vectors are assigned their appropriate context.
*/
- DomElementSchemaRegistry.prototype.securityContext = function (tagName, propName) {
+ DomElementSchemaRegistry.prototype.securityContext = function (tagName, propName, isAttribute) {
+ if (isAttribute) {
+ // NB: For security purposes, use the mapped property name, not the attribute name.
+ propName = this.getMappedPropName(propName);
+ }
// Make sure comparisons are case insensitive, so that case differences between attribute and
// property names do not have a security impact.
tagName = tagName.toLowerCase();
@@ -26742,6 +27524,27 @@
return { error: false };
}
};
+ DomElementSchemaRegistry.prototype.allKnownElementNames = function () { return Object.keys(this._schema); };
+ DomElementSchemaRegistry.prototype.normalizeAnimationStyleProperty = function (propName) {
+ return dashCaseToCamelCase(propName);
+ };
+ DomElementSchemaRegistry.prototype.normalizeAnimationStyleValue = function (camelCaseProp, userProvidedProp, val) {
+ var unit = '';
+ var strVal = val.toString().trim();
+ var errorMsg = null;
+ if (_isPixelDimensionStyle(camelCaseProp) && val !== 0 && val !== '0') {
+ if (typeof val === 'number') {
+ unit = 'px';
+ }
+ else {
+ var valAndSuffixMatch = val.match(/^[+-]?[\d\.]+([a-z]*)$/);
+ if (valAndSuffixMatch && valAndSuffixMatch[1].length == 0) {
+ errorMsg = "Please provide a CSS unit value for " + userProvidedProp + ":" + val;
+ }
+ }
+ }
+ return { error: errorMsg, value: strVal + unit };
+ };
DomElementSchemaRegistry.decorators = [
{ type: _angular_core.Injectable },
];
@@ -26749,6 +27552,41 @@
DomElementSchemaRegistry.ctorParameters = [];
return DomElementSchemaRegistry;
}(ElementSchemaRegistry));
+ function _isPixelDimensionStyle(prop) {
+ switch (prop) {
+ case 'width':
+ case 'height':
+ case 'minWidth':
+ case 'minHeight':
+ case 'maxWidth':
+ case 'maxHeight':
+ case 'left':
+ case 'top':
+ case 'bottom':
+ case 'right':
+ case 'fontSize':
+ case 'outlineWidth':
+ case 'outlineOffset':
+ case 'paddingTop':
+ case 'paddingLeft':
+ case 'paddingBottom':
+ case 'paddingRight':
+ case 'marginTop':
+ case 'marginLeft':
+ case 'marginBottom':
+ case 'marginRight':
+ case 'borderRadius':
+ case 'borderWidth':
+ case 'borderTopWidth':
+ case 'borderLeftWidth':
+ case 'borderRightWidth':
+ case 'borderBottomWidth':
+ case 'textIndent':
+ return true;
+ default:
+ return false;
+ }
+ }
var _NO_RESOURCE_LOADER = {
get: function (url) {
@@ -26785,6 +27623,7 @@
StyleCompiler,
ViewCompiler,
NgModuleCompiler,
+ DirectiveWrapperCompiler,
{ provide: CompilerConfig, useValue: new CompilerConfig() },
RuntimeCompiler,
{ provide: _angular_core.Compiler, useExisting: RuntimeCompiler },
@@ -26793,7 +27632,8 @@
UrlResolver,
DirectiveResolver,
PipeResolver,
- NgModuleResolver
+ NgModuleResolver,
+ AnimationParser
];
var RuntimeCompilerFactory = (function () {
function RuntimeCompilerFactory(defaultOptions) {
@@ -26911,64 +27751,19 @@
return AssetUrl;
}());
- var __compiler_private__ = {
- SelectorMatcher: SelectorMatcher,
- CssSelector: CssSelector,
- AssetUrl: AssetUrl,
- ImportGenerator: ImportGenerator,
- CompileMetadataResolver: CompileMetadataResolver,
- HtmlParser: HtmlParser,
- InterpolationConfig: InterpolationConfig,
- DirectiveNormalizer: DirectiveNormalizer,
- Lexer: Lexer,
- Parser: Parser,
- ParseLocation: ParseLocation,
- ParseError: ParseError,
- ParseErrorLevel: ParseErrorLevel,
- ParseSourceFile: ParseSourceFile,
- ParseSourceSpan: ParseSourceSpan,
- TemplateParser: TemplateParser,
- DomElementSchemaRegistry: DomElementSchemaRegistry,
- StyleCompiler: StyleCompiler,
- ViewCompiler: ViewCompiler,
- NgModuleCompiler: NgModuleCompiler,
- TypeScriptEmitter: TypeScriptEmitter
- };
-
- exports.COMPILER_PROVIDERS = COMPILER_PROVIDERS;
- exports.CompileDiDependencyMetadata = CompileDiDependencyMetadata;
- exports.CompileDirectiveMetadata = CompileDirectiveMetadata;
- exports.CompileFactoryMetadata = CompileFactoryMetadata;
- exports.CompileIdentifierMetadata = CompileIdentifierMetadata;
- exports.CompileMetadataWithIdentifier = CompileMetadataWithIdentifier;
- exports.CompilePipeMetadata = CompilePipeMetadata;
- exports.CompileProviderMetadata = CompileProviderMetadata;
- exports.CompileQueryMetadata = CompileQueryMetadata;
- exports.CompileTemplateMetadata = CompileTemplateMetadata;
- exports.CompileTokenMetadata = CompileTokenMetadata;
- exports.CompileTypeMetadata = CompileTypeMetadata;
- exports.CompilerConfig = CompilerConfig;
- exports.DEFAULT_PACKAGE_URL_PROVIDER = DEFAULT_PACKAGE_URL_PROVIDER;
- exports.DirectiveResolver = DirectiveResolver;
- exports.NgModuleResolver = NgModuleResolver;
- exports.OfflineCompiler = OfflineCompiler;
- exports.PipeResolver = PipeResolver;
- exports.RenderTypes = RenderTypes;
- exports.ResourceLoader = ResourceLoader;
- exports.RuntimeCompiler = RuntimeCompiler;
- exports.SourceModule = SourceModule;
exports.TEMPLATE_TRANSFORMS = TEMPLATE_TRANSFORMS;
- exports.UrlResolver = UrlResolver;
- exports.createOfflineCompileUrlResolver = createOfflineCompileUrlResolver;
- exports.platformCoreDynamic = platformCoreDynamic;
+ exports.CompilerConfig = CompilerConfig;
+ exports.RenderTypes = RenderTypes;
+ exports.RuntimeCompiler = RuntimeCompiler;
+ exports.DirectiveResolver = DirectiveResolver;
+ exports.PipeResolver = PipeResolver;
+ exports.NgModuleResolver = NgModuleResolver;
exports.DEFAULT_INTERPOLATION_CONFIG = DEFAULT_INTERPOLATION_CONFIG;
exports.InterpolationConfig = InterpolationConfig;
- exports.ElementSchemaRegistry = ElementSchemaRegistry;
- exports.I18NHtmlParser = I18NHtmlParser;
- exports.MessageBundle = MessageBundle;
- exports.Xliff = Xliff;
- exports.Xmb = Xmb;
- exports.Xtb = Xtb;
+ exports.NgModuleCompiler = NgModuleCompiler;
+ exports.DirectiveWrapperCompiler = DirectiveWrapperCompiler;
+ exports.ViewCompiler = ViewCompiler;
+ exports.AnimationParser = AnimationParser;
exports.TextAst = TextAst;
exports.BoundTextAst = BoundTextAst;
exports.AttrAst = AttrAst;
@@ -26983,18 +27778,100 @@
exports.ProviderAst = ProviderAst;
exports.NgContentAst = NgContentAst;
exports.templateVisitAll = templateVisitAll;
- exports.__compiler_private__ = __compiler_private__;
+ exports.CompileMetadataWithIdentifier = CompileMetadataWithIdentifier;
+ exports.CompileAnimationEntryMetadata = CompileAnimationEntryMetadata;
+ exports.CompileAnimationStateMetadata = CompileAnimationStateMetadata;
+ exports.CompileAnimationStateDeclarationMetadata = CompileAnimationStateDeclarationMetadata;
+ exports.CompileAnimationStateTransitionMetadata = CompileAnimationStateTransitionMetadata;
+ exports.CompileAnimationMetadata = CompileAnimationMetadata;
+ exports.CompileAnimationKeyframesSequenceMetadata = CompileAnimationKeyframesSequenceMetadata;
+ exports.CompileAnimationStyleMetadata = CompileAnimationStyleMetadata;
+ exports.CompileAnimationAnimateMetadata = CompileAnimationAnimateMetadata;
+ exports.CompileAnimationWithStepsMetadata = CompileAnimationWithStepsMetadata;
+ exports.CompileAnimationSequenceMetadata = CompileAnimationSequenceMetadata;
+ exports.CompileAnimationGroupMetadata = CompileAnimationGroupMetadata;
+ exports.CompileIdentifierMetadata = CompileIdentifierMetadata;
+ exports.CompileDiDependencyMetadata = CompileDiDependencyMetadata;
+ exports.CompileProviderMetadata = CompileProviderMetadata;
+ exports.CompileFactoryMetadata = CompileFactoryMetadata;
+ exports.CompileTokenMetadata = CompileTokenMetadata;
+ exports.CompileTypeMetadata = CompileTypeMetadata;
+ exports.CompileQueryMetadata = CompileQueryMetadata;
+ exports.CompileStylesheetMetadata = CompileStylesheetMetadata;
+ exports.CompileTemplateMetadata = CompileTemplateMetadata;
+ exports.CompileDirectiveMetadata = CompileDirectiveMetadata;
+ exports.createHostComponentMeta = createHostComponentMeta;
+ exports.CompilePipeMetadata = CompilePipeMetadata;
+ exports.CompileNgModuleMetadata = CompileNgModuleMetadata;
+ exports.TransitiveCompileNgModuleMetadata = TransitiveCompileNgModuleMetadata;
+ exports.removeIdentifierDuplicates = removeIdentifierDuplicates;
+ exports.isStaticSymbol = isStaticSymbol;
+ exports.ProviderMeta = ProviderMeta;
+ exports.SourceModule = SourceModule;
+ exports.analyzeNgModules = analyzeNgModules;
+ exports.analyzeAndValidateNgModules = analyzeAndValidateNgModules;
+ exports.loadNgModuleDirectives = loadNgModuleDirectives;
+ exports.OfflineCompiler = OfflineCompiler;
+ exports.createUrlResolverWithoutPackagePrefix = createUrlResolverWithoutPackagePrefix;
+ exports.createOfflineCompileUrlResolver = createOfflineCompileUrlResolver;
+ exports.DEFAULT_PACKAGE_URL_PROVIDER = DEFAULT_PACKAGE_URL_PROVIDER;
+ exports.UrlResolver = UrlResolver;
+ exports.getUrlScheme = getUrlScheme;
+ exports.ResourceLoader = ResourceLoader;
+ exports.COMPILER_PROVIDERS = COMPILER_PROVIDERS;
+ exports.RuntimeCompilerFactory = RuntimeCompilerFactory;
+ exports.platformCoreDynamic = platformCoreDynamic;
+ exports.ElementSchemaRegistry = ElementSchemaRegistry;
+ exports.I18NHtmlParser = I18NHtmlParser;
+ exports.MessageBundle = MessageBundle;
+ exports.Xliff = Xliff;
+ exports.Xmb = Xmb;
+ exports.Xtb = Xtb;
+ exports.DirectiveNormalizer = DirectiveNormalizer;
+ exports.Lexer = Lexer;
+ exports.Token = Token;
+ exports.EOF = EOF;
+ exports.isIdentifier = isIdentifier;
+ exports.isQuote = isQuote;
+ exports.SplitInterpolation = SplitInterpolation;
+ exports.TemplateBindingParseResult = TemplateBindingParseResult;
+ exports.Parser = Parser;
+ exports._ParseAST = _ParseAST;
+ exports.CompileMetadataResolver = CompileMetadataResolver;
+ exports.HtmlParser = HtmlParser;
+ exports.ParseTreeResult = ParseTreeResult;
+ exports.TreeError = TreeError;
+ exports.ImportGenerator = ImportGenerator;
+ exports.AssetUrl = AssetUrl;
+ exports.debugOutputAstAsTypeScript = debugOutputAstAsTypeScript;
+ exports.TypeScriptEmitter = TypeScriptEmitter;
+ exports.ParseLocation = ParseLocation;
+ exports.ParseSourceFile = ParseSourceFile;
+ exports.ParseSourceSpan = ParseSourceSpan;
+ exports.ParseError = ParseError;
+ exports.DomElementSchemaRegistry = DomElementSchemaRegistry;
+ exports.CssSelector = CssSelector;
+ exports.SelectorMatcher = SelectorMatcher;
+ exports.SelectorListContext = SelectorListContext;
+ exports.SelectorContext = SelectorContext;
+ exports.StylesCompileDependency = StylesCompileDependency;
+ exports.StylesCompileResult = StylesCompileResult;
+ exports.CompiledStylesheet = CompiledStylesheet;
+ exports.StyleCompiler = StyleCompiler;
+ exports.TemplateParseError = TemplateParseError;
+ exports.TemplateParseResult = TemplateParseResult;
+ exports.TemplateParser = TemplateParser;
+ exports.splitClasses = splitClasses;
+ exports.removeSummaryDuplicates = removeSummaryDuplicates;
}));
-
- /* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
/***/ },
/* 313 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(global) {/**
- * @license Angular v2.1.0
+ * @license Angular v2.2.3
* (c) 2010-2016 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -27040,25 +27917,16 @@
// TODO: to be fixed properly via #2830, noop for now
};
function isPresent(obj) {
- return obj !== undefined && obj !== null;
+ return obj != null;
}
function isBlank(obj) {
- return obj === undefined || obj === null;
- }
- function isString(obj) {
- return typeof obj === 'string';
- }
- function isFunction(obj) {
- return typeof obj === 'function';
- }
- function isArray(obj) {
- return Array.isArray(obj);
+ return obj == null;
}
function stringify(token) {
if (typeof token === 'string') {
return token;
}
- if (token === undefined || token === null) {
+ if (token == null) {
return '' + token;
}
if (token.overriddenName) {
@@ -27071,56 +27939,10 @@
var newLineIndex = res.indexOf('\n');
return newLineIndex === -1 ? res : res.substring(0, newLineIndex);
}
- var NumberWrapper = (function () {
- function NumberWrapper() {
- }
- NumberWrapper.toFixed = function (n, fractionDigits) { return n.toFixed(fractionDigits); };
- NumberWrapper.equal = function (a, b) { return a === b; };
- NumberWrapper.parseIntAutoRadix = function (text) {
- var result = parseInt(text);
- if (isNaN(result)) {
- throw new Error('Invalid integer literal when parsing ' + text);
- }
- return result;
- };
- NumberWrapper.parseInt = function (text, radix) {
- if (radix == 10) {
- if (/^(\-|\+)?[0-9]+$/.test(text)) {
- return parseInt(text, radix);
- }
- }
- else if (radix == 16) {
- if (/^(\-|\+)?[0-9ABCDEFabcdef]+$/.test(text)) {
- return parseInt(text, radix);
- }
- }
- else {
- var result = parseInt(text, radix);
- if (!isNaN(result)) {
- return result;
- }
- }
- throw new Error('Invalid integer literal when parsing ' + text + ' in base ' + radix);
- };
- Object.defineProperty(NumberWrapper, "NaN", {
- get: function () { return NaN; },
- enumerable: true,
- configurable: true
- });
- NumberWrapper.isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };
- NumberWrapper.isNaN = function (value) { return isNaN(value); };
- NumberWrapper.isInteger = function (value) { return Number.isInteger(value); };
- return NumberWrapper;
- }());
// JS has NaN !== NaN
function looseIdentical(a, b) {
return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);
}
- // JS considers NaN is the same as NaN for map Key (while NaN !== NaN otherwise)
- // see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map
- function getMapKey(value) {
- return value;
- }
function isJsObject(o) {
return o !== null && (typeof o === 'function' || typeof o === 'object');
}
@@ -27132,8 +27954,8 @@
}
var _symbolIterator = null;
function getSymbolIterator() {
- if (isBlank(_symbolIterator)) {
- if (isPresent(globalScope.Symbol) && isPresent(Symbol.iterator)) {
+ if (!_symbolIterator) {
+ if (globalScope.Symbol && Symbol.iterator) {
_symbolIterator = Symbol.iterator;
}
else {
@@ -27345,7 +28167,7 @@
return DecoratorFactory;
}
function makeMetadataCtor(props) {
- function ctor() {
+ return function ctor() {
var _this = this;
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
@@ -27355,17 +28177,16 @@
var argVal = args[i];
if (Array.isArray(prop)) {
// plain parameter
- _this[prop[0]] = !argVal || argVal === undefined ? prop[1] : argVal;
+ _this[prop[0]] = argVal === undefined ? prop[1] : argVal;
}
else {
for (var propName in prop) {
_this[propName] =
- !argVal || argVal[propName] === undefined ? prop[propName] : argVal[propName];
+ argVal && argVal.hasOwnProperty(propName) ? argVal[propName] : prop[propName];
}
}
});
- }
- return ctor;
+ };
}
function makeParamDecorator(name, props, parentClass) {
var metaCtor = makeMetadataCtor(props);
@@ -27416,7 +28237,7 @@
var decoratorInstance = new ((_a = PropDecoratorFactory).bind.apply(_a, [void 0].concat(args)))();
return function PropDecorator(target, name) {
var meta = Reflect.getOwnMetadata('propMetadata', target.constructor) || {};
- meta[name] = meta[name] || [];
+ meta[name] = meta.hasOwnProperty(name) && meta[name] || [];
meta[name].unshift(decoratorInstance);
Reflect.defineMetadata('propMetadata', meta, target.constructor);
};
@@ -27691,7 +28512,7 @@
var ChangeDetectorStatus;
(function (ChangeDetectorStatus) {
/**
- * `CheckedOnce` means that after calling detectChanges the mode of the change detector
+ * `CheckOnce` means that after calling detectChanges the mode of the change detector
* will become `Checked`.
*/
ChangeDetectorStatus[ChangeDetectorStatus["CheckOnce"] = 0] = "CheckOnce";
@@ -28120,7 +28941,7 @@
* @experimental
*/
function resolveForwardRef(type) {
- if (isFunction(type) && type.hasOwnProperty('__forward_ref__') &&
+ if (typeof type === 'function' && type.hasOwnProperty('__forward_ref__') &&
type.__forward_ref__ === forwardRef) {
return type();
}
@@ -28245,283 +29066,6 @@
return Injector;
}());
- // Safari and Internet Explorer do not support the iterable parameter to the
- // Map constructor. We work around that by manually adding the items.
- var createMapFromPairs = (function () {
- try {
- if (new Map([[1, 2]]).size === 1) {
- return function createMapFromPairs(pairs) { return new Map(pairs); };
- }
- }
- catch (e) {
- }
- return function createMapAndPopulateFromPairs(pairs) {
- var map = new Map();
- for (var i = 0; i < pairs.length; i++) {
- var pair = pairs[i];
- map.set(pair[0], pair[1]);
- }
- return map;
- };
- })();
- var _clearValues = (function () {
- if ((new Map()).keys().next) {
- return function _clearValues(m) {
- var keyIterator = m.keys();
- var k;
- while (!((k = keyIterator.next()).done)) {
- m.set(k.value, null);
- }
- };
- }
- else {
- return function _clearValuesWithForeEach(m) {
- m.forEach(function (v, k) { m.set(k, null); });
- };
- }
- })();
- // Safari doesn't implement MapIterator.next(), which is used is Traceur's polyfill of Array.from
- // TODO(mlaval): remove the work around once we have a working polyfill of Array.from
- var _arrayFromMap = (function () {
- try {
- if ((new Map()).values().next) {
- return function createArrayFromMap(m, getValues) {
- return getValues ? Array.from(m.values()) : Array.from(m.keys());
- };
- }
- }
- catch (e) {
- }
- return function createArrayFromMapWithForeach(m, getValues) {
- var res = new Array(m.size), i = 0;
- m.forEach(function (v, k) {
- res[i] = getValues ? v : k;
- i++;
- });
- return res;
- };
- })();
- var MapWrapper = (function () {
- function MapWrapper() {
- }
- MapWrapper.createFromStringMap = function (stringMap) {
- var result = new Map();
- for (var prop in stringMap) {
- result.set(prop, stringMap[prop]);
- }
- return result;
- };
- MapWrapper.toStringMap = function (m) {
- var r = {};
- m.forEach(function (v, k) { return r[k] = v; });
- return r;
- };
- MapWrapper.createFromPairs = function (pairs) { return createMapFromPairs(pairs); };
- MapWrapper.iterable = function (m) { return m; };
- MapWrapper.keys = function (m) { return _arrayFromMap(m, false); };
- MapWrapper.values = function (m) { return _arrayFromMap(m, true); };
- return MapWrapper;
- }());
- /**
- * Wraps Javascript Objects
- */
- var StringMapWrapper = (function () {
- function StringMapWrapper() {
- }
- StringMapWrapper.merge = function (m1, m2) {
- var m = {};
- for (var _i = 0, _a = Object.keys(m1); _i < _a.length; _i++) {
- var k = _a[_i];
- m[k] = m1[k];
- }
- for (var _b = 0, _c = Object.keys(m2); _b < _c.length; _b++) {
- var k = _c[_b];
- m[k] = m2[k];
- }
- return m;
- };
- StringMapWrapper.equals = function (m1, m2) {
- var k1 = Object.keys(m1);
- var k2 = Object.keys(m2);
- if (k1.length != k2.length) {
- return false;
- }
- for (var i = 0; i < k1.length; i++) {
- var key = k1[i];
- if (m1[key] !== m2[key]) {
- return false;
- }
- }
- return true;
- };
- return StringMapWrapper;
- }());
- var ListWrapper = (function () {
- function ListWrapper() {
- }
- // JS has no way to express a statically fixed size list, but dart does so we
- // keep both methods.
- ListWrapper.createFixedSize = function (size) { return new Array(size); };
- ListWrapper.createGrowableSize = function (size) { return new Array(size); };
- ListWrapper.clone = function (array) { return array.slice(0); };
- ListWrapper.forEachWithIndex = function (array, fn) {
- for (var i = 0; i < array.length; i++) {
- fn(array[i], i);
- }
- };
- ListWrapper.first = function (array) {
- if (!array)
- return null;
- return array[0];
- };
- ListWrapper.last = function (array) {
- if (!array || array.length == 0)
- return null;
- return array[array.length - 1];
- };
- ListWrapper.indexOf = function (array, value, startIndex) {
- if (startIndex === void 0) { startIndex = 0; }
- return array.indexOf(value, startIndex);
- };
- ListWrapper.contains = function (list, el) { return list.indexOf(el) !== -1; };
- ListWrapper.reversed = function (array) {
- var a = ListWrapper.clone(array);
- return a.reverse();
- };
- ListWrapper.concat = function (a, b) { return a.concat(b); };
- ListWrapper.insert = function (list, index, value) { list.splice(index, 0, value); };
- ListWrapper.removeAt = function (list, index) {
- var res = list[index];
- list.splice(index, 1);
- return res;
- };
- ListWrapper.removeAll = function (list, items) {
- for (var i = 0; i < items.length; ++i) {
- var index = list.indexOf(items[i]);
- list.splice(index, 1);
- }
- };
- ListWrapper.remove = function (list, el) {
- var index = list.indexOf(el);
- if (index > -1) {
- list.splice(index, 1);
- return true;
- }
- return false;
- };
- ListWrapper.clear = function (list) { list.length = 0; };
- ListWrapper.isEmpty = function (list) { return list.length == 0; };
- ListWrapper.fill = function (list, value, start, end) {
- if (start === void 0) { start = 0; }
- if (end === void 0) { end = null; }
- list.fill(value, start, end === null ? list.length : end);
- };
- ListWrapper.equals = function (a, b) {
- if (a.length != b.length)
- return false;
- for (var i = 0; i < a.length; ++i) {
- if (a[i] !== b[i])
- return false;
- }
- return true;
- };
- ListWrapper.slice = function (l, from, to) {
- if (from === void 0) { from = 0; }
- if (to === void 0) { to = null; }
- return l.slice(from, to === null ? undefined : to);
- };
- ListWrapper.splice = function (l, from, length) { return l.splice(from, length); };
- ListWrapper.sort = function (l, compareFn) {
- if (isPresent(compareFn)) {
- l.sort(compareFn);
- }
- else {
- l.sort();
- }
- };
- ListWrapper.toString = function (l) { return l.toString(); };
- ListWrapper.toJSON = function (l) { return JSON.stringify(l); };
- ListWrapper.maximum = function (list, predicate) {
- if (list.length == 0) {
- return null;
- }
- var solution = null;
- var maxValue = -Infinity;
- for (var index = 0; index < list.length; index++) {
- var candidate = list[index];
- if (isBlank(candidate)) {
- continue;
- }
- var candidateValue = predicate(candidate);
- if (candidateValue > maxValue) {
- solution = candidate;
- maxValue = candidateValue;
- }
- }
- return solution;
- };
- ListWrapper.flatten = function (list) {
- var target = [];
- _flattenArray(list, target);
- return target;
- };
- ListWrapper.addAll = function (list, source) {
- for (var i = 0; i < source.length; i++) {
- list.push(source[i]);
- }
- };
- return ListWrapper;
- }());
- function _flattenArray(source, target) {
- if (isPresent(source)) {
- for (var i = 0; i < source.length; i++) {
- var item = source[i];
- if (isArray(item)) {
- _flattenArray(item, target);
- }
- else {
- target.push(item);
- }
- }
- }
- return target;
- }
- function isListLikeIterable(obj) {
- if (!isJsObject(obj))
- return false;
- return isArray(obj) ||
- (!(obj instanceof Map) &&
- getSymbolIterator() in obj); // JS Iterable have a Symbol.iterator prop
- }
- function areIterablesEqual(a, b, comparator) {
- var iterator1 = a[getSymbolIterator()]();
- var iterator2 = b[getSymbolIterator()]();
- while (true) {
- var item1 = iterator1.next();
- var item2 = iterator2.next();
- if (item1.done && item2.done)
- return true;
- if (item1.done || item2.done)
- return false;
- if (!comparator(item1.value, item2.value))
- return false;
- }
- }
- function iterateListLike(obj, fn) {
- if (isArray(obj)) {
- for (var i = 0; i < obj.length; i++) {
- fn(obj[i]);
- }
- }
- else {
- var iterator = obj[getSymbolIterator()]();
- var item;
- while (!((item = iterator.next()).done)) {
- fn(item.value);
- }
- }
- }
-
/**
* @license
* Copyright Google Inc. All Rights Reserved.
@@ -28537,7 +29081,7 @@
function findFirstClosedCycle(keys) {
var res = [];
for (var i = 0; i < keys.length; ++i) {
- if (ListWrapper.contains(res, keys[i])) {
+ if (res.indexOf(keys[i]) > -1) {
res.push(keys[i]);
return res;
}
@@ -28547,7 +29091,7 @@
}
function constructResolvingPath(keys) {
if (keys.length > 1) {
- var reversed = findFirstClosedCycle(ListWrapper.reversed(keys));
+ var reversed = findFirstClosedCycle(keys.slice().reverse());
var tokenStrs = reversed.map(function (k) { return stringify(k.token); });
return ' (' + tokenStrs.join(' -> ') + ')';
}
@@ -28592,7 +29136,7 @@
__extends$1(NoProviderError, _super);
function NoProviderError(injector, key) {
_super.call(this, injector, key, function (keys) {
- var first = stringify(ListWrapper.first(keys).token);
+ var first = stringify(keys[0].token);
return "No provider for " + first + "!" + constructResolvingPath(keys);
});
}
@@ -28664,7 +29208,7 @@
};
Object.defineProperty(InstantiationError.prototype, "message", {
get: function () {
- var first = stringify(ListWrapper.first(this.keys).token);
+ var first = stringify(this.keys[0].token);
return this.originalError.message + ": Error during instantiation of " + first + "!" + constructResolvingPath(this.keys) + ".";
},
enumerable: true,
@@ -28932,8 +29476,11 @@
return type.parameters;
}
// API of tsickle for lowering decorators to properties on the class.
- if (type.ctorParameters) {
- var ctorParameters = type.ctorParameters;
+ var tsickleCtorParams = type.ctorParameters;
+ if (tsickleCtorParams) {
+ // Newer tsickle uses a function closure
+ // Retain the non-function case for compatibility with older tsickle
+ var ctorParameters = typeof tsickleCtorParams === 'function' ? tsickleCtorParams() : tsickleCtorParams;
var paramTypes = ctorParameters.map(function (ctorParam) { return ctorParam && ctorParam.type; });
var paramAnnotations = ctorParameters.map(function (ctorParam) {
return ctorParam && convertTsickleDecoratorIntoMetadata(ctorParam.decorators);
@@ -28955,7 +29502,7 @@
// Prefer the direct API.
if (typeOrFunc.annotations) {
var annotations = typeOrFunc.annotations;
- if (isFunction(annotations) && annotations.annotations) {
+ if (typeof annotations === 'function' && annotations.annotations) {
annotations = annotations.annotations;
}
return annotations;
@@ -28976,7 +29523,7 @@
// Prefer the direct API.
if (typeOrFunc.propMetadata) {
var propMetadata = typeOrFunc.propMetadata;
- if (isFunction(propMetadata) && propMetadata.propMetadata) {
+ if (typeof propMetadata === 'function' && propMetadata.propMetadata) {
propMetadata = propMetadata.propMetadata;
}
return propMetadata;
@@ -28998,15 +29545,8 @@
}
return {};
};
- // Note: JavaScript does not support to query for interfaces during runtime.
- // However, we can't throw here as the reflector will always call this method
- // when asked for a lifecycle interface as this is what we check in Dart.
- ReflectionCapabilities.prototype.interfaces = function (type) { return []; };
- ReflectionCapabilities.prototype.hasLifecycleHook = function (type, lcInterface, lcProperty) {
- if (!(type instanceof Type))
- return false;
- var proto = type.prototype;
- return !!proto[lcProperty];
+ ReflectionCapabilities.prototype.hasLifecycleHook = function (type, lcProperty) {
+ return type instanceof Type && lcProperty in type.prototype;
};
ReflectionCapabilities.prototype.getter = function (name) { return new Function('o', 'return o.' + name + ';'); };
ReflectionCapabilities.prototype.setter = function (name) {
@@ -29079,103 +29619,24 @@
function Reflector(reflectionCapabilities) {
_super.call(this);
this.reflectionCapabilities = reflectionCapabilities;
- /** @internal */
- this._injectableInfo = new Map();
- /** @internal */
- this._getters = new Map();
- /** @internal */
- this._setters = new Map();
- /** @internal */
- this._methods = new Map();
- /** @internal */
- this._usedKeys = null;
}
Reflector.prototype.updateCapabilities = function (caps) { this.reflectionCapabilities = caps; };
- Reflector.prototype.isReflectionEnabled = function () { return this.reflectionCapabilities.isReflectionEnabled(); };
- /**
- * Causes `this` reflector to track keys used to access
- * {@link ReflectionInfo} objects.
- */
- Reflector.prototype.trackUsage = function () { this._usedKeys = new Set(); };
- /**
- * Lists types for which reflection information was not requested since
- * {@link #trackUsage} was called. This list could later be audited as
- * potential dead code.
- */
- Reflector.prototype.listUnusedKeys = function () {
- var _this = this;
- if (!this._usedKeys) {
- throw new Error('Usage tracking is disabled');
- }
- var allTypes = MapWrapper.keys(this._injectableInfo);
- return allTypes.filter(function (key) { return !_this._usedKeys.has(key); });
- };
- Reflector.prototype.registerFunction = function (func, funcInfo) {
- this._injectableInfo.set(func, funcInfo);
- };
- Reflector.prototype.registerType = function (type, typeInfo) {
- this._injectableInfo.set(type, typeInfo);
- };
- Reflector.prototype.registerGetters = function (getters) { _mergeMaps(this._getters, getters); };
- Reflector.prototype.registerSetters = function (setters) { _mergeMaps(this._setters, setters); };
- Reflector.prototype.registerMethods = function (methods) { _mergeMaps(this._methods, methods); };
- Reflector.prototype.factory = function (type) {
- if (this._containsReflectionInfo(type)) {
- return this._getReflectionInfo(type).factory || null;
- }
- return this.reflectionCapabilities.factory(type);
- };
+ Reflector.prototype.factory = function (type) { return this.reflectionCapabilities.factory(type); };
Reflector.prototype.parameters = function (typeOrFunc) {
- if (this._injectableInfo.has(typeOrFunc)) {
- return this._getReflectionInfo(typeOrFunc).parameters || [];
- }
return this.reflectionCapabilities.parameters(typeOrFunc);
};
Reflector.prototype.annotations = function (typeOrFunc) {
- if (this._injectableInfo.has(typeOrFunc)) {
- return this._getReflectionInfo(typeOrFunc).annotations || [];
- }
return this.reflectionCapabilities.annotations(typeOrFunc);
};
Reflector.prototype.propMetadata = function (typeOrFunc) {
- if (this._injectableInfo.has(typeOrFunc)) {
- return this._getReflectionInfo(typeOrFunc).propMetadata || {};
- }
return this.reflectionCapabilities.propMetadata(typeOrFunc);
};
- Reflector.prototype.interfaces = function (type) {
- if (this._injectableInfo.has(type)) {
- return this._getReflectionInfo(type).interfaces || [];
- }
- return this.reflectionCapabilities.interfaces(type);
+ Reflector.prototype.hasLifecycleHook = function (type, lcProperty) {
+ return this.reflectionCapabilities.hasLifecycleHook(type, lcProperty);
};
- Reflector.prototype.hasLifecycleHook = function (type, lcInterface, lcProperty) {
- if (this.interfaces(type).indexOf(lcInterface) !== -1) {
- return true;
- }
- return this.reflectionCapabilities.hasLifecycleHook(type, lcInterface, lcProperty);
- };
- Reflector.prototype.getter = function (name) {
- return this._getters.has(name) ? this._getters.get(name) :
- this.reflectionCapabilities.getter(name);
- };
- Reflector.prototype.setter = function (name) {
- return this._setters.has(name) ? this._setters.get(name) :
- this.reflectionCapabilities.setter(name);
- };
- Reflector.prototype.method = function (name) {
- return this._methods.has(name) ? this._methods.get(name) :
- this.reflectionCapabilities.method(name);
- };
- /** @internal */
- Reflector.prototype._getReflectionInfo = function (typeOrFunc) {
- if (this._usedKeys) {
- this._usedKeys.add(typeOrFunc);
- }
- return this._injectableInfo.get(typeOrFunc);
- };
- /** @internal */
- Reflector.prototype._containsReflectionInfo = function (typeOrFunc) { return this._injectableInfo.has(typeOrFunc); };
+ Reflector.prototype.getter = function (name) { return this.reflectionCapabilities.getter(name); };
+ Reflector.prototype.setter = function (name) { return this.reflectionCapabilities.setter(name); };
+ Reflector.prototype.method = function (name) { return this.reflectionCapabilities.method(name); };
Reflector.prototype.importUri = function (type) { return this.reflectionCapabilities.importUri(type); };
Reflector.prototype.resolveIdentifier = function (name, moduleUrl, runtime) {
return this.reflectionCapabilities.resolveIdentifier(name, moduleUrl, runtime);
@@ -29185,9 +29646,6 @@
};
return Reflector;
}(ReflectorReader));
- function _mergeMaps(target, config) {
- Object.keys(config).forEach(function (k) { target.set(k, config[k]); });
- }
/**
* The {@link Reflector} used internally in Angular to access metadata
@@ -29236,7 +29694,7 @@
/**
* Factory function which can return an instance of an object represented by a key.
*/
- factory,
+ factory,
/**
* Arguments (dependencies) to the `factory` function.
*/
@@ -29252,16 +29710,16 @@
function resolveReflectiveFactory(provider) {
var factoryFn;
var resolvedDeps;
- if (isPresent(provider.useClass)) {
+ if (provider.useClass) {
var useClass = resolveForwardRef(provider.useClass);
factoryFn = reflector.factory(useClass);
resolvedDeps = _dependenciesFor(useClass);
}
- else if (isPresent(provider.useExisting)) {
+ else if (provider.useExisting) {
factoryFn = function (aliasInstance) { return aliasInstance; };
resolvedDeps = [ReflectiveDependency.fromKey(ReflectiveKey.get(provider.useExisting))];
}
- else if (isPresent(provider.useFactory)) {
+ else if (provider.useFactory) {
factoryFn = provider.useFactory;
resolvedDeps = constructDependencies(provider.useFactory, provider.deps);
}
@@ -29286,7 +29744,8 @@
function resolveReflectiveProviders(providers) {
var normalized = _normalizeProviders(providers, []);
var resolved = normalized.map(resolveReflectiveProvider);
- return MapWrapper.values(mergeResolvedReflectiveProviders(resolved, new Map()));
+ var resolvedProviderMap = mergeResolvedReflectiveProviders(resolved, new Map());
+ return Array.from(resolvedProviderMap.values());
}
/**
* Merges a list of ResolvedProviders into a list where
@@ -29297,7 +29756,7 @@
for (var i = 0; i < providers.length; i++) {
var provider = providers[i];
var existing = normalizedProvidersMap.get(provider.key.id);
- if (isPresent(existing)) {
+ if (existing) {
if (provider.multiProvider !== existing.multiProvider) {
throw new MixingMultiProvidersWithRegularProvidersError(existing, provider);
}
@@ -29311,9 +29770,9 @@
}
}
else {
- var resolvedProvider;
+ var resolvedProvider = void 0;
if (provider.multiProvider) {
- resolvedProvider = new ResolvedReflectiveProvider_(provider.key, ListWrapper.clone(provider.resolvedFactories), provider.multiProvider);
+ resolvedProvider = new ResolvedReflectiveProvider_(provider.key, provider.resolvedFactories.slice(), provider.multiProvider);
}
else {
resolvedProvider = provider;
@@ -29345,24 +29804,24 @@
return _dependenciesFor(typeOrFunc);
}
else {
- var params = dependencies.map(function (t) { return [t]; });
- return dependencies.map(function (t) { return _extractToken(typeOrFunc, t, params); });
+ var params_1 = dependencies.map(function (t) { return [t]; });
+ return dependencies.map(function (t) { return _extractToken(typeOrFunc, t, params_1); });
}
}
function _dependenciesFor(typeOrFunc) {
var params = reflector.parameters(typeOrFunc);
if (!params)
return [];
- if (params.some(isBlank)) {
+ if (params.some(function (p) { return p == null; })) {
throw new NoAnnotationError(typeOrFunc, params);
}
return params.map(function (p) { return _extractToken(typeOrFunc, p, params); });
}
- function _extractToken(typeOrFunc /** TODO #9100 */, metadata /** TODO #9100 */ /*any[] | any*/, params) {
+ function _extractToken(typeOrFunc, metadata, params) {
var depProps = [];
var token = null;
var optional = false;
- if (!isArray(metadata)) {
+ if (!Array.isArray(metadata)) {
if (metadata instanceof Inject) {
return _createDependency(metadata.token, optional, null, null, depProps);
}
@@ -29394,18 +29853,17 @@
}
}
token = resolveForwardRef(token);
- if (isPresent(token)) {
+ if (token != null) {
return _createDependency(token, optional, lowerBoundVisibility, upperBoundVisibility, depProps);
}
else {
throw new NoAnnotationError(typeOrFunc, params);
}
}
- function _createDependency(token /** TODO #9100 */, optional /** TODO #9100 */, lowerBoundVisibility /** TODO #9100 */, upperBoundVisibility /** TODO #9100 */, depProps /** TODO #9100 */) {
+ function _createDependency(token, optional, lowerBoundVisibility, upperBoundVisibility, depProps) {
return new ReflectiveDependency(ReflectiveKey.get(token), optional, lowerBoundVisibility, upperBoundVisibility, depProps);
}
- // avoid unused import when Type union types are erased
// Threshold for the dynamic version
var _MAX_CONSTRUCTION_COUNTER = 10;
var UNDEFINED = new Object();
@@ -29650,8 +30108,7 @@
function ReflectiveInjectorDynamicStrategy(protoStrategy, injector) {
this.protoStrategy = protoStrategy;
this.injector = injector;
- this.objs = new Array(protoStrategy.providers.length);
- ListWrapper.fill(this.objs, UNDEFINED);
+ this.objs = new Array(protoStrategy.providers.length).fill(UNDEFINED);
}
ReflectiveInjectorDynamicStrategy.prototype.resetConstructionCounter = function () { this.injector._constructionCounter = 0; };
ReflectiveInjectorDynamicStrategy.prototype.instantiateProvider = function (provider) {
@@ -30303,6 +30760,112 @@
return ErrorHandler;
}());
+ /**
+ * Wraps Javascript Objects
+ */
+ var StringMapWrapper = (function () {
+ function StringMapWrapper() {
+ }
+ StringMapWrapper.merge = function (m1, m2) {
+ var m = {};
+ for (var _i = 0, _a = Object.keys(m1); _i < _a.length; _i++) {
+ var k = _a[_i];
+ m[k] = m1[k];
+ }
+ for (var _b = 0, _c = Object.keys(m2); _b < _c.length; _b++) {
+ var k = _c[_b];
+ m[k] = m2[k];
+ }
+ return m;
+ };
+ StringMapWrapper.equals = function (m1, m2) {
+ var k1 = Object.keys(m1);
+ var k2 = Object.keys(m2);
+ if (k1.length != k2.length) {
+ return false;
+ }
+ for (var i = 0; i < k1.length; i++) {
+ var key = k1[i];
+ if (m1[key] !== m2[key]) {
+ return false;
+ }
+ }
+ return true;
+ };
+ return StringMapWrapper;
+ }());
+ var ListWrapper = (function () {
+ function ListWrapper() {
+ }
+ ListWrapper.removeAll = function (list, items) {
+ for (var i = 0; i < items.length; ++i) {
+ var index = list.indexOf(items[i]);
+ if (index > -1) {
+ list.splice(index, 1);
+ }
+ }
+ };
+ ListWrapper.remove = function (list, el) {
+ var index = list.indexOf(el);
+ if (index > -1) {
+ list.splice(index, 1);
+ return true;
+ }
+ return false;
+ };
+ ListWrapper.equals = function (a, b) {
+ if (a.length != b.length)
+ return false;
+ for (var i = 0; i < a.length; ++i) {
+ if (a[i] !== b[i])
+ return false;
+ }
+ return true;
+ };
+ ListWrapper.flatten = function (list) {
+ return list.reduce(function (flat, item) {
+ var flatItem = Array.isArray(item) ? ListWrapper.flatten(item) : item;
+ return flat.concat(flatItem);
+ }, []);
+ };
+ return ListWrapper;
+ }());
+ function isListLikeIterable(obj) {
+ if (!isJsObject(obj))
+ return false;
+ return Array.isArray(obj) ||
+ (!(obj instanceof Map) &&
+ getSymbolIterator() in obj); // JS Iterable have a Symbol.iterator prop
+ }
+ function areIterablesEqual(a, b, comparator) {
+ var iterator1 = a[getSymbolIterator()]();
+ var iterator2 = b[getSymbolIterator()]();
+ while (true) {
+ var item1 = iterator1.next();
+ var item2 = iterator2.next();
+ if (item1.done && item2.done)
+ return true;
+ if (item1.done || item2.done)
+ return false;
+ if (!comparator(item1.value, item2.value))
+ return false;
+ }
+ }
+ function iterateListLike(obj, fn) {
+ if (Array.isArray(obj)) {
+ for (var i = 0; i < obj.length; i++) {
+ fn(obj[i]);
+ }
+ }
+ else {
+ var iterator = obj[getSymbolIterator()]();
+ var item = void 0;
+ while (!((item = iterator.next()).done)) {
+ fn(item.value);
+ }
+ }
+ }
+
/**
* @license
* Copyright Google Inc. All Rights Reserved.
@@ -30526,6 +31089,35 @@
return CompilerFactory;
}());
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+ /**
+ * A wrapper around a native element inside of a View.
+ *
+ * An `ElementRef` is backed by a render-specific element. In the browser, this is usually a DOM
+ * element.
+ *
+ * @security Permitting direct access to the DOM can make your application more vulnerable to
+ * XSS attacks. Carefully review any use of `ElementRef` in your code. For more detail, see the
+ * [Security Guide](http://g.co/ng/security).
+ *
+ * @stable
+ */
+ // Note: We don't expose things like `Injector`, `ViewContainer`, ... here,
+ // i.e. users have to ask for what they need. With that, we can build better analysis tools
+ // and could do better codegen in the future.
+ var ElementRef = (function () {
+ function ElementRef(nativeElement) {
+ this.nativeElement = nativeElement;
+ }
+ return ElementRef;
+ }());
+
var DefaultIterableDifferFactory = (function () {
function DefaultIterableDifferFactory() {
}
@@ -30680,20 +31272,20 @@
var index;
var item;
var itemTrackBy;
- if (isArray(collection)) {
+ if (Array.isArray(collection)) {
var list = collection;
this._length = collection.length;
- for (index = 0; index < this._length; index++) {
- item = list[index];
- itemTrackBy = this._trackByFn(index, item);
+ for (var index_1 = 0; index_1 < this._length; index_1++) {
+ item = list[index_1];
+ itemTrackBy = this._trackByFn(index_1, item);
if (record === null || !looseIdentical(record.trackById, itemTrackBy)) {
- record = this._mismatch(record, item, itemTrackBy, index);
+ record = this._mismatch(record, item, itemTrackBy, index_1);
mayBeDirty = true;
}
else {
if (mayBeDirty) {
// TODO(misko): can we limit this to duplicates only?
- record = this._verifyReinsertion(record, item, itemTrackBy, index);
+ record = this._verifyReinsertion(record, item, itemTrackBy, index_1);
}
if (!looseIdentical(record.item, item))
this._addIdentityChange(record, item);
@@ -30747,8 +31339,8 @@
*/
DefaultIterableDiffer.prototype._reset = function () {
if (this.isDirty) {
- var record;
- var nextRecord;
+ var record = void 0;
+ var nextRecord = void 0;
for (record = this._previousItHead = this._itHead; record !== null; record = record._next) {
record._nextPrevious = record._next;
}
@@ -31179,10 +31771,9 @@
this.map = new Map();
}
_DuplicateMap.prototype.put = function (record) {
- // todo(vicb) handle corner cases
- var key = getMapKey(record.trackById);
+ var key = record.trackById;
var duplicates = this.map.get(key);
- if (!isPresent(duplicates)) {
+ if (!duplicates) {
duplicates = new _DuplicateItemRecordList();
this.map.set(key, duplicates);
}
@@ -31197,7 +31788,7 @@
*/
_DuplicateMap.prototype.get = function (trackById, afterIndex) {
if (afterIndex === void 0) { afterIndex = null; }
- var key = getMapKey(trackById);
+ var key = trackById;
var recordList = this.map.get(key);
return recordList ? recordList.get(trackById, afterIndex) : null;
};
@@ -31207,9 +31798,7 @@
* The list of duplicates also is removed from the map if it gets empty.
*/
_DuplicateMap.prototype.remove = function (record) {
- var key = getMapKey(record.trackById);
- // todo(vicb)
- // assert(this.map.containsKey(key));
+ var key = record.trackById;
var recordList = this.map.get(key);
// Remove the list of duplicates when it gets empty
if (recordList.remove(record)) {
@@ -31543,7 +32132,7 @@
}
IterableDiffers.create = function (factories, parent) {
if (isPresent(parent)) {
- var copied = ListWrapper.clone(parent.factories);
+ var copied = parent.factories.slice();
factories = factories.concat(copied);
return new IterableDiffers(factories);
}
@@ -31608,7 +32197,7 @@
}
KeyValueDiffers.create = function (factories, parent) {
if (isPresent(parent)) {
- var copied = ListWrapper.clone(parent.factories);
+ var copied = parent.factories.slice();
factories = factories.concat(copied);
return new KeyValueDiffers(factories);
}
@@ -31876,418 +32465,6 @@
return Sanitizer;
}());
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
- /**
- * A wrapper around a native element inside of a View.
- *
- * An `ElementRef` is backed by a render-specific element. In the browser, this is usually a DOM
- * element.
- *
- * @security Permitting direct access to the DOM can make your application more vulnerable to
- * XSS attacks. Carefully review any use of `ElementRef` in your code. For more detail, see the
- * [Security Guide](http://g.co/ng/security).
- *
- * @stable
- */
- // Note: We don't expose things like `Injector`, `ViewContainer`, ... here,
- // i.e. users have to ask for what they need. With that, we can build better analysis tools
- // and could do better codegen in the future.
- var ElementRef = (function () {
- function ElementRef(nativeElement) {
- this.nativeElement = nativeElement;
- }
- return ElementRef;
- }());
-
- var trace;
- var events;
- function detectWTF() {
- var wtf = global$1['wtf'];
- if (wtf) {
- trace = wtf['trace'];
- if (trace) {
- events = trace['events'];
- return true;
- }
- }
- return false;
- }
- function createScope(signature, flags) {
- if (flags === void 0) { flags = null; }
- return events.createScope(signature, flags);
- }
- function leave(scope, returnValue) {
- trace.leaveScope(scope, returnValue);
- return returnValue;
- }
- function startTimeRange(rangeType, action) {
- return trace.beginTimeRange(rangeType, action);
- }
- function endTimeRange(range) {
- trace.endTimeRange(range);
- }
-
- /**
- * True if WTF is enabled.
- */
- var wtfEnabled = detectWTF();
- function noopScope(arg0, arg1) {
- return null;
- }
- /**
- * Create trace scope.
- *
- * Scopes must be strictly nested and are analogous to stack frames, but
- * do not have to follow the stack frames. Instead it is recommended that they follow logical
- * nesting. You may want to use
- * [Event
- * Signatures](http://google.github.io/tracing-framework/instrumenting-code.html#custom-events)
- * as they are defined in WTF.
- *
- * Used to mark scope entry. The return value is used to leave the scope.
- *
- * var myScope = wtfCreateScope('MyClass#myMethod(ascii someVal)');
- *
- * someMethod() {
- * var s = myScope('Foo'); // 'Foo' gets stored in tracing UI
- * // DO SOME WORK HERE
- * return wtfLeave(s, 123); // Return value 123
- * }
- *
- * Note, adding try-finally block around the work to ensure that `wtfLeave` gets called can
- * negatively impact the performance of your application. For this reason we recommend that
- * you don't add them to ensure that `wtfLeave` gets called. In production `wtfLeave` is a noop and
- * so try-finally block has no value. When debugging perf issues, skipping `wtfLeave`, do to
- * exception, will produce incorrect trace, but presence of exception signifies logic error which
- * needs to be fixed before the app should be profiled. Add try-finally only when you expect that
- * an exception is expected during normal execution while profiling.
- *
- * @experimental
- */
- var wtfCreateScope = wtfEnabled ? createScope : function (signature, flags) { return noopScope; };
- /**
- * Used to mark end of Scope.
- *
- * - `scope` to end.
- * - `returnValue` (optional) to be passed to the WTF.
- *
- * Returns the `returnValue for easy chaining.
- * @experimental
- */
- var wtfLeave = wtfEnabled ? leave : function (s, r) { return r; };
- /**
- * Used to mark Async start. Async are similar to scope but they don't have to be strictly nested.
- * The return value is used in the call to [endAsync]. Async ranges only work if WTF has been
- * enabled.
- *
- * someMethod() {
- * var s = wtfStartTimeRange('HTTP:GET', 'some.url');
- * var future = new Future.delay(5).then((_) {
- * wtfEndTimeRange(s);
- * });
- * }
- * @experimental
- */
- var wtfStartTimeRange = wtfEnabled ? startTimeRange : function (rangeType, action) { return null; };
- /**
- * Ends a async time range operation.
- * [range] is the return value from [wtfStartTimeRange] Async ranges only work if WTF has been
- * enabled.
- * @experimental
- */
- var wtfEndTimeRange = wtfEnabled ? endTimeRange : function (r) { return null; };
-
- /**
- * Represents a container where one or more Views can be attached.
- *
- * The container can contain two kinds of Views. Host Views, created by instantiating a
- * {@link Component} via {@link #createComponent}, and Embedded Views, created by instantiating an
- * {@link TemplateRef Embedded Template} via {@link #createEmbeddedView}.
- *
- * The location of the View Container within the containing View is specified by the Anchor
- * `element`. Each View Container can have only one Anchor Element and each Anchor Element can only
- * have a single View Container.
- *
- * Root elements of Views attached to this container become siblings of the Anchor Element in
- * the Rendered View.
- *
- * To access a `ViewContainerRef` of an Element, you can either place a {@link Directive} injected
- * with `ViewContainerRef` on the Element, or you obtain it via a {@link ViewChild} query.
- * @stable
- */
- var ViewContainerRef = (function () {
- function ViewContainerRef() {
- }
- Object.defineProperty(ViewContainerRef.prototype, "element", {
- /**
- * Anchor element that specifies the location of this container in the containing View.
- *
- */
- get: function () { return unimplemented(); },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(ViewContainerRef.prototype, "injector", {
- get: function () { return unimplemented(); },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(ViewContainerRef.prototype, "parentInjector", {
- get: function () { return unimplemented(); },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(ViewContainerRef.prototype, "length", {
- /**
- * Returns the number of Views currently attached to this container.
- */
- get: function () { return unimplemented(); },
- enumerable: true,
- configurable: true
- });
- ;
- return ViewContainerRef;
- }());
- var ViewContainerRef_ = (function () {
- function ViewContainerRef_(_element) {
- this._element = _element;
- /** @internal */
- this._createComponentInContainerScope = wtfCreateScope('ViewContainerRef#createComponent()');
- /** @internal */
- this._insertScope = wtfCreateScope('ViewContainerRef#insert()');
- /** @internal */
- this._removeScope = wtfCreateScope('ViewContainerRef#remove()');
- /** @internal */
- this._detachScope = wtfCreateScope('ViewContainerRef#detach()');
- }
- ViewContainerRef_.prototype.get = function (index) { return this._element.nestedViews[index].ref; };
- Object.defineProperty(ViewContainerRef_.prototype, "length", {
- get: function () {
- var views = this._element.nestedViews;
- return isPresent(views) ? views.length : 0;
- },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(ViewContainerRef_.prototype, "element", {
- get: function () { return this._element.elementRef; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(ViewContainerRef_.prototype, "injector", {
- get: function () { return this._element.injector; },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(ViewContainerRef_.prototype, "parentInjector", {
- get: function () { return this._element.parentInjector; },
- enumerable: true,
- configurable: true
- });
- // TODO(rado): profile and decide whether bounds checks should be added
- // to the methods below.
- ViewContainerRef_.prototype.createEmbeddedView = function (templateRef, context, index) {
- if (context === void 0) { context = null; }
- if (index === void 0) { index = -1; }
- var viewRef = templateRef.createEmbeddedView(context);
- this.insert(viewRef, index);
- return viewRef;
- };
- ViewContainerRef_.prototype.createComponent = function (componentFactory, index, injector, projectableNodes) {
- if (index === void 0) { index = -1; }
- if (injector === void 0) { injector = null; }
- if (projectableNodes === void 0) { projectableNodes = null; }
- var s = this._createComponentInContainerScope();
- var contextInjector = injector || this._element.parentInjector;
- var componentRef = componentFactory.create(contextInjector, projectableNodes);
- this.insert(componentRef.hostView, index);
- return wtfLeave(s, componentRef);
- };
- // TODO(i): refactor insert+remove into move
- ViewContainerRef_.prototype.insert = function (viewRef, index) {
- if (index === void 0) { index = -1; }
- var s = this._insertScope();
- if (index == -1)
- index = this.length;
- var viewRef_ = viewRef;
- this._element.attachView(viewRef_.internalView, index);
- return wtfLeave(s, viewRef_);
- };
- ViewContainerRef_.prototype.move = function (viewRef, currentIndex) {
- var s = this._insertScope();
- if (currentIndex == -1)
- return;
- var viewRef_ = viewRef;
- this._element.moveView(viewRef_.internalView, currentIndex);
- return wtfLeave(s, viewRef_);
- };
- ViewContainerRef_.prototype.indexOf = function (viewRef) {
- return ListWrapper.indexOf(this._element.nestedViews, viewRef.internalView);
- };
- // TODO(i): rename to destroy
- ViewContainerRef_.prototype.remove = function (index) {
- if (index === void 0) { index = -1; }
- var s = this._removeScope();
- if (index == -1)
- index = this.length - 1;
- var view = this._element.detachView(index);
- view.destroy();
- // view is intentionally not returned to the client.
- wtfLeave(s);
- };
- // TODO(i): refactor insert+remove into move
- ViewContainerRef_.prototype.detach = function (index) {
- if (index === void 0) { index = -1; }
- var s = this._detachScope();
- if (index == -1)
- index = this.length - 1;
- var view = this._element.detachView(index);
- return wtfLeave(s, view.ref);
- };
- ViewContainerRef_.prototype.clear = function () {
- for (var i = this.length - 1; i >= 0; i--) {
- this.remove(i);
- }
- };
- return ViewContainerRef_;
- }());
-
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
- var ViewType;
- (function (ViewType) {
- // A view that contains the host element with bound component directive.
- // Contains a COMPONENT view
- ViewType[ViewType["HOST"] = 0] = "HOST";
- // The view of the component
- // Can contain 0 to n EMBEDDED views
- ViewType[ViewType["COMPONENT"] = 1] = "COMPONENT";
- // A view that is embedded into another View via a element
- // inside of a COMPONENT view
- ViewType[ViewType["EMBEDDED"] = 2] = "EMBEDDED";
- })(ViewType || (ViewType = {}));
-
- /**
- * An AppElement is created for elements that have a ViewContainerRef,
- * a nested component or a element to keep data around
- * that is needed for later instantiations.
- */
- var AppElement = (function () {
- function AppElement(index, parentIndex, parentView, nativeElement) {
- this.index = index;
- this.parentIndex = parentIndex;
- this.parentView = parentView;
- this.nativeElement = nativeElement;
- this.nestedViews = null;
- this.componentView = null;
- }
- Object.defineProperty(AppElement.prototype, "elementRef", {
- get: function () { return new ElementRef(this.nativeElement); },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppElement.prototype, "vcRef", {
- get: function () { return new ViewContainerRef_(this); },
- enumerable: true,
- configurable: true
- });
- AppElement.prototype.initComponent = function (component, componentConstructorViewQueries, view) {
- this.component = component;
- this.componentConstructorViewQueries = componentConstructorViewQueries;
- this.componentView = view;
- };
- Object.defineProperty(AppElement.prototype, "parentInjector", {
- get: function () { return this.parentView.injector(this.parentIndex); },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppElement.prototype, "injector", {
- get: function () { return this.parentView.injector(this.index); },
- enumerable: true,
- configurable: true
- });
- AppElement.prototype.mapNestedViews = function (nestedViewClass, callback) {
- var result = [];
- if (isPresent(this.nestedViews)) {
- this.nestedViews.forEach(function (nestedView) {
- if (nestedView.clazz === nestedViewClass) {
- result.push(callback(nestedView));
- }
- });
- }
- return result;
- };
- AppElement.prototype.moveView = function (view, currentIndex) {
- var previousIndex = this.nestedViews.indexOf(view);
- if (view.type === ViewType.COMPONENT) {
- throw new Error("Component views can't be moved!");
- }
- var nestedViews = this.nestedViews;
- if (nestedViews == null) {
- nestedViews = [];
- this.nestedViews = nestedViews;
- }
- ListWrapper.removeAt(nestedViews, previousIndex);
- ListWrapper.insert(nestedViews, currentIndex, view);
- var refRenderNode;
- if (currentIndex > 0) {
- var prevView = nestedViews[currentIndex - 1];
- refRenderNode = prevView.lastRootNode;
- }
- else {
- refRenderNode = this.nativeElement;
- }
- if (isPresent(refRenderNode)) {
- view.renderer.attachViewAfter(refRenderNode, view.flatRootNodes);
- }
- view.markContentChildAsMoved(this);
- };
- AppElement.prototype.attachView = function (view, viewIndex) {
- if (view.type === ViewType.COMPONENT) {
- throw new Error("Component views can't be moved!");
- }
- var nestedViews = this.nestedViews;
- if (nestedViews == null) {
- nestedViews = [];
- this.nestedViews = nestedViews;
- }
- ListWrapper.insert(nestedViews, viewIndex, view);
- var refRenderNode;
- if (viewIndex > 0) {
- var prevView = nestedViews[viewIndex - 1];
- refRenderNode = prevView.lastRootNode;
- }
- else {
- refRenderNode = this.nativeElement;
- }
- if (isPresent(refRenderNode)) {
- view.renderer.attachViewAfter(refRenderNode, view.flatRootNodes);
- }
- view.addToContentChildren(this);
- };
- AppElement.prototype.detachView = function (viewIndex) {
- var view = ListWrapper.removeAt(this.nestedViews, viewIndex);
- if (view.type === ViewType.COMPONENT) {
- throw new Error("Component views can't be moved!");
- }
- view.detach();
- view.removeFromContentChildren(this);
- return view;
- };
- return AppElement;
- }());
-
/**
* @license
* Copyright Google Inc. All Rights Reserved.
@@ -32376,19 +32553,11 @@
}(BaseError));
var ViewUtils = (function () {
- function ViewUtils(_renderer, _appId, sanitizer) {
+ function ViewUtils(_renderer, sanitizer) {
this._renderer = _renderer;
- this._appId = _appId;
this._nextCompTypeId = 0;
this.sanitizer = sanitizer;
}
- /**
- * Used by the generated code
- */
- // TODO (matsko): add typing for the animation function
- ViewUtils.prototype.createRenderComponentType = function (templateUrl, slotCount, encapsulation, styles, animations) {
- return new RenderComponentType(this._appId + "-" + this._nextCompTypeId++, templateUrl, slotCount, encapsulation, styles, animations);
- };
/** @internal */
ViewUtils.prototype.renderComponent = function (renderComponentType) {
return this._renderer.renderComponent(renderComponentType);
@@ -32399,52 +32568,25 @@
/** @nocollapse */
ViewUtils.ctorParameters = [
{ type: RootRenderer, },
- { type: undefined, decorators: [{ type: Inject, args: [APP_ID,] },] },
{ type: Sanitizer, },
];
return ViewUtils;
}());
- function flattenNestedViewRenderNodes(nodes) {
- return _flattenNestedViewRenderNodes(nodes, []);
+ var nextRenderComponentTypeId = 0;
+ function createRenderComponentType(templateUrl, slotCount, encapsulation, styles, animations) {
+ return new RenderComponentType("" + nextRenderComponentTypeId++, templateUrl, slotCount, encapsulation, styles, animations);
}
- function _flattenNestedViewRenderNodes(nodes, renderNodes) {
- for (var i = 0; i < nodes.length; i++) {
- var node = nodes[i];
- if (node instanceof AppElement) {
- var appEl = node;
- renderNodes.push(appEl.nativeElement);
- if (isPresent(appEl.nestedViews)) {
- for (var k = 0; k < appEl.nestedViews.length; k++) {
- _flattenNestedViewRenderNodes(appEl.nestedViews[k].rootNodesOrAppElements, renderNodes);
- }
- }
- }
- else {
- renderNodes.push(node);
- }
- }
- return renderNodes;
+ function addToArray(e, array) {
+ array.push(e);
}
- var EMPTY_ARR = [];
- function ensureSlotCount(projectableNodes, expectedSlotCount) {
- var res;
- if (!projectableNodes) {
- res = EMPTY_ARR;
+ function interpolate(valueCount, constAndInterp) {
+ var result = '';
+ for (var i = 0; i < valueCount * 2; i = i + 2) {
+ result = result + constAndInterp[i] + _toStringWithNull(constAndInterp[i + 1]);
}
- else if (projectableNodes.length < expectedSlotCount) {
- var givenSlotCount = projectableNodes.length;
- res = new Array(expectedSlotCount);
- for (var i = 0; i < expectedSlotCount; i++) {
- res[i] = (i < givenSlotCount) ? projectableNodes[i] : EMPTY_ARR;
- }
- }
- else {
- res = projectableNodes;
- }
- return res;
+ return result + constAndInterp[valueCount * 2];
}
- var MAX_INTERPOLATION_VALUES = 9;
- function interpolate(valueCount, c0, a1, c1, a2, c2, a3, c3, a4, c4, a5, c5, a6, c6, a7, c7, a8, c8, a9, c9) {
+ function inlineInterpolate(valueCount, c0, a1, c1, a2, c2, a3, c3, a4, c4, a5, c5, a6, c6, a7, c7, a8, c8, a9, c9) {
switch (valueCount) {
case 1:
return c0 + _toStringWithNull(a1) + c1;
@@ -32674,6 +32816,393 @@
return result;
};
}
+ function setBindingDebugInfoForChanges(renderer, el, changes) {
+ Object.keys(changes).forEach(function (propName) {
+ setBindingDebugInfo(renderer, el, propName, changes[propName].currentValue);
+ });
+ }
+ function setBindingDebugInfo(renderer, el, propName, value) {
+ try {
+ renderer.setBindingDebugInfo(el, "ng-reflect-" + camelCaseToDashCase(propName), value ? value.toString() : null);
+ }
+ catch (e) {
+ renderer.setBindingDebugInfo(el, "ng-reflect-" + camelCaseToDashCase(propName), '[ERROR] Exception while trying to serialize the value');
+ }
+ }
+ var CAMEL_CASE_REGEXP = /([A-Z])/g;
+ function camelCaseToDashCase(input) {
+ return input.replace(CAMEL_CASE_REGEXP, function () {
+ var m = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ m[_i - 0] = arguments[_i];
+ }
+ return '-' + m[1].toLowerCase();
+ });
+ }
+ function createRenderElement(renderer, parentElement, name, attrs, debugInfo) {
+ var el = renderer.createElement(parentElement, name, debugInfo);
+ for (var i = 0; i < attrs.length; i += 2) {
+ renderer.setElementAttribute(el, attrs.get(i), attrs.get(i + 1));
+ }
+ return el;
+ }
+ function selectOrCreateRenderHostElement(renderer, elementName, attrs, rootSelectorOrNode, debugInfo) {
+ var hostElement;
+ if (isPresent(rootSelectorOrNode)) {
+ hostElement = renderer.selectRootElement(rootSelectorOrNode, debugInfo);
+ for (var i = 0; i < attrs.length; i += 2) {
+ renderer.setElementAttribute(hostElement, attrs.get(i), attrs.get(i + 1));
+ }
+ }
+ else {
+ hostElement = createRenderElement(renderer, null, elementName, attrs, debugInfo);
+ }
+ return hostElement;
+ }
+ function subscribeToRenderElement(view, element, eventNamesAndTargets, listener) {
+ var disposables = createEmptyInlineArray(eventNamesAndTargets.length / 2);
+ for (var i = 0; i < eventNamesAndTargets.length; i += 2) {
+ var eventName = eventNamesAndTargets.get(i);
+ var eventTarget = eventNamesAndTargets.get(i + 1);
+ var disposable = void 0;
+ if (eventTarget) {
+ disposable = view.renderer.listenGlobal(eventTarget, eventName, listener.bind(view, eventTarget + ":" + eventName));
+ }
+ else {
+ disposable = view.renderer.listen(element, eventName, listener.bind(view, eventName));
+ }
+ disposables.set(i / 2, disposable);
+ }
+ return disposeInlineArray.bind(null, disposables);
+ }
+ function disposeInlineArray(disposables) {
+ for (var i = 0; i < disposables.length; i++) {
+ disposables.get(i)();
+ }
+ }
+ function noop() { }
+ function createEmptyInlineArray(length) {
+ var ctor;
+ if (length <= 2) {
+ ctor = InlineArray2;
+ }
+ else if (length <= 4) {
+ ctor = InlineArray4;
+ }
+ else if (length <= 8) {
+ ctor = InlineArray8;
+ }
+ else if (length <= 16) {
+ ctor = InlineArray16;
+ }
+ else {
+ ctor = InlineArrayDynamic;
+ }
+ return new ctor(length);
+ }
+ var InlineArray0 = (function () {
+ function InlineArray0() {
+ this.length = 0;
+ }
+ InlineArray0.prototype.get = function (index) { return undefined; };
+ InlineArray0.prototype.set = function (index, value) { };
+ return InlineArray0;
+ }());
+ var InlineArray2 = (function () {
+ function InlineArray2(length, _v0, _v1) {
+ this.length = length;
+ this._v0 = _v0;
+ this._v1 = _v1;
+ }
+ InlineArray2.prototype.get = function (index) {
+ switch (index) {
+ case 0:
+ return this._v0;
+ case 1:
+ return this._v1;
+ default:
+ return undefined;
+ }
+ };
+ InlineArray2.prototype.set = function (index, value) {
+ switch (index) {
+ case 0:
+ this._v0 = value;
+ break;
+ case 1:
+ this._v1 = value;
+ break;
+ }
+ };
+ return InlineArray2;
+ }());
+ var InlineArray4 = (function () {
+ function InlineArray4(length, _v0, _v1, _v2, _v3) {
+ this.length = length;
+ this._v0 = _v0;
+ this._v1 = _v1;
+ this._v2 = _v2;
+ this._v3 = _v3;
+ }
+ InlineArray4.prototype.get = function (index) {
+ switch (index) {
+ case 0:
+ return this._v0;
+ case 1:
+ return this._v1;
+ case 2:
+ return this._v2;
+ case 3:
+ return this._v3;
+ default:
+ return undefined;
+ }
+ };
+ InlineArray4.prototype.set = function (index, value) {
+ switch (index) {
+ case 0:
+ this._v0 = value;
+ break;
+ case 1:
+ this._v1 = value;
+ break;
+ case 2:
+ this._v2 = value;
+ break;
+ case 3:
+ this._v3 = value;
+ break;
+ }
+ };
+ return InlineArray4;
+ }());
+ var InlineArray8 = (function () {
+ function InlineArray8(length, _v0, _v1, _v2, _v3, _v4, _v5, _v6, _v7) {
+ this.length = length;
+ this._v0 = _v0;
+ this._v1 = _v1;
+ this._v2 = _v2;
+ this._v3 = _v3;
+ this._v4 = _v4;
+ this._v5 = _v5;
+ this._v6 = _v6;
+ this._v7 = _v7;
+ }
+ InlineArray8.prototype.get = function (index) {
+ switch (index) {
+ case 0:
+ return this._v0;
+ case 1:
+ return this._v1;
+ case 2:
+ return this._v2;
+ case 3:
+ return this._v3;
+ case 4:
+ return this._v4;
+ case 5:
+ return this._v5;
+ case 6:
+ return this._v6;
+ case 7:
+ return this._v7;
+ default:
+ return undefined;
+ }
+ };
+ InlineArray8.prototype.set = function (index, value) {
+ switch (index) {
+ case 0:
+ this._v0 = value;
+ break;
+ case 1:
+ this._v1 = value;
+ break;
+ case 2:
+ this._v2 = value;
+ break;
+ case 3:
+ this._v3 = value;
+ break;
+ case 4:
+ this._v4 = value;
+ break;
+ case 5:
+ this._v5 = value;
+ break;
+ case 6:
+ this._v6 = value;
+ break;
+ case 7:
+ this._v7 = value;
+ break;
+ }
+ };
+ return InlineArray8;
+ }());
+ var InlineArray16 = (function () {
+ function InlineArray16(length, _v0, _v1, _v2, _v3, _v4, _v5, _v6, _v7, _v8, _v9, _v10, _v11, _v12, _v13, _v14, _v15) {
+ this.length = length;
+ this._v0 = _v0;
+ this._v1 = _v1;
+ this._v2 = _v2;
+ this._v3 = _v3;
+ this._v4 = _v4;
+ this._v5 = _v5;
+ this._v6 = _v6;
+ this._v7 = _v7;
+ this._v8 = _v8;
+ this._v9 = _v9;
+ this._v10 = _v10;
+ this._v11 = _v11;
+ this._v12 = _v12;
+ this._v13 = _v13;
+ this._v14 = _v14;
+ this._v15 = _v15;
+ }
+ InlineArray16.prototype.get = function (index) {
+ switch (index) {
+ case 0:
+ return this._v0;
+ case 1:
+ return this._v1;
+ case 2:
+ return this._v2;
+ case 3:
+ return this._v3;
+ case 4:
+ return this._v4;
+ case 5:
+ return this._v5;
+ case 6:
+ return this._v6;
+ case 7:
+ return this._v7;
+ case 8:
+ return this._v8;
+ case 9:
+ return this._v9;
+ case 10:
+ return this._v10;
+ case 11:
+ return this._v11;
+ case 12:
+ return this._v12;
+ case 13:
+ return this._v13;
+ case 14:
+ return this._v14;
+ case 15:
+ return this._v15;
+ default:
+ return undefined;
+ }
+ };
+ InlineArray16.prototype.set = function (index, value) {
+ switch (index) {
+ case 0:
+ this._v0 = value;
+ break;
+ case 1:
+ this._v1 = value;
+ break;
+ case 2:
+ this._v2 = value;
+ break;
+ case 3:
+ this._v3 = value;
+ break;
+ case 4:
+ this._v4 = value;
+ break;
+ case 5:
+ this._v5 = value;
+ break;
+ case 6:
+ this._v6 = value;
+ break;
+ case 7:
+ this._v7 = value;
+ break;
+ case 8:
+ this._v8 = value;
+ break;
+ case 9:
+ this._v9 = value;
+ break;
+ case 10:
+ this._v10 = value;
+ break;
+ case 11:
+ this._v11 = value;
+ break;
+ case 12:
+ this._v12 = value;
+ break;
+ case 13:
+ this._v13 = value;
+ break;
+ case 14:
+ this._v14 = value;
+ break;
+ case 15:
+ this._v15 = value;
+ break;
+ }
+ };
+ return InlineArray16;
+ }());
+ var InlineArrayDynamic = (function () {
+ // Note: We still take the length argument so this class can be created
+ // in the same ways as the other classes!
+ function InlineArrayDynamic(length) {
+ var values = [];
+ for (var _i = 1; _i < arguments.length; _i++) {
+ values[_i - 1] = arguments[_i];
+ }
+ this.length = length;
+ this._values = values;
+ }
+ InlineArrayDynamic.prototype.get = function (index) { return this._values[index]; };
+ InlineArrayDynamic.prototype.set = function (index, value) { this._values[index] = value; };
+ return InlineArrayDynamic;
+ }());
+ var EMPTY_INLINE_ARRAY = new InlineArray0();
+
+
+ var view_utils = Object.freeze({
+ ViewUtils: ViewUtils,
+ createRenderComponentType: createRenderComponentType,
+ addToArray: addToArray,
+ interpolate: interpolate,
+ inlineInterpolate: inlineInterpolate,
+ checkBinding: checkBinding,
+ castByValue: castByValue,
+ EMPTY_ARRAY: EMPTY_ARRAY,
+ EMPTY_MAP: EMPTY_MAP,
+ pureProxy1: pureProxy1,
+ pureProxy2: pureProxy2,
+ pureProxy3: pureProxy3,
+ pureProxy4: pureProxy4,
+ pureProxy5: pureProxy5,
+ pureProxy6: pureProxy6,
+ pureProxy7: pureProxy7,
+ pureProxy8: pureProxy8,
+ pureProxy9: pureProxy9,
+ pureProxy10: pureProxy10,
+ setBindingDebugInfoForChanges: setBindingDebugInfoForChanges,
+ setBindingDebugInfo: setBindingDebugInfo,
+ createRenderElement: createRenderElement,
+ selectOrCreateRenderHostElement: selectOrCreateRenderHostElement,
+ subscribeToRenderElement: subscribeToRenderElement,
+ noop: noop,
+ InlineArray2: InlineArray2,
+ InlineArray4: InlineArray4,
+ InlineArray8: InlineArray8,
+ InlineArray16: InlineArray16,
+ InlineArrayDynamic: InlineArrayDynamic,
+ EMPTY_INLINE_ARRAY: EMPTY_INLINE_ARRAY
+ });
/**
* @license
@@ -32752,59 +33281,57 @@
}());
var ComponentRef_ = (function (_super) {
__extends$5(ComponentRef_, _super);
- function ComponentRef_(_hostElement, _componentType) {
+ function ComponentRef_(_index, _parentView, _nativeElement, _component) {
_super.call(this);
- this._hostElement = _hostElement;
- this._componentType = _componentType;
+ this._index = _index;
+ this._parentView = _parentView;
+ this._nativeElement = _nativeElement;
+ this._component = _component;
}
Object.defineProperty(ComponentRef_.prototype, "location", {
- get: function () { return this._hostElement.elementRef; },
+ get: function () { return new ElementRef(this._nativeElement); },
enumerable: true,
configurable: true
});
Object.defineProperty(ComponentRef_.prototype, "injector", {
- get: function () { return this._hostElement.injector; },
+ get: function () { return this._parentView.injector(this._index); },
enumerable: true,
configurable: true
});
Object.defineProperty(ComponentRef_.prototype, "instance", {
- get: function () { return this._hostElement.component; },
+ get: function () { return this._component; },
enumerable: true,
configurable: true
});
;
Object.defineProperty(ComponentRef_.prototype, "hostView", {
- get: function () { return this._hostElement.parentView.ref; },
+ get: function () { return this._parentView.ref; },
enumerable: true,
configurable: true
});
;
Object.defineProperty(ComponentRef_.prototype, "changeDetectorRef", {
- get: function () { return this._hostElement.parentView.ref; },
+ get: function () { return this._parentView.ref; },
enumerable: true,
configurable: true
});
;
Object.defineProperty(ComponentRef_.prototype, "componentType", {
- get: function () { return this._componentType; },
+ get: function () { return this._component.constructor; },
enumerable: true,
configurable: true
});
- ComponentRef_.prototype.destroy = function () { this._hostElement.parentView.destroy(); };
+ ComponentRef_.prototype.destroy = function () { this._parentView.detachAndDestroy(); };
ComponentRef_.prototype.onDestroy = function (callback) { this.hostView.onDestroy(callback); };
return ComponentRef_;
}(ComponentRef));
- /**
- * @experimental
- */
- var EMPTY_CONTEXT = new Object();
/**
* @stable
*/
var ComponentFactory = (function () {
- function ComponentFactory(selector, _viewFactory, _componentType) {
+ function ComponentFactory(selector, _viewClass, _componentType) {
this.selector = selector;
- this._viewFactory = _viewFactory;
+ this._viewClass = _viewClass;
this._componentType = _componentType;
}
Object.defineProperty(ComponentFactory.prototype, "componentType", {
@@ -32822,10 +33349,8 @@
if (!projectableNodes) {
projectableNodes = [];
}
- // Note: Host views don't need a declarationAppElement!
- var hostView = this._viewFactory(vu, injector, null);
- var hostElement = hostView.create(EMPTY_CONTEXT, projectableNodes, rootSelectorOrNode);
- return new ComponentRef_(hostElement, this._componentType);
+ var hostView = new this._viewClass(vu, null, null, null);
+ return hostView.createHostView(rootSelectorOrNode, injector, projectableNodes);
};
return ComponentFactory;
}());
@@ -32889,6 +33414,104 @@
return CodegenComponentFactoryResolver;
}());
+ var trace;
+ var events;
+ function detectWTF() {
+ var wtf = global$1['wtf'];
+ if (wtf) {
+ trace = wtf['trace'];
+ if (trace) {
+ events = trace['events'];
+ return true;
+ }
+ }
+ return false;
+ }
+ function createScope(signature, flags) {
+ if (flags === void 0) { flags = null; }
+ return events.createScope(signature, flags);
+ }
+ function leave(scope, returnValue) {
+ trace.leaveScope(scope, returnValue);
+ return returnValue;
+ }
+ function startTimeRange(rangeType, action) {
+ return trace.beginTimeRange(rangeType, action);
+ }
+ function endTimeRange(range) {
+ trace.endTimeRange(range);
+ }
+
+ /**
+ * True if WTF is enabled.
+ */
+ var wtfEnabled = detectWTF();
+ function noopScope(arg0, arg1) {
+ return null;
+ }
+ /**
+ * Create trace scope.
+ *
+ * Scopes must be strictly nested and are analogous to stack frames, but
+ * do not have to follow the stack frames. Instead it is recommended that they follow logical
+ * nesting. You may want to use
+ * [Event
+ * Signatures](http://google.github.io/tracing-framework/instrumenting-code.html#custom-events)
+ * as they are defined in WTF.
+ *
+ * Used to mark scope entry. The return value is used to leave the scope.
+ *
+ * var myScope = wtfCreateScope('MyClass#myMethod(ascii someVal)');
+ *
+ * someMethod() {
+ * var s = myScope('Foo'); // 'Foo' gets stored in tracing UI
+ * // DO SOME WORK HERE
+ * return wtfLeave(s, 123); // Return value 123
+ * }
+ *
+ * Note, adding try-finally block around the work to ensure that `wtfLeave` gets called can
+ * negatively impact the performance of your application. For this reason we recommend that
+ * you don't add them to ensure that `wtfLeave` gets called. In production `wtfLeave` is a noop and
+ * so try-finally block has no value. When debugging perf issues, skipping `wtfLeave`, do to
+ * exception, will produce incorrect trace, but presence of exception signifies logic error which
+ * needs to be fixed before the app should be profiled. Add try-finally only when you expect that
+ * an exception is expected during normal execution while profiling.
+ *
+ * @experimental
+ */
+ var wtfCreateScope = wtfEnabled ? createScope : function (signature, flags) { return noopScope; };
+ /**
+ * Used to mark end of Scope.
+ *
+ * - `scope` to end.
+ * - `returnValue` (optional) to be passed to the WTF.
+ *
+ * Returns the `returnValue for easy chaining.
+ * @experimental
+ */
+ var wtfLeave = wtfEnabled ? leave : function (s, r) { return r; };
+ /**
+ * Used to mark Async start. Async are similar to scope but they don't have to be strictly nested.
+ * The return value is used in the call to [endAsync]. Async ranges only work if WTF has been
+ * enabled.
+ *
+ * someMethod() {
+ * var s = wtfStartTimeRange('HTTP:GET', 'some.url');
+ * var future = new Future.delay(5).then((_) {
+ * wtfEndTimeRange(s);
+ * });
+ * }
+ * @experimental
+ */
+ var wtfStartTimeRange = wtfEnabled ? startTimeRange : function (rangeType, action) { return null; };
+ /**
+ * Ends a async time range operation.
+ * [range] is the return value from [wtfStartTimeRange] Async ranges only work if WTF has been
+ * enabled.
+ * @experimental
+ */
+ var wtfEndTimeRange = wtfEnabled ? endTimeRange : function (r) { return null; };
+
/**
* @license
* Copyright Google Inc. All Rights Reserved.
@@ -33382,8 +34005,8 @@
this._applications.set(token, testability);
};
TestabilityRegistry.prototype.getTestability = function (elem) { return this._applications.get(elem); };
- TestabilityRegistry.prototype.getAllTestabilities = function () { return MapWrapper.values(this._applications); };
- TestabilityRegistry.prototype.getAllRootElements = function () { return MapWrapper.keys(this._applications); };
+ TestabilityRegistry.prototype.getAllTestabilities = function () { return Array.from(this._applications.values()); };
+ TestabilityRegistry.prototype.getAllRootElements = function () { return Array.from(this._applications.keys()); };
TestabilityRegistry.prototype.findTestabilityInTree = function (elem, findInAncestors) {
if (findInAncestors === void 0) { findInAncestors = true; }
return _testabilityGetter.findTestabilityInTree(this, elem, findInAncestors);
@@ -34093,6 +34716,11 @@
QueryList.prototype.filter = function (fn) {
return this._results.filter(fn);
};
+ /**
+ * See
+ * [Array.find](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)
+ */
+ QueryList.prototype.find = function (fn) { return this._results.find(fn); };
/**
* See
* [Array.reduce](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce)
@@ -34164,8 +34792,9 @@
SystemJsNgModuleLoader.prototype.loadAndCompile = function (path) {
var _this = this;
var _a = path.split(_SEPARATOR), module = _a[0], exportName = _a[1];
- if (exportName === undefined)
+ if (exportName === undefined) {
exportName = 'default';
+ }
return System.import(module)
.then(function (module) { return module[exportName]; })
.then(function (type) { return checkNotEmpty(type, module, exportName); })
@@ -34248,24 +34877,180 @@
}());
var TemplateRef_ = (function (_super) {
__extends$10(TemplateRef_, _super);
- function TemplateRef_(_appElement, _viewFactory) {
+ function TemplateRef_(_parentView, _nodeIndex, _nativeElement) {
_super.call(this);
- this._appElement = _appElement;
- this._viewFactory = _viewFactory;
+ this._parentView = _parentView;
+ this._nodeIndex = _nodeIndex;
+ this._nativeElement = _nativeElement;
}
TemplateRef_.prototype.createEmbeddedView = function (context) {
- var view = this._viewFactory(this._appElement.parentView.viewUtils, this._appElement.parentInjector, this._appElement);
- view.create(context || {}, null, null);
+ var view = this._parentView.createEmbeddedViewInternal(this._nodeIndex);
+ view.create(context || {});
return view.ref;
};
Object.defineProperty(TemplateRef_.prototype, "elementRef", {
- get: function () { return this._appElement.elementRef; },
+ get: function () { return new ElementRef(this._nativeElement); },
enumerable: true,
configurable: true
});
return TemplateRef_;
}(TemplateRef));
+ /**
+ * Represents a container where one or more Views can be attached.
+ *
+ * The container can contain two kinds of Views. Host Views, created by instantiating a
+ * {@link Component} via {@link #createComponent}, and Embedded Views, created by instantiating an
+ * {@link TemplateRef Embedded Template} via {@link #createEmbeddedView}.
+ *
+ * The location of the View Container within the containing View is specified by the Anchor
+ * `element`. Each View Container can have only one Anchor Element and each Anchor Element can only
+ * have a single View Container.
+ *
+ * Root elements of Views attached to this container become siblings of the Anchor Element in
+ * the Rendered View.
+ *
+ * To access a `ViewContainerRef` of an Element, you can either place a {@link Directive} injected
+ * with `ViewContainerRef` on the Element, or you obtain it via a {@link ViewChild} query.
+ * @stable
+ */
+ var ViewContainerRef = (function () {
+ function ViewContainerRef() {
+ }
+ Object.defineProperty(ViewContainerRef.prototype, "element", {
+ /**
+ * Anchor element that specifies the location of this container in the containing View.
+ *
+ */
+ get: function () { return unimplemented(); },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(ViewContainerRef.prototype, "injector", {
+ get: function () { return unimplemented(); },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(ViewContainerRef.prototype, "parentInjector", {
+ get: function () { return unimplemented(); },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(ViewContainerRef.prototype, "length", {
+ /**
+ * Returns the number of Views currently attached to this container.
+ */
+ get: function () { return unimplemented(); },
+ enumerable: true,
+ configurable: true
+ });
+ ;
+ return ViewContainerRef;
+ }());
+ var ViewContainerRef_ = (function () {
+ function ViewContainerRef_(_element) {
+ this._element = _element;
+ /** @internal */
+ this._createComponentInContainerScope = wtfCreateScope('ViewContainerRef#createComponent()');
+ /** @internal */
+ this._insertScope = wtfCreateScope('ViewContainerRef#insert()');
+ /** @internal */
+ this._removeScope = wtfCreateScope('ViewContainerRef#remove()');
+ /** @internal */
+ this._detachScope = wtfCreateScope('ViewContainerRef#detach()');
+ }
+ ViewContainerRef_.prototype.get = function (index) { return this._element.nestedViews[index].ref; };
+ Object.defineProperty(ViewContainerRef_.prototype, "length", {
+ get: function () {
+ var views = this._element.nestedViews;
+ return isPresent(views) ? views.length : 0;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(ViewContainerRef_.prototype, "element", {
+ get: function () { return this._element.elementRef; },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(ViewContainerRef_.prototype, "injector", {
+ get: function () { return this._element.injector; },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(ViewContainerRef_.prototype, "parentInjector", {
+ get: function () { return this._element.parentInjector; },
+ enumerable: true,
+ configurable: true
+ });
+ // TODO(rado): profile and decide whether bounds checks should be added
+ // to the methods below.
+ ViewContainerRef_.prototype.createEmbeddedView = function (templateRef, context, index) {
+ if (context === void 0) { context = null; }
+ if (index === void 0) { index = -1; }
+ var viewRef = templateRef.createEmbeddedView(context);
+ this.insert(viewRef, index);
+ return viewRef;
+ };
+ ViewContainerRef_.prototype.createComponent = function (componentFactory, index, injector, projectableNodes) {
+ if (index === void 0) { index = -1; }
+ if (injector === void 0) { injector = null; }
+ if (projectableNodes === void 0) { projectableNodes = null; }
+ var s = this._createComponentInContainerScope();
+ var contextInjector = injector || this._element.parentInjector;
+ var componentRef = componentFactory.create(contextInjector, projectableNodes);
+ this.insert(componentRef.hostView, index);
+ return wtfLeave(s, componentRef);
+ };
+ // TODO(i): refactor insert+remove into move
+ ViewContainerRef_.prototype.insert = function (viewRef, index) {
+ if (index === void 0) { index = -1; }
+ var s = this._insertScope();
+ if (index == -1)
+ index = this.length;
+ var viewRef_ = viewRef;
+ this._element.attachView(viewRef_.internalView, index);
+ return wtfLeave(s, viewRef_);
+ };
+ ViewContainerRef_.prototype.move = function (viewRef, currentIndex) {
+ var s = this._insertScope();
+ if (currentIndex == -1)
+ return;
+ var viewRef_ = viewRef;
+ this._element.moveView(viewRef_.internalView, currentIndex);
+ return wtfLeave(s, viewRef_);
+ };
+ ViewContainerRef_.prototype.indexOf = function (viewRef) {
+ return this._element.nestedViews.indexOf(viewRef.internalView);
+ };
+ // TODO(i): rename to destroy
+ ViewContainerRef_.prototype.remove = function (index) {
+ if (index === void 0) { index = -1; }
+ var s = this._removeScope();
+ if (index == -1)
+ index = this.length - 1;
+ var view = this._element.detachView(index);
+ view.destroy();
+ // view is intentionally not returned to the client.
+ wtfLeave(s);
+ };
+ // TODO(i): refactor insert+remove into move
+ ViewContainerRef_.prototype.detach = function (index) {
+ if (index === void 0) { index = -1; }
+ var s = this._detachScope();
+ if (index == -1)
+ index = this.length - 1;
+ var view = this._element.detachView(index);
+ return wtfLeave(s, view.ref);
+ };
+ ViewContainerRef_.prototype.clear = function () {
+ for (var i = this.length - 1; i >= 0; i--) {
+ this.remove(i);
+ }
+ };
+ return ViewContainerRef_;
+ }());
+
/**
* @license
* Copyright Google Inc. All Rights Reserved.
@@ -34275,11 +35060,19 @@
*/
var _queuedAnimations = [];
/** @internal */
- function queueAnimation(player) {
+ function queueAnimationGlobally(player) {
_queuedAnimations.push(player);
}
/** @internal */
function triggerQueuedAnimations() {
+ // this code is wrapped into a single promise such that the
+ // onStart and onDone player callbacks are triggered outside
+ // of the digest cycle of animations
+ if (_queuedAnimations.length) {
+ Promise.resolve(null).then(_triggerAnimations);
+ }
+ }
+ function _triggerAnimations() {
for (var i = 0; i < _queuedAnimations.length; i++) {
var player = _queuedAnimations[i];
player.play();
@@ -34421,8 +35214,13 @@
this._view.cdMode = this._originalMode;
this.markForCheck();
};
- ViewRef_.prototype.onDestroy = function (callback) { this._view.disposables.push(callback); };
- ViewRef_.prototype.destroy = function () { this._view.destroy(); };
+ ViewRef_.prototype.onDestroy = function (callback) {
+ if (!this._view.disposables) {
+ this._view.disposables = [];
+ }
+ this._view.disposables.push(callback);
+ };
+ ViewRef_.prototype.destroy = function () { this._view.detachAndDestroy(); };
return ViewRef_;
}());
@@ -34453,7 +35251,7 @@
function DebugNode(nativeNode, parent, _debugInfo) {
this._debugInfo = _debugInfo;
this.nativeNode = nativeNode;
- if (isPresent(parent) && parent instanceof DebugElement) {
+ if (parent && parent instanceof DebugElement) {
parent.addChild(this);
}
else {
@@ -34462,38 +35260,34 @@
this.listeners = [];
}
Object.defineProperty(DebugNode.prototype, "injector", {
- get: function () { return isPresent(this._debugInfo) ? this._debugInfo.injector : null; },
+ get: function () { return this._debugInfo ? this._debugInfo.injector : null; },
enumerable: true,
configurable: true
});
Object.defineProperty(DebugNode.prototype, "componentInstance", {
- get: function () {
- return isPresent(this._debugInfo) ? this._debugInfo.component : null;
- },
+ get: function () { return this._debugInfo ? this._debugInfo.component : null; },
enumerable: true,
configurable: true
});
Object.defineProperty(DebugNode.prototype, "context", {
- get: function () { return isPresent(this._debugInfo) ? this._debugInfo.context : null; },
+ get: function () { return this._debugInfo ? this._debugInfo.context : null; },
enumerable: true,
configurable: true
});
Object.defineProperty(DebugNode.prototype, "references", {
get: function () {
- return isPresent(this._debugInfo) ? this._debugInfo.references : null;
+ return this._debugInfo ? this._debugInfo.references : null;
},
enumerable: true,
configurable: true
});
Object.defineProperty(DebugNode.prototype, "providerTokens", {
- get: function () {
- return isPresent(this._debugInfo) ? this._debugInfo.providerTokens : null;
- },
+ get: function () { return this._debugInfo ? this._debugInfo.providerTokens : null; },
enumerable: true,
configurable: true
});
Object.defineProperty(DebugNode.prototype, "source", {
- get: function () { return isPresent(this._debugInfo) ? this._debugInfo.source : null; },
+ get: function () { return this._debugInfo ? this._debugInfo.source : null; },
enumerable: true,
configurable: true
});
@@ -34514,7 +35308,7 @@
this.nativeElement = nativeNode;
}
DebugElement.prototype.addChild = function (child) {
- if (isPresent(child)) {
+ if (child) {
this.childNodes.push(child);
child.parent = this;
}
@@ -34531,11 +35325,10 @@
if (siblingIndex !== -1) {
var previousChildren = this.childNodes.slice(0, siblingIndex + 1);
var nextChildren = this.childNodes.slice(siblingIndex + 1);
- this.childNodes =
- ListWrapper.concat(ListWrapper.concat(previousChildren, newChildren), nextChildren);
+ this.childNodes = previousChildren.concat(newChildren, nextChildren);
for (var i = 0; i < newChildren.length; ++i) {
var newChild = newChildren[i];
- if (isPresent(newChild.parent)) {
+ if (newChild.parent) {
newChild.parent.removeChild(newChild);
}
newChild.parent = this;
@@ -34544,7 +35337,7 @@
};
DebugElement.prototype.query = function (predicate) {
var results = this.queryAll(predicate);
- return results.length > 0 ? results[0] : null;
+ return results[0] || null;
};
DebugElement.prototype.queryAll = function (predicate) {
var matches = [];
@@ -34558,13 +35351,7 @@
};
Object.defineProperty(DebugElement.prototype, "children", {
get: function () {
- var children = [];
- this.childNodes.forEach(function (node) {
- if (node instanceof DebugElement) {
- children.push(node);
- }
- });
- return children;
+ return this.childNodes.filter(function (node) { return node instanceof DebugElement; });
},
enumerable: true,
configurable: true
@@ -34699,8 +35486,6 @@
var DEFAULT_STATE = '*';
var EMPTY_STATE = 'void';
- var Math$1 = global$1.Math;
-
var AnimationGroupPlayer = (function () {
function AnimationGroupPlayer(_players) {
var _this = this;
@@ -34709,6 +35494,7 @@
this._onStartFns = [];
this._finished = false;
this._started = false;
+ this._destroyed = false;
this.parentPlayer = null;
var count = 0;
var total = this._players.length;
@@ -34729,9 +35515,6 @@
AnimationGroupPlayer.prototype._onFinish = function () {
if (!this._finished) {
this._finished = true;
- if (!isPresent(this.parentPlayer)) {
- this.destroy();
- }
this._onDoneFns.forEach(function (fn) { return fn(); });
this._onDoneFns = [];
}
@@ -34758,21 +35541,34 @@
this._players.forEach(function (player) { return player.finish(); });
};
AnimationGroupPlayer.prototype.destroy = function () {
- this._onFinish();
- this._players.forEach(function (player) { return player.destroy(); });
+ if (!this._destroyed) {
+ this._onFinish();
+ this._players.forEach(function (player) { return player.destroy(); });
+ this._destroyed = true;
+ }
};
- AnimationGroupPlayer.prototype.reset = function () { this._players.forEach(function (player) { return player.reset(); }); };
- AnimationGroupPlayer.prototype.setPosition = function (p /** TODO #9100 */) {
+ AnimationGroupPlayer.prototype.reset = function () {
+ this._players.forEach(function (player) { return player.reset(); });
+ this._destroyed = false;
+ this._finished = false;
+ this._started = false;
+ };
+ AnimationGroupPlayer.prototype.setPosition = function (p) {
this._players.forEach(function (player) { player.setPosition(p); });
};
AnimationGroupPlayer.prototype.getPosition = function () {
var min = 0;
this._players.forEach(function (player) {
var p = player.getPosition();
- min = Math$1.min(p, min);
+ min = Math.min(p, min);
});
return min;
};
+ Object.defineProperty(AnimationGroupPlayer.prototype, "players", {
+ get: function () { return this._players; },
+ enumerable: true,
+ configurable: true
+ });
return AnimationGroupPlayer;
}());
@@ -34835,7 +35631,7 @@
NoOpAnimationPlayer.prototype.finish = function () { this._onFinish(); };
NoOpAnimationPlayer.prototype.destroy = function () { };
NoOpAnimationPlayer.prototype.reset = function () { };
- NoOpAnimationPlayer.prototype.setPosition = function (p /** TODO #9100 */) { };
+ NoOpAnimationPlayer.prototype.setPosition = function (p) { };
NoOpAnimationPlayer.prototype.getPosition = function () { return 0; };
return NoOpAnimationPlayer;
}());
@@ -34849,6 +35645,7 @@
this._onStartFns = [];
this._finished = false;
this._started = false;
+ this._destroyed = false;
this.parentPlayer = null;
this._players.forEach(function (player) { player.parentPlayer = _this; });
this._onNext(false);
@@ -34877,9 +35674,6 @@
AnimationSequencePlayer.prototype._onFinish = function () {
if (!this._finished) {
this._finished = true;
- if (!isPresent(this.parentPlayer)) {
- this.destroy();
- }
this._onDoneFns.forEach(function (fn) { return fn(); });
this._onDoneFns = [];
}
@@ -34901,22 +35695,36 @@
};
AnimationSequencePlayer.prototype.pause = function () { this._activePlayer.pause(); };
AnimationSequencePlayer.prototype.restart = function () {
+ this.reset();
if (this._players.length > 0) {
- this.reset();
this._players[0].restart();
}
};
- AnimationSequencePlayer.prototype.reset = function () { this._players.forEach(function (player) { return player.reset(); }); };
+ AnimationSequencePlayer.prototype.reset = function () {
+ this._players.forEach(function (player) { return player.reset(); });
+ this._destroyed = false;
+ this._finished = false;
+ this._started = false;
+ };
AnimationSequencePlayer.prototype.finish = function () {
this._onFinish();
this._players.forEach(function (player) { return player.finish(); });
};
AnimationSequencePlayer.prototype.destroy = function () {
- this._onFinish();
- this._players.forEach(function (player) { return player.destroy(); });
+ if (!this._destroyed) {
+ this._onFinish();
+ this._players.forEach(function (player) { return player.destroy(); });
+ this._destroyed = true;
+ this._activePlayer = new NoOpAnimationPlayer();
+ }
};
- AnimationSequencePlayer.prototype.setPosition = function (p /** TODO #9100 */) { this._players[0].setPosition(p); };
+ AnimationSequencePlayer.prototype.setPosition = function (p) { this._players[0].setPosition(p); };
AnimationSequencePlayer.prototype.getPosition = function () { return this._players[0].getPosition(); };
+ Object.defineProperty(AnimationSequencePlayer.prototype, "players", {
+ get: function () { return this._players; },
+ enumerable: true,
+ configurable: true
+ });
return AnimationSequencePlayer;
}());
@@ -35295,11 +36103,11 @@
function style(tokens) {
var input;
var offset = null;
- if (isString(tokens)) {
+ if (typeof tokens === 'string') {
input = [tokens];
}
else {
- if (isArray(tokens)) {
+ if (Array.isArray(tokens)) {
input = tokens;
}
else {
@@ -35528,8 +36336,7 @@
* @experimental Animation support is experimental.
*/
function transition(stateChangeExpr, steps) {
- var animationData = isArray(steps) ? new AnimationSequenceMetadata(steps) :
- steps;
+ var animationData = Array.isArray(steps) ? new AnimationSequenceMetadata(steps) : steps;
return new AnimationStateTransitionMetadata(stateChangeExpr, animationData);
}
/**
@@ -35626,7 +36433,7 @@
var keyframeCollectedStyles = StringMapWrapper.merge({}, flatenedFirstKeyframeStyles);
// phase 2: normalize the final keyframe
var finalKeyframe = keyframes[limit];
- ListWrapper.insert(finalKeyframe.styles.styles, 0, finalStateStyles);
+ finalKeyframe.styles.styles.unshift(finalStateStyles);
var flatenedFinalKeyframeStyles = flattenStyles(finalKeyframe.styles.styles);
var extraFinalKeyframeStyles = {};
var hasExtraFinalStyles = false;
@@ -35648,6 +36455,7 @@
if (hasExtraFirstStyles) {
firstKeyframe.styles.styles.push(extraFirstKeyframeStyles);
}
+ collectAndResolveStyles(collectedStyles, [finalStateStyles]);
return keyframes;
}
function clearStyles(styles) {
@@ -35697,6 +36505,81 @@
return AnimationStyles;
}());
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+ /**
+ * An instance of this class is returned as an event parameter when an animation
+ * callback is captured for an animation either during the start or done phase.
+ *
+ * ```typescript
+ * @Component({
+ * host: {
+ * '[@myAnimationTrigger]': 'someExpression',
+ * '(@myAnimationTrigger.start)': 'captureStartEvent($event)',
+ * '(@myAnimationTrigger.done)': 'captureDoneEvent($event)',
+ * },
+ * animations: [
+ * trigger("myAnimationTrigger", [
+ * // ...
+ * ])
+ * ]
+ * })
+ * class MyComponent {
+ * someExpression: any = false;
+ * captureStartEvent(event: AnimationTransitionEvent) {
+ * // the toState, fromState and totalTime data is accessible from the event variable
+ * }
+ *
+ * captureDoneEvent(event: AnimationTransitionEvent) {
+ * // the toState, fromState and totalTime data is accessible from the event variable
+ * }
+ * }
+ * ```
+ *
+ * @experimental Animation support is experimental.
+ */
+ var AnimationTransitionEvent = (function () {
+ function AnimationTransitionEvent(_a) {
+ var fromState = _a.fromState, toState = _a.toState, totalTime = _a.totalTime, phaseName = _a.phaseName;
+ this.fromState = fromState;
+ this.toState = toState;
+ this.totalTime = totalTime;
+ this.phaseName = phaseName;
+ }
+ return AnimationTransitionEvent;
+ }());
+
+ var AnimationTransition = (function () {
+ function AnimationTransition(_player, _fromState, _toState, _totalTime) {
+ this._player = _player;
+ this._fromState = _fromState;
+ this._toState = _toState;
+ this._totalTime = _totalTime;
+ }
+ AnimationTransition.prototype._createEvent = function (phaseName) {
+ return new AnimationTransitionEvent({
+ fromState: this._fromState,
+ toState: this._toState,
+ totalTime: this._totalTime,
+ phaseName: phaseName
+ });
+ };
+ AnimationTransition.prototype.onStart = function (callback) {
+ var event = this._createEvent('start');
+ this._player.onStart(function () { return callback(event); });
+ };
+ AnimationTransition.prototype.onDone = function (callback) {
+ var event = this._createEvent('done');
+ this._player.onDone(function () { return callback(event); });
+ };
+ return AnimationTransition;
+ }());
+
var DebugDomRootRenderer = (function () {
function DebugDomRootRenderer(_delegate) {
this._delegate = _delegate;
@@ -35749,9 +36632,9 @@
if (isPresent(debugNode)) {
var debugParent = debugNode.parent;
if (viewRootNodes.length > 0 && isPresent(debugParent)) {
- var debugViewRootNodes = [];
- viewRootNodes.forEach(function (rootNode) { return debugViewRootNodes.push(getDebugNode(rootNode)); });
- debugParent.insertChildrenAfter(debugNode, debugViewRootNodes);
+ var debugViewRootNodes_1 = [];
+ viewRootNodes.forEach(function (rootNode) { return debugViewRootNodes_1.push(getDebugNode(rootNode)); });
+ debugParent.insertChildrenAfter(debugNode, debugViewRootNodes_1);
}
}
this._delegate.attachViewAfter(node, viewRootNodes);
@@ -35766,6 +36649,7 @@
this._delegate.detachView(viewRootNodes);
};
DebugDomRenderer.prototype.destroyView = function (hostElement, viewAllNodes) {
+ viewAllNodes = viewAllNodes || [];
viewAllNodes.forEach(function (node) { removeDebugNodeFromIndex(getDebugNode(node)); });
this._delegate.destroyView(hostElement, viewAllNodes);
};
@@ -35814,12 +36698,33 @@
this._delegate.invokeElementMethod(renderElement, methodName, args);
};
DebugDomRenderer.prototype.setText = function (renderNode, text) { this._delegate.setText(renderNode, text); };
- DebugDomRenderer.prototype.animate = function (element, startingStyles, keyframes, duration, delay, easing) {
- return this._delegate.animate(element, startingStyles, keyframes, duration, delay, easing);
+ DebugDomRenderer.prototype.animate = function (element, startingStyles, keyframes, duration, delay, easing, previousPlayers) {
+ if (previousPlayers === void 0) { previousPlayers = []; }
+ return this._delegate.animate(element, startingStyles, keyframes, duration, delay, easing, previousPlayers);
};
return DebugDomRenderer;
}());
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+ var ViewType;
+ (function (ViewType) {
+ // A view that contains the host element with bound component directive.
+ // Contains a COMPONENT view
+ ViewType[ViewType["HOST"] = 0] = "HOST";
+ // The view of the component
+ // Can contain 0 to n EMBEDDED views
+ ViewType[ViewType["COMPONENT"] = 1] = "COMPONENT";
+ // A view that is embedded into another View via a element
+ // inside of a COMPONENT view
+ ViewType[ViewType["EMBEDDED"] = 2] = "EMBEDDED";
+ })(ViewType || (ViewType = {}));
+
var StaticNodeDebugInfo = (function () {
function StaticNodeDebugInfo(providerTokens, componentToken, refTokens) {
this.providerTokens = providerTokens;
@@ -35861,13 +36766,10 @@
Object.defineProperty(DebugContext.prototype, "componentRenderElement", {
get: function () {
var componentView = this._view;
- while (isPresent(componentView.declarationAppElement) &&
- componentView.type !== ViewType.COMPONENT) {
- componentView = componentView.declarationAppElement.parentView;
+ while (isPresent(componentView.parentView) && componentView.type !== ViewType.COMPONENT) {
+ componentView = componentView.parentView;
}
- return isPresent(componentView.declarationAppElement) ?
- componentView.declarationAppElement.nativeElement :
- null;
+ return componentView.parentElement;
},
enumerable: true,
configurable: true
@@ -35910,9 +36812,9 @@
var varValues = {};
var staticNodeInfo = this._staticNodeInfo;
if (isPresent(staticNodeInfo)) {
- var refs = staticNodeInfo.refTokens;
- Object.keys(refs).forEach(function (refName) {
- var refToken = refs[refName];
+ var refs_1 = staticNodeInfo.refTokens;
+ Object.keys(refs_1).forEach(function (refName) {
+ var refToken = refs_1[refName];
var varValue;
if (isBlank(refToken)) {
varValue = _this._view.allNodes ? _this._view.allNodes[_this._nodeIndex] : null;
@@ -35931,64 +36833,11 @@
return DebugContext;
}());
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
- /**
- * An instance of this class is returned as an event parameter when an animation
- * callback is captured for an animation either during the start or done phase.
- *
- * ```typescript
- * @Component({
- * host: {
- * '[@myAnimationTrigger]': 'someExpression',
- * '(@myAnimationTrigger.start)': 'captureStartEvent($event)',
- * '(@myAnimationTrigger.done)': 'captureDoneEvent($event)',
- * },
- * animations: [
- * trigger("myAnimationTrigger", [
- * // ...
- * ])
- * ]
- * })
- * class MyComponent {
- * someExpression: any = false;
- * captureStartEvent(event: AnimationTransitionEvent) {
- * // the toState, fromState and totalTime data is accessible from the event variable
- * }
- *
- * captureDoneEvent(event: AnimationTransitionEvent) {
- * // the toState, fromState and totalTime data is accessible from the event variable
- * }
- * }
- * ```
- *
- * @experimental Animation support is experimental.
- */
- var AnimationTransitionEvent = (function () {
- function AnimationTransitionEvent(_a) {
- var fromState = _a.fromState, toState = _a.toState, totalTime = _a.totalTime;
- this.fromState = fromState;
- this.toState = toState;
- this.totalTime = totalTime;
- }
- return AnimationTransitionEvent;
- }());
-
var ViewAnimationMap = (function () {
function ViewAnimationMap() {
this._map = new Map();
this._allPlayers = [];
}
- Object.defineProperty(ViewAnimationMap.prototype, "length", {
- get: function () { return this.getAllPlayers().length; },
- enumerable: true,
- configurable: true
- });
ViewAnimationMap.prototype.find = function (element, animationName) {
var playersByAnimation = this._map.get(element);
if (isPresent(playersByAnimation)) {
@@ -36028,6 +36877,50 @@
return ViewAnimationMap;
}());
+ var AnimationViewContext = (function () {
+ function AnimationViewContext() {
+ this._players = new ViewAnimationMap();
+ }
+ AnimationViewContext.prototype.onAllActiveAnimationsDone = function (callback) {
+ var activeAnimationPlayers = this._players.getAllPlayers();
+ // we check for the length to avoid having GroupAnimationPlayer
+ // issue an unnecessary microtask when zero players are passed in
+ if (activeAnimationPlayers.length) {
+ new AnimationGroupPlayer(activeAnimationPlayers).onDone(function () { return callback(); });
+ }
+ else {
+ callback();
+ }
+ };
+ AnimationViewContext.prototype.queueAnimation = function (element, animationName, player) {
+ queueAnimationGlobally(player);
+ this._players.set(element, animationName, player);
+ };
+ AnimationViewContext.prototype.getAnimationPlayers = function (element, animationName, removeAllAnimations) {
+ if (removeAllAnimations === void 0) { removeAllAnimations = false; }
+ var players = [];
+ if (removeAllAnimations) {
+ this._players.findAllPlayersByElement(element).forEach(function (player) { _recursePlayers(player, players); });
+ }
+ else {
+ var currentPlayer = this._players.find(element, animationName);
+ if (currentPlayer) {
+ _recursePlayers(currentPlayer, players);
+ }
+ }
+ return players;
+ };
+ return AnimationViewContext;
+ }());
+ function _recursePlayers(player, collectedPlayers) {
+ if ((player instanceof AnimationGroupPlayer) || (player instanceof AnimationSequencePlayer)) {
+ player.players.forEach(function (player) { return _recursePlayers(player, collectedPlayers); });
+ }
+ else {
+ collectedPlayers.push(player);
+ }
+ }
+
/**
* @license
* Copyright Google Inc. All Rights Reserved.
@@ -36040,7 +36933,6 @@
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
- var _UNDEFINED$1 = new Object();
var ElementInjector = (function (_super) {
__extends$15(ElementInjector, _super);
function ElementInjector(_view, _nodeIndex) {
@@ -36050,14 +36942,7 @@
}
ElementInjector.prototype.get = function (token, notFoundValue) {
if (notFoundValue === void 0) { notFoundValue = THROW_IF_NOT_FOUND; }
- var result = _UNDEFINED$1;
- if (result === _UNDEFINED$1) {
- result = this._view.injectorGet(token, this._nodeIndex, _UNDEFINED$1);
- }
- if (result === _UNDEFINED$1) {
- result = this._view.parentInjector.get(token, notFoundValue);
- }
- return result;
+ return this._view.injectorGet(token, this._nodeIndex, notFoundValue);
};
return ElementInjector;
}(Injector));
@@ -36075,132 +36960,96 @@
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var _scope_check = wtfCreateScope("AppView#check(ascii id)");
+ /**
+ * @experimental
+ */
+ var EMPTY_CONTEXT$1 = new Object();
+ var UNDEFINED$1 = new Object();
/**
* Cost of making objects: http://jsperf.com/instantiate-size-of-object
*
*/
var AppView = (function () {
- function AppView(clazz, componentType, type, viewUtils, parentInjector, declarationAppElement, cdMode) {
+ function AppView(clazz, componentType, type, viewUtils, parentView, parentIndex, parentElement, cdMode, declaredViewContainer) {
+ if (declaredViewContainer === void 0) { declaredViewContainer = null; }
this.clazz = clazz;
this.componentType = componentType;
this.type = type;
this.viewUtils = viewUtils;
- this.parentInjector = parentInjector;
- this.declarationAppElement = declarationAppElement;
+ this.parentView = parentView;
+ this.parentIndex = parentIndex;
+ this.parentElement = parentElement;
this.cdMode = cdMode;
- this.contentChildren = [];
- this.viewChildren = [];
- this.viewContainerElement = null;
+ this.declaredViewContainer = declaredViewContainer;
+ this.viewContainer = null;
this.numberOfChecks = 0;
- this.animationPlayers = new ViewAnimationMap();
- this._animationListeners = new Map();
this.ref = new ViewRef_(this);
if (type === ViewType.COMPONENT || type === ViewType.HOST) {
this.renderer = viewUtils.renderComponent(componentType);
}
else {
- this.renderer = declarationAppElement.parentView.renderer;
+ this.renderer = parentView.renderer;
}
+ this._directRenderer = this.renderer.directRenderer;
}
+ Object.defineProperty(AppView.prototype, "animationContext", {
+ get: function () {
+ if (!this._animationContext) {
+ this._animationContext = new AnimationViewContext();
+ }
+ return this._animationContext;
+ },
+ enumerable: true,
+ configurable: true
+ });
Object.defineProperty(AppView.prototype, "destroyed", {
get: function () { return this.cdMode === ChangeDetectorStatus.Destroyed; },
enumerable: true,
configurable: true
});
- AppView.prototype.cancelActiveAnimation = function (element, animationName, removeAllAnimations) {
- if (removeAllAnimations === void 0) { removeAllAnimations = false; }
- if (removeAllAnimations) {
- this.animationPlayers.findAllPlayersByElement(element).forEach(function (player) { return player.destroy(); });
- }
- else {
- var player = this.animationPlayers.find(element, animationName);
- if (isPresent(player)) {
- player.destroy();
- }
- }
- };
- AppView.prototype.queueAnimation = function (element, animationName, player, totalTime, fromState, toState) {
- var _this = this;
- queueAnimation(player);
- var event = new AnimationTransitionEvent({ 'fromState': fromState, 'toState': toState, 'totalTime': totalTime });
- this.animationPlayers.set(element, animationName, player);
- player.onDone(function () {
- // TODO: make this into a datastructure for done|start
- _this.triggerAnimationOutput(element, animationName, 'done', event);
- _this.animationPlayers.remove(element, animationName);
- });
- player.onStart(function () { _this.triggerAnimationOutput(element, animationName, 'start', event); });
- };
- AppView.prototype.triggerAnimationOutput = function (element, animationName, phase, event) {
- var listeners = this._animationListeners.get(element);
- if (isPresent(listeners) && listeners.length) {
- for (var i = 0; i < listeners.length; i++) {
- var listener = listeners[i];
- // we check for both the name in addition to the phase in the event
- // that there may be more than one @trigger on the same element
- if (listener.eventName === animationName && listener.eventPhase === phase) {
- listener.handler(event);
- break;
- }
- }
- }
- };
- AppView.prototype.registerAnimationOutput = function (element, eventName, eventPhase, eventHandler) {
- var animations = this._animationListeners.get(element);
- if (!isPresent(animations)) {
- this._animationListeners.set(element, animations = []);
- }
- animations.push(new _AnimationOutputHandler(eventName, eventPhase, eventHandler));
- };
- AppView.prototype.create = function (context, givenProjectableNodes, rootSelectorOrNode) {
+ AppView.prototype.create = function (context) {
this.context = context;
- var projectableNodes;
- switch (this.type) {
- case ViewType.COMPONENT:
- projectableNodes = ensureSlotCount(givenProjectableNodes, this.componentType.slotCount);
- break;
- case ViewType.EMBEDDED:
- projectableNodes = this.declarationAppElement.parentView.projectableNodes;
- break;
- case ViewType.HOST:
- // Note: Don't ensure the slot count for the projectableNodes as we store
- // them only for the contained component view (which will later check the slot count...)
- projectableNodes = givenProjectableNodes;
- break;
- }
+ return this.createInternal(null);
+ };
+ AppView.prototype.createHostView = function (rootSelectorOrNode, hostInjector, projectableNodes) {
+ this.context = EMPTY_CONTEXT$1;
this._hasExternalHostElement = isPresent(rootSelectorOrNode);
- this.projectableNodes = projectableNodes;
+ this._hostInjector = hostInjector;
+ this._hostProjectableNodes = projectableNodes;
return this.createInternal(rootSelectorOrNode);
};
/**
* Overwritten by implementations.
- * Returns the AppElement for the host element for ViewType.HOST.
+ * Returns the ComponentRef for the host element for ViewType.HOST.
*/
AppView.prototype.createInternal = function (rootSelectorOrNode) { return null; };
- AppView.prototype.init = function (rootNodesOrAppElements, allNodes, disposables, subscriptions) {
- this.rootNodesOrAppElements = rootNodesOrAppElements;
+ /**
+ * Overwritten by implementations.
+ */
+ AppView.prototype.createEmbeddedViewInternal = function (templateNodeIndex) { return null; };
+ AppView.prototype.init = function (lastRootNode, allNodes, disposables) {
+ this.lastRootNode = lastRootNode;
this.allNodes = allNodes;
this.disposables = disposables;
- this.subscriptions = subscriptions;
if (this.type === ViewType.COMPONENT) {
- // Note: the render nodes have been attached to their host element
- // in the ViewFactory already.
- this.declarationAppElement.parentView.viewChildren.push(this);
this.dirtyParentQueriesInternal();
}
};
- AppView.prototype.selectOrCreateHostElement = function (elementName, rootSelectorOrNode, debugInfo) {
- var hostElement;
- if (isPresent(rootSelectorOrNode)) {
- hostElement = this.renderer.selectRootElement(rootSelectorOrNode, debugInfo);
+ AppView.prototype.injectorGet = function (token, nodeIndex, notFoundValue) {
+ if (notFoundValue === void 0) { notFoundValue = THROW_IF_NOT_FOUND; }
+ var result = UNDEFINED$1;
+ var view = this;
+ while (result === UNDEFINED$1) {
+ if (isPresent(nodeIndex)) {
+ result = view.injectorGetInternal(token, nodeIndex, UNDEFINED$1);
+ }
+ if (result === UNDEFINED$1 && view.type === ViewType.HOST) {
+ result = view._hostInjector.get(token, notFoundValue);
+ }
+ nodeIndex = view.parentIndex;
+ view = view.parentView;
}
- else {
- hostElement = this.renderer.createElement(null, elementName, debugInfo);
- }
- return hostElement;
- };
- AppView.prototype.injectorGet = function (token, nodeIndex, notFoundResult) {
- return this.injectorGetInternal(token, nodeIndex, notFoundResult);
+ return result;
};
/**
* Overwritten by implementations
@@ -36208,56 +37057,36 @@
AppView.prototype.injectorGetInternal = function (token, nodeIndex, notFoundResult) {
return notFoundResult;
};
- AppView.prototype.injector = function (nodeIndex) {
- if (isPresent(nodeIndex)) {
- return new ElementInjector(this, nodeIndex);
+ AppView.prototype.injector = function (nodeIndex) { return new ElementInjector(this, nodeIndex); };
+ AppView.prototype.detachAndDestroy = function () {
+ if (this._hasExternalHostElement) {
+ this.detach();
}
- else {
- return this.parentInjector;
+ else if (isPresent(this.viewContainer)) {
+ this.viewContainer.detachView(this.viewContainer.nestedViews.indexOf(this));
}
+ this.destroy();
};
AppView.prototype.destroy = function () {
- if (this._hasExternalHostElement) {
- this.renderer.detachView(this.flatRootNodes);
- }
- else if (isPresent(this.viewContainerElement)) {
- this.viewContainerElement.detachView(this.viewContainerElement.nestedViews.indexOf(this));
- }
- this._destroyRecurse();
- };
- AppView.prototype._destroyRecurse = function () {
+ var _this = this;
if (this.cdMode === ChangeDetectorStatus.Destroyed) {
return;
}
- var children = this.contentChildren;
- for (var i = 0; i < children.length; i++) {
- children[i]._destroyRecurse();
- }
- children = this.viewChildren;
- for (var i = 0; i < children.length; i++) {
- children[i]._destroyRecurse();
- }
- this.destroyLocal();
- this.cdMode = ChangeDetectorStatus.Destroyed;
- };
- AppView.prototype.destroyLocal = function () {
- var _this = this;
- var hostElement = this.type === ViewType.COMPONENT ? this.declarationAppElement.nativeElement : null;
- for (var i = 0; i < this.disposables.length; i++) {
- this.disposables[i]();
- }
- for (var i = 0; i < this.subscriptions.length; i++) {
- this.subscriptions[i].unsubscribe();
+ var hostElement = this.type === ViewType.COMPONENT ? this.parentElement : null;
+ if (this.disposables) {
+ for (var i = 0; i < this.disposables.length; i++) {
+ this.disposables[i]();
+ }
}
this.destroyInternal();
this.dirtyParentQueriesInternal();
- if (this.animationPlayers.length == 0) {
- this.renderer.destroyView(hostElement, this.allNodes);
+ if (this._animationContext) {
+ this._animationContext.onAllActiveAnimationsDone(function () { return _this.renderer.destroyView(hostElement, _this.allNodes); });
}
else {
- var player = new AnimationGroupPlayer(this.animationPlayers.getAllPlayers());
- player.onDone(function () { _this.renderer.destroyView(hostElement, _this.allNodes); });
+ this.renderer.destroyView(hostElement, this.allNodes);
}
+ this.cdMode = ChangeDetectorStatus.Destroyed;
};
/**
* Overwritten by implementations
@@ -36270,12 +37099,65 @@
AppView.prototype.detach = function () {
var _this = this;
this.detachInternal();
- if (this.animationPlayers.length == 0) {
- this.renderer.detachView(this.flatRootNodes);
+ if (this._animationContext) {
+ this._animationContext.onAllActiveAnimationsDone(function () { return _this._renderDetach(); });
}
else {
- var player = new AnimationGroupPlayer(this.animationPlayers.getAllPlayers());
- player.onDone(function () { _this.renderer.detachView(_this.flatRootNodes); });
+ this._renderDetach();
+ }
+ if (this.declaredViewContainer && this.declaredViewContainer !== this.viewContainer) {
+ var projectedViews = this.declaredViewContainer.projectedViews;
+ var index = projectedViews.indexOf(this);
+ // perf: pop is faster than splice!
+ if (index >= projectedViews.length - 1) {
+ projectedViews.pop();
+ }
+ else {
+ projectedViews.splice(index, 1);
+ }
+ }
+ this.viewContainer = null;
+ this.dirtyParentQueriesInternal();
+ };
+ AppView.prototype._renderDetach = function () {
+ if (this._directRenderer) {
+ this.visitRootNodesInternal(this._directRenderer.remove, null);
+ }
+ else {
+ this.renderer.detachView(this.flatRootNodes);
+ }
+ };
+ AppView.prototype.attachAfter = function (viewContainer, prevView) {
+ this._renderAttach(viewContainer, prevView);
+ this.viewContainer = viewContainer;
+ if (this.declaredViewContainer && this.declaredViewContainer !== viewContainer) {
+ if (!this.declaredViewContainer.projectedViews) {
+ this.declaredViewContainer.projectedViews = [];
+ }
+ this.declaredViewContainer.projectedViews.push(this);
+ }
+ this.dirtyParentQueriesInternal();
+ };
+ AppView.prototype.moveAfter = function (viewContainer, prevView) {
+ this._renderAttach(viewContainer, prevView);
+ this.dirtyParentQueriesInternal();
+ };
+ AppView.prototype._renderAttach = function (viewContainer, prevView) {
+ var prevNode = prevView ? prevView.lastRootNode : viewContainer.nativeElement;
+ if (this._directRenderer) {
+ var nextSibling = this._directRenderer.nextSibling(prevNode);
+ if (nextSibling) {
+ this.visitRootNodesInternal(this._directRenderer.insertBefore, nextSibling);
+ }
+ else {
+ var parentElement = this._directRenderer.parentElement(prevNode);
+ if (parentElement) {
+ this.visitRootNodesInternal(this._directRenderer.appendChild, parentElement);
+ }
+ }
+ }
+ else {
+ this.renderer.attachViewAfter(prevNode, this.flatRootNodes);
}
};
Object.defineProperty(AppView.prototype, "changeDetectorRef", {
@@ -36283,28 +37165,51 @@
enumerable: true,
configurable: true
});
- Object.defineProperty(AppView.prototype, "parent", {
- get: function () {
- return isPresent(this.declarationAppElement) ? this.declarationAppElement.parentView : null;
- },
- enumerable: true,
- configurable: true
- });
Object.defineProperty(AppView.prototype, "flatRootNodes", {
- get: function () { return flattenNestedViewRenderNodes(this.rootNodesOrAppElements); },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(AppView.prototype, "lastRootNode", {
get: function () {
- var lastNode = this.rootNodesOrAppElements.length > 0 ?
- this.rootNodesOrAppElements[this.rootNodesOrAppElements.length - 1] :
- null;
- return _findLastRenderNode(lastNode);
+ var nodes = [];
+ this.visitRootNodesInternal(addToArray, nodes);
+ return nodes;
},
enumerable: true,
configurable: true
});
+ AppView.prototype.projectNodes = function (parentElement, ngContentIndex) {
+ if (this._directRenderer) {
+ this.visitProjectedNodes(ngContentIndex, this._directRenderer.appendChild, parentElement);
+ }
+ else {
+ var nodes = [];
+ this.visitProjectedNodes(ngContentIndex, addToArray, nodes);
+ this.renderer.projectNodes(parentElement, nodes);
+ }
+ };
+ AppView.prototype.visitProjectedNodes = function (ngContentIndex, cb, c) {
+ switch (this.type) {
+ case ViewType.EMBEDDED:
+ this.parentView.visitProjectedNodes(ngContentIndex, cb, c);
+ break;
+ case ViewType.COMPONENT:
+ if (this.parentView.type === ViewType.HOST) {
+ var nodes = this.parentView._hostProjectableNodes[ngContentIndex] || [];
+ for (var i = 0; i < nodes.length; i++) {
+ cb(nodes[i], c);
+ }
+ }
+ else {
+ this.parentView.visitProjectableNodesInternal(this.parentIndex, ngContentIndex, cb, c);
+ }
+ break;
+ }
+ };
+ /**
+ * Overwritten by implementations
+ */
+ AppView.prototype.visitRootNodesInternal = function (cb, c) { };
+ /**
+ * Overwritten by implementations
+ */
+ AppView.prototype.visitProjectableNodesInternal = function (nodeIndex, ngContentIndex, cb, c) { };
/**
* Overwritten by implementations
*/
@@ -36312,7 +37217,8 @@
AppView.prototype.detectChanges = function (throwOnChange) {
var s = _scope_check(this.clazz);
if (this.cdMode === ChangeDetectorStatus.Checked ||
- this.cdMode === ChangeDetectorStatus.Errored)
+ this.cdMode === ChangeDetectorStatus.Errored ||
+ this.cdMode === ChangeDetectorStatus.Detached)
return;
if (this.cdMode === ChangeDetectorStatus.Destroyed) {
this.throwDestroyedError('detectChanges');
@@ -36326,37 +37232,7 @@
/**
* Overwritten by implementations
*/
- AppView.prototype.detectChangesInternal = function (throwOnChange) {
- this.detectContentChildrenChanges(throwOnChange);
- this.detectViewChildrenChanges(throwOnChange);
- };
- AppView.prototype.detectContentChildrenChanges = function (throwOnChange) {
- for (var i = 0; i < this.contentChildren.length; ++i) {
- var child = this.contentChildren[i];
- if (child.cdMode === ChangeDetectorStatus.Detached)
- continue;
- child.detectChanges(throwOnChange);
- }
- };
- AppView.prototype.detectViewChildrenChanges = function (throwOnChange) {
- for (var i = 0; i < this.viewChildren.length; ++i) {
- var child = this.viewChildren[i];
- if (child.cdMode === ChangeDetectorStatus.Detached)
- continue;
- child.detectChanges(throwOnChange);
- }
- };
- AppView.prototype.markContentChildAsMoved = function (renderAppElement) { this.dirtyParentQueriesInternal(); };
- AppView.prototype.addToContentChildren = function (renderAppElement) {
- renderAppElement.parentView.contentChildren.push(this);
- this.viewContainerElement = renderAppElement;
- this.dirtyParentQueriesInternal();
- };
- AppView.prototype.removeFromContentChildren = function (renderAppElement) {
- ListWrapper.remove(renderAppElement.parentView.contentChildren, this);
- this.dirtyParentQueriesInternal();
- this.viewContainerElement = null;
- };
+ AppView.prototype.detectChangesInternal = function (throwOnChange) { };
AppView.prototype.markAsCheckOnce = function () { this.cdMode = ChangeDetectorStatus.CheckOnce; };
AppView.prototype.markPathToRootAsCheckOnce = function () {
var c = this;
@@ -36364,25 +37240,43 @@
if (c.cdMode === ChangeDetectorStatus.Checked) {
c.cdMode = ChangeDetectorStatus.CheckOnce;
}
- var parentEl = c.type === ViewType.COMPONENT ? c.declarationAppElement : c.viewContainerElement;
- c = isPresent(parentEl) ? parentEl.parentView : null;
+ if (c.type === ViewType.COMPONENT) {
+ c = c.parentView;
+ }
+ else {
+ c = c.viewContainer ? c.viewContainer.parentView : null;
+ }
}
};
- AppView.prototype.eventHandler = function (cb) { return cb; };
+ AppView.prototype.eventHandler = function (cb) {
+ return cb;
+ };
AppView.prototype.throwDestroyedError = function (details) { throw new ViewDestroyedError(details); };
return AppView;
}());
var DebugAppView = (function (_super) {
__extends$14(DebugAppView, _super);
- function DebugAppView(clazz, componentType, type, viewUtils, parentInjector, declarationAppElement, cdMode, staticNodeDebugInfos) {
- _super.call(this, clazz, componentType, type, viewUtils, parentInjector, declarationAppElement, cdMode);
+ function DebugAppView(clazz, componentType, type, viewUtils, parentView, parentIndex, parentNode, cdMode, staticNodeDebugInfos, declaredViewContainer) {
+ if (declaredViewContainer === void 0) { declaredViewContainer = null; }
+ _super.call(this, clazz, componentType, type, viewUtils, parentView, parentIndex, parentNode, cdMode, declaredViewContainer);
this.staticNodeDebugInfos = staticNodeDebugInfos;
this._currentDebugContext = null;
}
- DebugAppView.prototype.create = function (context, givenProjectableNodes, rootSelectorOrNode) {
+ DebugAppView.prototype.create = function (context) {
this._resetDebug();
try {
- return _super.prototype.create.call(this, context, givenProjectableNodes, rootSelectorOrNode);
+ return _super.prototype.create.call(this, context);
+ }
+ catch (e) {
+ this._rethrowWithContext(e);
+ throw e;
+ }
+ };
+ DebugAppView.prototype.createHostView = function (rootSelectorOrNode, injector, projectableNodes) {
+ if (projectableNodes === void 0) { projectableNodes = null; }
+ this._resetDebug();
+ try {
+ return _super.prototype.createHostView.call(this, rootSelectorOrNode, injector, projectableNodes);
}
catch (e) {
this._rethrowWithContext(e);
@@ -36409,10 +37303,10 @@
throw e;
}
};
- DebugAppView.prototype.destroyLocal = function () {
+ DebugAppView.prototype.destroy = function () {
this._resetDebug();
try {
- _super.prototype.destroyLocal.call(this);
+ _super.prototype.destroy.call(this);
}
catch (e) {
this._rethrowWithContext(e);
@@ -36446,10 +37340,10 @@
DebugAppView.prototype.eventHandler = function (cb) {
var _this = this;
var superHandler = _super.prototype.eventHandler.call(this, cb);
- return function (event) {
+ return function (eventName, event) {
_this._resetDebug();
try {
- return superHandler(event);
+ return superHandler.call(_this, eventName, event);
}
catch (e) {
_this._rethrowWithContext(e);
@@ -36459,33 +37353,129 @@
};
return DebugAppView;
}(AppView));
- function _findLastRenderNode(node) {
- var lastNode;
- if (node instanceof AppElement) {
- var appEl = node;
- lastNode = appEl.nativeElement;
- if (isPresent(appEl.nestedViews)) {
- // Note: Views might have no root nodes at all!
- for (var i = appEl.nestedViews.length - 1; i >= 0; i--) {
- var nestedView = appEl.nestedViews[i];
- if (nestedView.rootNodesOrAppElements.length > 0) {
- lastNode = _findLastRenderNode(nestedView.rootNodesOrAppElements[nestedView.rootNodesOrAppElements.length - 1]);
+
+ /**
+ * A ViewContainer is created for elements that have a ViewContainerRef
+ * to keep track of the nested views.
+ */
+ var ViewContainer = (function () {
+ function ViewContainer(index, parentIndex, parentView, nativeElement) {
+ this.index = index;
+ this.parentIndex = parentIndex;
+ this.parentView = parentView;
+ this.nativeElement = nativeElement;
+ }
+ Object.defineProperty(ViewContainer.prototype, "elementRef", {
+ get: function () { return new ElementRef(this.nativeElement); },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(ViewContainer.prototype, "vcRef", {
+ get: function () { return new ViewContainerRef_(this); },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(ViewContainer.prototype, "parentInjector", {
+ get: function () { return this.parentView.injector(this.parentIndex); },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(ViewContainer.prototype, "injector", {
+ get: function () { return this.parentView.injector(this.index); },
+ enumerable: true,
+ configurable: true
+ });
+ ViewContainer.prototype.detectChangesInNestedViews = function (throwOnChange) {
+ if (this.nestedViews) {
+ for (var i = 0; i < this.nestedViews.length; i++) {
+ this.nestedViews[i].detectChanges(throwOnChange);
+ }
+ }
+ };
+ ViewContainer.prototype.destroyNestedViews = function () {
+ if (this.nestedViews) {
+ for (var i = 0; i < this.nestedViews.length; i++) {
+ this.nestedViews[i].destroy();
+ }
+ }
+ };
+ ViewContainer.prototype.visitNestedViewRootNodes = function (cb, c) {
+ if (this.nestedViews) {
+ for (var i = 0; i < this.nestedViews.length; i++) {
+ this.nestedViews[i].visitRootNodesInternal(cb, c);
+ }
+ }
+ };
+ ViewContainer.prototype.mapNestedViews = function (nestedViewClass, callback) {
+ var result = [];
+ if (this.nestedViews) {
+ for (var i = 0; i < this.nestedViews.length; i++) {
+ var nestedView = this.nestedViews[i];
+ if (nestedView.clazz === nestedViewClass) {
+ result.push(callback(nestedView));
}
}
}
- }
- else {
- lastNode = node;
- }
- return lastNode;
- }
- var _AnimationOutputHandler = (function () {
- function _AnimationOutputHandler(eventName, eventPhase, handler) {
- this.eventName = eventName;
- this.eventPhase = eventPhase;
- this.handler = handler;
- }
- return _AnimationOutputHandler;
+ if (this.projectedViews) {
+ for (var i = 0; i < this.projectedViews.length; i++) {
+ var projectedView = this.projectedViews[i];
+ if (projectedView.clazz === nestedViewClass) {
+ result.push(callback(projectedView));
+ }
+ }
+ }
+ return result;
+ };
+ ViewContainer.prototype.moveView = function (view, currentIndex) {
+ var previousIndex = this.nestedViews.indexOf(view);
+ if (view.type === ViewType.COMPONENT) {
+ throw new Error("Component views can't be moved!");
+ }
+ var nestedViews = this.nestedViews;
+ if (nestedViews == null) {
+ nestedViews = [];
+ this.nestedViews = nestedViews;
+ }
+ nestedViews.splice(previousIndex, 1);
+ nestedViews.splice(currentIndex, 0, view);
+ var prevView = currentIndex > 0 ? nestedViews[currentIndex - 1] : null;
+ view.moveAfter(this, prevView);
+ };
+ ViewContainer.prototype.attachView = function (view, viewIndex) {
+ if (view.type === ViewType.COMPONENT) {
+ throw new Error("Component views can't be moved!");
+ }
+ var nestedViews = this.nestedViews;
+ if (nestedViews == null) {
+ nestedViews = [];
+ this.nestedViews = nestedViews;
+ }
+ // perf: array.push is faster than array.splice!
+ if (viewIndex >= nestedViews.length) {
+ nestedViews.push(view);
+ }
+ else {
+ nestedViews.splice(viewIndex, 0, view);
+ }
+ var prevView = viewIndex > 0 ? nestedViews[viewIndex - 1] : null;
+ view.attachAfter(this, prevView);
+ };
+ ViewContainer.prototype.detachView = function (viewIndex) {
+ var view = this.nestedViews[viewIndex];
+ // perf: array.pop is faster than array.splice!
+ if (viewIndex >= this.nestedViews.length - 1) {
+ this.nestedViews.pop();
+ }
+ else {
+ this.nestedViews.splice(viewIndex, 1);
+ }
+ if (view.type === ViewType.COMPONENT) {
+ throw new Error("Component views can't be moved!");
+ }
+ view.detach();
+ return view;
+ };
+ return ViewContainer;
}());
var __core_private__ = {
@@ -36496,17 +37486,14 @@
LIFECYCLE_HOOKS_VALUES: LIFECYCLE_HOOKS_VALUES,
ReflectorReader: ReflectorReader,
CodegenComponentFactoryResolver: CodegenComponentFactoryResolver,
- AppElement: AppElement,
+ ComponentRef_: ComponentRef_,
+ ViewContainer: ViewContainer,
AppView: AppView,
DebugAppView: DebugAppView,
NgModuleInjector: NgModuleInjector,
registerModuleFactory: registerModuleFactory,
ViewType: ViewType,
- MAX_INTERPOLATION_VALUES: MAX_INTERPOLATION_VALUES,
- checkBinding: checkBinding,
- flattenNestedViewRenderNodes: flattenNestedViewRenderNodes,
- interpolate: interpolate,
- ViewUtils: ViewUtils,
+ view_utils: view_utils,
ViewMetadata: ViewMetadata,
DebugContext: DebugContext,
StaticNodeDebugInfo: StaticNodeDebugInfo,
@@ -36518,19 +37505,6 @@
ReflectionCapabilities: ReflectionCapabilities,
makeDecorator: makeDecorator,
DebugDomRootRenderer: DebugDomRootRenderer,
- EMPTY_ARRAY: EMPTY_ARRAY,
- EMPTY_MAP: EMPTY_MAP,
- pureProxy1: pureProxy1,
- pureProxy2: pureProxy2,
- pureProxy3: pureProxy3,
- pureProxy4: pureProxy4,
- pureProxy5: pureProxy5,
- pureProxy6: pureProxy6,
- pureProxy7: pureProxy7,
- pureProxy8: pureProxy8,
- pureProxy9: pureProxy9,
- pureProxy10: pureProxy10,
- castByValue: castByValue,
Console: Console,
reflector: reflector,
Reflector: Reflector,
@@ -36545,13 +37519,15 @@
clearStyles: clearStyles,
renderStyles: renderStyles,
collectAndResolveStyles: collectAndResolveStyles,
+ APP_ID_RANDOM_PROVIDER: APP_ID_RANDOM_PROVIDER,
AnimationStyles: AnimationStyles,
ANY_STATE: ANY_STATE,
DEFAULT_STATE: DEFAULT_STATE,
EMPTY_STATE: EMPTY_STATE,
FILL_STYLE_FLAG: FILL_STYLE_FLAG,
ComponentStillLoadingError: ComponentStillLoadingError,
- isPromise: isPromise
+ isPromise: isPromise,
+ AnimationTransition: AnimationTransition
};
exports.createPlatform = createPlatform;
@@ -36684,7 +37660,6 @@
exports.trigger = trigger;
}));
-
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
/***/ },
@@ -37680,7 +38655,7 @@
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(global) {/**
- * @license Angular v2.1.0
+ * @license Angular v2.2.3
* (c) 2010-2016 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -37696,7 +38671,8 @@
var _NoOpAnimationDriver = (function () {
function _NoOpAnimationDriver() {
}
- _NoOpAnimationDriver.prototype.animate = function (element, startingStyles, keyframes, duration, delay, easing) {
+ _NoOpAnimationDriver.prototype.animate = function (element, startingStyles, keyframes, duration, delay, easing, previousPlayers) {
+ if (previousPlayers === void 0) { previousPlayers = []; }
return new NoOpAnimationPlayer();
};
return _NoOpAnimationDriver;
@@ -37741,25 +38717,16 @@
// TODO: to be fixed properly via #2830, noop for now
};
function isPresent(obj) {
- return obj !== undefined && obj !== null;
+ return obj != null;
}
function isBlank(obj) {
- return obj === undefined || obj === null;
- }
- function isNumber(obj) {
- return typeof obj === 'number';
- }
- function isString(obj) {
- return typeof obj === 'string';
- }
- function isArray(obj) {
- return Array.isArray(obj);
+ return obj == null;
}
function stringify(token) {
if (typeof token === 'string') {
return token;
}
- if (token === undefined || token === null) {
+ if (token == null) {
return '' + token;
}
if (token.overriddenName) {
@@ -37772,68 +38739,16 @@
var newLineIndex = res.indexOf('\n');
return newLineIndex === -1 ? res : res.substring(0, newLineIndex);
}
- var NumberWrapper = (function () {
- function NumberWrapper() {
- }
- NumberWrapper.toFixed = function (n, fractionDigits) { return n.toFixed(fractionDigits); };
- NumberWrapper.equal = function (a, b) { return a === b; };
- NumberWrapper.parseIntAutoRadix = function (text) {
- var result = parseInt(text);
- if (isNaN(result)) {
- throw new Error('Invalid integer literal when parsing ' + text);
- }
- return result;
- };
- NumberWrapper.parseInt = function (text, radix) {
- if (radix == 10) {
- if (/^(\-|\+)?[0-9]+$/.test(text)) {
- return parseInt(text, radix);
- }
- }
- else if (radix == 16) {
- if (/^(\-|\+)?[0-9ABCDEFabcdef]+$/.test(text)) {
- return parseInt(text, radix);
- }
- }
- else {
- var result = parseInt(text, radix);
- if (!isNaN(result)) {
- return result;
- }
- }
- throw new Error('Invalid integer literal when parsing ' + text + ' in base ' + radix);
- };
- Object.defineProperty(NumberWrapper, "NaN", {
- get: function () { return NaN; },
- enumerable: true,
- configurable: true
- });
- NumberWrapper.isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };
- NumberWrapper.isNaN = function (value) { return isNaN(value); };
- NumberWrapper.isInteger = function (value) { return Number.isInteger(value); };
- return NumberWrapper;
- }());
- // Can't be all uppercase as our transpiler would think it is a special directive...
- var Json = (function () {
- function Json() {
- }
- Json.parse = function (s) { return global$1.JSON.parse(s); };
- Json.stringify = function (data) {
- // Dart doesn't take 3 arguments
- return global$1.JSON.stringify(data, null, 2);
- };
- return Json;
- }());
function setValueOnPath(global, path, value) {
var parts = path.split('.');
var obj = global;
while (parts.length > 1) {
- var name = parts.shift();
- if (obj.hasOwnProperty(name) && isPresent(obj[name])) {
- obj = obj[name];
+ var name_1 = parts.shift();
+ if (obj.hasOwnProperty(name_1) && obj[name_1] != null) {
+ obj = obj[name_1];
}
else {
- obj = obj[name] = {};
+ obj = obj[name_1] = {};
}
}
if (obj === undefined || obj === null) {
@@ -37842,34 +38757,6 @@
obj[parts.shift()] = value;
}
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
- var CAMEL_CASE_REGEXP = /([A-Z])/g;
- var DASH_CASE_REGEXP = /-([a-z])/g;
- function camelCaseToDashCase(input) {
- return input.replace(CAMEL_CASE_REGEXP, function () {
- var m = [];
- for (var _i = 0; _i < arguments.length; _i++) {
- m[_i - 0] = arguments[_i];
- }
- return '-' + m[1].toLowerCase();
- });
- }
- function dashCaseToCamelCase(input) {
- return input.replace(DASH_CASE_REGEXP, function () {
- var m = [];
- for (var _i = 0; _i < arguments.length; _i++) {
- m[_i - 0] = arguments[_i];
- }
- return m[1].toUpperCase();
- });
- }
-
/**
* @license
* Copyright Google Inc. All Rights Reserved.
@@ -37913,24 +38800,29 @@
}());
var WebAnimationsPlayer = (function () {
- function WebAnimationsPlayer(element, keyframes, options) {
+ function WebAnimationsPlayer(element, keyframes, options, previousPlayers) {
+ var _this = this;
+ if (previousPlayers === void 0) { previousPlayers = []; }
this.element = element;
this.keyframes = keyframes;
this.options = options;
this._onDoneFns = [];
this._onStartFns = [];
- this._finished = false;
this._initialized = false;
+ this._finished = false;
this._started = false;
+ this._destroyed = false;
this.parentPlayer = null;
this._duration = options['duration'];
+ this.previousStyles = {};
+ previousPlayers.forEach(function (player) {
+ var styles = player._captureStyles();
+ Object.keys(styles).forEach(function (prop) { return _this.previousStyles[prop] = styles[prop]; });
+ });
}
WebAnimationsPlayer.prototype._onFinish = function () {
if (!this._finished) {
this._finished = true;
- if (!isPresent(this.parentPlayer)) {
- this.destroy();
- }
this._onDoneFns.forEach(function (fn) { return fn(); });
this._onDoneFns = [];
}
@@ -37942,21 +38834,41 @@
this._initialized = true;
var keyframes = this.keyframes.map(function (styles) {
var formattedKeyframe = {};
- Object.keys(styles).forEach(function (prop) {
+ Object.keys(styles).forEach(function (prop, index) {
var value = styles[prop];
- formattedKeyframe[prop] = value == _angular_core.AUTO_STYLE ? _computeStyle(_this.element, prop) : value;
+ if (value == _angular_core.AUTO_STYLE) {
+ value = _computeStyle(_this.element, prop);
+ }
+ if (value != undefined) {
+ formattedKeyframe[prop] = value;
+ }
});
return formattedKeyframe;
});
+ var previousStyleProps = Object.keys(this.previousStyles);
+ if (previousStyleProps.length) {
+ var startingKeyframe_1 = findStartingKeyframe(keyframes);
+ previousStyleProps.forEach(function (prop) {
+ if (isPresent(startingKeyframe_1[prop])) {
+ startingKeyframe_1[prop] = _this.previousStyles[prop];
+ }
+ });
+ }
this._player = this._triggerWebAnimation(this.element, keyframes, this.options);
+ this._finalKeyframe = _copyKeyframeStyles(keyframes[keyframes.length - 1]);
// this is required so that the player doesn't start to animate right away
- this.reset();
- this._player.onfinish = function () { return _this._onFinish(); };
+ this._resetDomPlayerState();
+ this._player.addEventListener('finish', function () { return _this._onFinish(); });
};
/** @internal */
WebAnimationsPlayer.prototype._triggerWebAnimation = function (element, keyframes, options) {
return element.animate(keyframes, options);
};
+ Object.defineProperty(WebAnimationsPlayer.prototype, "domPlayer", {
+ get: function () { return this._player; },
+ enumerable: true,
+ configurable: true
+ });
WebAnimationsPlayer.prototype.onStart = function (fn) { this._onStartFns.push(fn); };
WebAnimationsPlayer.prototype.onDone = function (fn) { this._onDoneFns.push(fn); };
WebAnimationsPlayer.prototype.play = function () {
@@ -37977,15 +38889,24 @@
this._onFinish();
this._player.finish();
};
- WebAnimationsPlayer.prototype.reset = function () { this._player.cancel(); };
+ WebAnimationsPlayer.prototype.reset = function () {
+ this._resetDomPlayerState();
+ this._destroyed = false;
+ this._finished = false;
+ this._started = false;
+ };
+ WebAnimationsPlayer.prototype._resetDomPlayerState = function () { this._player.cancel(); };
WebAnimationsPlayer.prototype.restart = function () {
this.reset();
this.play();
};
WebAnimationsPlayer.prototype.hasStarted = function () { return this._started; };
WebAnimationsPlayer.prototype.destroy = function () {
- this.reset();
- this._onFinish();
+ if (!this._destroyed) {
+ this._resetDomPlayerState();
+ this._onFinish();
+ this._destroyed = true;
+ }
};
Object.defineProperty(WebAnimationsPlayer.prototype, "totalTime", {
get: function () { return this._duration; },
@@ -37994,25 +38915,61 @@
});
WebAnimationsPlayer.prototype.setPosition = function (p) { this._player.currentTime = p * this.totalTime; };
WebAnimationsPlayer.prototype.getPosition = function () { return this._player.currentTime / this.totalTime; };
+ WebAnimationsPlayer.prototype._captureStyles = function () {
+ var _this = this;
+ var styles = {};
+ if (this.hasStarted()) {
+ Object.keys(this._finalKeyframe).forEach(function (prop) {
+ if (prop != 'offset') {
+ styles[prop] =
+ _this._finished ? _this._finalKeyframe[prop] : _computeStyle(_this.element, prop);
+ }
+ });
+ }
+ return styles;
+ };
return WebAnimationsPlayer;
}());
function _computeStyle(element, prop) {
return getDOM().getComputedStyle(element)[prop];
}
+ function _copyKeyframeStyles(styles) {
+ var newStyles = {};
+ Object.keys(styles).forEach(function (prop) {
+ if (prop != 'offset') {
+ newStyles[prop] = styles[prop];
+ }
+ });
+ return newStyles;
+ }
+ function findStartingKeyframe(keyframes) {
+ var startingKeyframe = keyframes[0];
+ // it's important that we find the LAST keyframe
+ // to ensure that style overidding is final.
+ for (var i = 1; i < keyframes.length; i++) {
+ var kf = keyframes[i];
+ var offset = kf['offset'];
+ if (offset !== 0)
+ break;
+ startingKeyframe = kf;
+ }
+ return startingKeyframe;
+ }
var WebAnimationsDriver = (function () {
function WebAnimationsDriver() {
}
- WebAnimationsDriver.prototype.animate = function (element, startingStyles, keyframes, duration, delay, easing) {
+ WebAnimationsDriver.prototype.animate = function (element, startingStyles, keyframes, duration, delay, easing, previousPlayers) {
+ if (previousPlayers === void 0) { previousPlayers = []; }
var formattedSteps = [];
var startingStyleLookup = {};
if (isPresent(startingStyles) && startingStyles.styles.length > 0) {
- startingStyleLookup = _populateStyles(element, startingStyles, {});
+ startingStyleLookup = _populateStyles(startingStyles, {});
startingStyleLookup['offset'] = 0;
formattedSteps.push(startingStyleLookup);
}
keyframes.forEach(function (keyframe) {
- var data = _populateStyles(element, keyframe.styles, startingStyleLookup);
+ var data = _populateStyles(keyframe.styles, startingStyleLookup);
data['offset'] = keyframe.offset;
formattedSteps.push(data);
});
@@ -38035,20 +38992,16 @@
if (easing) {
playerOptions['easing'] = easing;
}
- return new WebAnimationsPlayer(element, formattedSteps, playerOptions);
+ // there may be a chance a NoOp player is returned depending
+ // on when the previous animation was cancelled
+ previousPlayers = previousPlayers.filter(filterWebAnimationPlayerFn);
+ return new WebAnimationsPlayer(element, formattedSteps, playerOptions, previousPlayers);
};
return WebAnimationsDriver;
}());
- function _populateStyles(element, styles, defaultStyles) {
+ function _populateStyles(styles, defaultStyles) {
var data = {};
- styles.styles.forEach(function (entry) {
- Object.keys(entry).forEach(function (prop) {
- var val = entry[prop];
- var formattedProp = dashCaseToCamelCase(prop);
- data[formattedProp] =
- val == _angular_core.AUTO_STYLE ? val : val.toString() + _resolveStyleUnit(val, prop, formattedProp);
- });
- });
+ styles.styles.forEach(function (entry) { Object.keys(entry).forEach(function (prop) { data[prop] = entry[prop]; }); });
Object.keys(defaultStyles).forEach(function (prop) {
if (!isPresent(data[prop])) {
data[prop] = defaultStyles[prop];
@@ -38056,64 +39009,8 @@
});
return data;
}
- function _resolveStyleUnit(val, userProvidedProp, formattedProp) {
- var unit = '';
- if (_isPixelDimensionStyle(formattedProp) && val != 0 && val != '0') {
- if (isNumber(val)) {
- unit = 'px';
- }
- else if (_findDimensionalSuffix(val.toString()).length == 0) {
- throw new Error('Please provide a CSS unit value for ' + userProvidedProp + ':' + val);
- }
- }
- return unit;
- }
- var _$0 = 48;
- var _$9 = 57;
- var _$PERIOD = 46;
- function _findDimensionalSuffix(value) {
- for (var i = 0; i < value.length; i++) {
- var c = value.charCodeAt(i);
- if ((c >= _$0 && c <= _$9) || c == _$PERIOD)
- continue;
- return value.substring(i, value.length);
- }
- return '';
- }
- function _isPixelDimensionStyle(prop) {
- switch (prop) {
- case 'width':
- case 'height':
- case 'minWidth':
- case 'minHeight':
- case 'maxWidth':
- case 'maxHeight':
- case 'left':
- case 'top':
- case 'bottom':
- case 'right':
- case 'fontSize':
- case 'outlineWidth':
- case 'outlineOffset':
- case 'paddingTop':
- case 'paddingLeft':
- case 'paddingBottom':
- case 'paddingRight':
- case 'marginTop':
- case 'marginLeft':
- case 'marginBottom':
- case 'marginRight':
- case 'borderRadius':
- case 'borderWidth':
- case 'borderTopWidth':
- case 'borderLeftWidth':
- case 'borderRightWidth':
- case 'borderBottomWidth':
- case 'textIndent':
- return true;
- default:
- return false;
- }
+ function filterWebAnimationPlayerFn(player) {
+ return player instanceof WebAnimationsPlayer;
}
/**
@@ -38265,13 +39162,27 @@
BrowserDomAdapter.prototype.getProperty = function (el, name) { return el[name]; };
BrowserDomAdapter.prototype.invoke = function (el, methodName, args) { (_a = el)[methodName].apply(_a, args); var _a; };
// TODO(tbosch): move this into a separate environment class once we have it
- BrowserDomAdapter.prototype.logError = function (error) { (window.console.error || window.console.log)(error); };
- BrowserDomAdapter.prototype.log = function (error) { window.console.log(error); };
- BrowserDomAdapter.prototype.logGroup = function (error) {
- window.console.group && window.console.group(error);
- this.logError(error);
+ BrowserDomAdapter.prototype.logError = function (error) {
+ if (window.console) {
+ (window.console.error || window.console.log)(error);
+ }
+ };
+ BrowserDomAdapter.prototype.log = function (error) {
+ if (window.console) {
+ window.console.log && window.console.log(error);
+ }
+ };
+ BrowserDomAdapter.prototype.logGroup = function (error) {
+ if (window.console) {
+ window.console.group && window.console.group(error);
+ this.logError(error);
+ }
+ };
+ BrowserDomAdapter.prototype.logGroupEnd = function () {
+ if (window.console) {
+ window.console.groupEnd && window.console.groupEnd();
+ }
};
- BrowserDomAdapter.prototype.logGroupEnd = function () { window.console.groupEnd && window.console.groupEnd(); };
Object.defineProperty(BrowserDomAdapter.prototype, "attrToPropMap", {
get: function () { return _attrToPropMap; },
enumerable: true,
@@ -38682,208 +39593,6 @@
return BrowserPlatformLocation;
}(_angular_common.PlatformLocation));
- var _clearValues = (function () {
- if ((new Map()).keys().next) {
- return function _clearValues(m) {
- var keyIterator = m.keys();
- var k;
- while (!((k = keyIterator.next()).done)) {
- m.set(k.value, null);
- }
- };
- }
- else {
- return function _clearValuesWithForeEach(m) {
- m.forEach(function (v, k) { m.set(k, null); });
- };
- }
- })();
- // Safari doesn't implement MapIterator.next(), which is used is Traceur's polyfill of Array.from
- // TODO(mlaval): remove the work around once we have a working polyfill of Array.from
- var _arrayFromMap = (function () {
- try {
- if ((new Map()).values().next) {
- return function createArrayFromMap(m, getValues) {
- return getValues ? Array.from(m.values()) : Array.from(m.keys());
- };
- }
- }
- catch (e) {
- }
- return function createArrayFromMapWithForeach(m, getValues) {
- var res = new Array(m.size), i = 0;
- m.forEach(function (v, k) {
- res[i] = getValues ? v : k;
- i++;
- });
- return res;
- };
- })();
- /**
- * Wraps Javascript Objects
- */
- var StringMapWrapper = (function () {
- function StringMapWrapper() {
- }
- StringMapWrapper.merge = function (m1, m2) {
- var m = {};
- for (var _i = 0, _a = Object.keys(m1); _i < _a.length; _i++) {
- var k = _a[_i];
- m[k] = m1[k];
- }
- for (var _b = 0, _c = Object.keys(m2); _b < _c.length; _b++) {
- var k = _c[_b];
- m[k] = m2[k];
- }
- return m;
- };
- StringMapWrapper.equals = function (m1, m2) {
- var k1 = Object.keys(m1);
- var k2 = Object.keys(m2);
- if (k1.length != k2.length) {
- return false;
- }
- for (var i = 0; i < k1.length; i++) {
- var key = k1[i];
- if (m1[key] !== m2[key]) {
- return false;
- }
- }
- return true;
- };
- return StringMapWrapper;
- }());
- var ListWrapper = (function () {
- function ListWrapper() {
- }
- // JS has no way to express a statically fixed size list, but dart does so we
- // keep both methods.
- ListWrapper.createFixedSize = function (size) { return new Array(size); };
- ListWrapper.createGrowableSize = function (size) { return new Array(size); };
- ListWrapper.clone = function (array) { return array.slice(0); };
- ListWrapper.forEachWithIndex = function (array, fn) {
- for (var i = 0; i < array.length; i++) {
- fn(array[i], i);
- }
- };
- ListWrapper.first = function (array) {
- if (!array)
- return null;
- return array[0];
- };
- ListWrapper.last = function (array) {
- if (!array || array.length == 0)
- return null;
- return array[array.length - 1];
- };
- ListWrapper.indexOf = function (array, value, startIndex) {
- if (startIndex === void 0) { startIndex = 0; }
- return array.indexOf(value, startIndex);
- };
- ListWrapper.contains = function (list, el) { return list.indexOf(el) !== -1; };
- ListWrapper.reversed = function (array) {
- var a = ListWrapper.clone(array);
- return a.reverse();
- };
- ListWrapper.concat = function (a, b) { return a.concat(b); };
- ListWrapper.insert = function (list, index, value) { list.splice(index, 0, value); };
- ListWrapper.removeAt = function (list, index) {
- var res = list[index];
- list.splice(index, 1);
- return res;
- };
- ListWrapper.removeAll = function (list, items) {
- for (var i = 0; i < items.length; ++i) {
- var index = list.indexOf(items[i]);
- list.splice(index, 1);
- }
- };
- ListWrapper.remove = function (list, el) {
- var index = list.indexOf(el);
- if (index > -1) {
- list.splice(index, 1);
- return true;
- }
- return false;
- };
- ListWrapper.clear = function (list) { list.length = 0; };
- ListWrapper.isEmpty = function (list) { return list.length == 0; };
- ListWrapper.fill = function (list, value, start, end) {
- if (start === void 0) { start = 0; }
- if (end === void 0) { end = null; }
- list.fill(value, start, end === null ? list.length : end);
- };
- ListWrapper.equals = function (a, b) {
- if (a.length != b.length)
- return false;
- for (var i = 0; i < a.length; ++i) {
- if (a[i] !== b[i])
- return false;
- }
- return true;
- };
- ListWrapper.slice = function (l, from, to) {
- if (from === void 0) { from = 0; }
- if (to === void 0) { to = null; }
- return l.slice(from, to === null ? undefined : to);
- };
- ListWrapper.splice = function (l, from, length) { return l.splice(from, length); };
- ListWrapper.sort = function (l, compareFn) {
- if (isPresent(compareFn)) {
- l.sort(compareFn);
- }
- else {
- l.sort();
- }
- };
- ListWrapper.toString = function (l) { return l.toString(); };
- ListWrapper.toJSON = function (l) { return JSON.stringify(l); };
- ListWrapper.maximum = function (list, predicate) {
- if (list.length == 0) {
- return null;
- }
- var solution = null;
- var maxValue = -Infinity;
- for (var index = 0; index < list.length; index++) {
- var candidate = list[index];
- if (isBlank(candidate)) {
- continue;
- }
- var candidateValue = predicate(candidate);
- if (candidateValue > maxValue) {
- solution = candidate;
- maxValue = candidateValue;
- }
- }
- return solution;
- };
- ListWrapper.flatten = function (list) {
- var target = [];
- _flattenArray(list, target);
- return target;
- };
- ListWrapper.addAll = function (list, source) {
- for (var i = 0; i < source.length; i++) {
- list.push(source[i]);
- }
- };
- return ListWrapper;
- }());
- function _flattenArray(source, target) {
- if (isPresent(source)) {
- for (var i = 0; i < source.length; i++) {
- var item = source[i];
- if (isArray(item)) {
- _flattenArray(item, target);
- }
- else {
- target.push(item);
- }
- }
- }
- return target;
- }
-
var BrowserGetTestability = (function () {
function BrowserGetTestability() {
}
@@ -38915,7 +39624,7 @@
});
};
if (!global$1['frameworkStabilizers']) {
- global$1['frameworkStabilizers'] = ListWrapper.createGrowableSize(0);
+ global$1['frameworkStabilizers'] = [];
}
global$1['frameworkStabilizers'].push(whenAllStable);
};
@@ -38964,6 +39673,41 @@
return Title;
}());
+ /**
+ * Wraps Javascript Objects
+ */
+ var StringMapWrapper = (function () {
+ function StringMapWrapper() {
+ }
+ StringMapWrapper.merge = function (m1, m2) {
+ var m = {};
+ for (var _i = 0, _a = Object.keys(m1); _i < _a.length; _i++) {
+ var k = _a[_i];
+ m[k] = m1[k];
+ }
+ for (var _b = 0, _c = Object.keys(m2); _b < _c.length; _b++) {
+ var k = _c[_b];
+ m[k] = m2[k];
+ }
+ return m;
+ };
+ StringMapWrapper.equals = function (m1, m2) {
+ var k1 = Object.keys(m1);
+ var k2 = Object.keys(m2);
+ if (k1.length != k2.length) {
+ return false;
+ }
+ for (var i = 0; i < k1.length; i++) {
+ var key = k1[i];
+ if (m1[key] !== m2[key]) {
+ return false;
+ }
+ }
+ return true;
+ };
+ return StringMapWrapper;
+ }());
+
/**
* A DI Token representing the main rendering context. In a browser this is the DOM Document.
*
@@ -38985,6 +39729,7 @@
function EventManager(plugins, _zone) {
var _this = this;
this._zone = _zone;
+ this._eventNameToPlugin = new Map();
plugins.forEach(function (p) { return p.manager = _this; });
this._plugins = plugins.slice().reverse();
}
@@ -38999,11 +39744,16 @@
EventManager.prototype.getZone = function () { return this._zone; };
/** @internal */
EventManager.prototype._findPluginFor = function (eventName) {
+ var plugin = this._eventNameToPlugin.get(eventName);
+ if (plugin) {
+ return plugin;
+ }
var plugins = this._plugins;
for (var i = 0; i < plugins.length; i++) {
- var plugin = plugins[i];
- if (plugin.supports(eventName)) {
- return plugin;
+ var plugin_1 = plugins[i];
+ if (plugin_1.supports(eventName)) {
+ this._eventNameToPlugin.set(eventName, plugin_1);
+ return plugin_1;
}
}
throw new Error("No event manager plugin found for event " + eventName);
@@ -39021,14 +39771,14 @@
var EventManagerPlugin = (function () {
function EventManagerPlugin() {
}
- // That is equivalent to having supporting $event.target
- EventManagerPlugin.prototype.supports = function (eventName) { return false; };
- EventManagerPlugin.prototype.addEventListener = function (element, eventName, handler) {
- throw 'not implemented';
- };
EventManagerPlugin.prototype.addGlobalEventListener = function (element, eventName, handler) {
- throw 'not implemented';
+ var target = getDOM().getGlobalEventTarget(element);
+ if (!target) {
+ throw new Error("Unsupported event target " + target + " for event " + eventName);
+ }
+ return this.addEventListener(target, eventName, handler);
};
+ ;
return EventManagerPlugin;
}());
@@ -39082,8 +39832,9 @@
/** @internal */
DomSharedStylesHost.prototype._addStylesToHost = function (styles, host) {
for (var i = 0; i < styles.length; i++) {
- var style = styles[i];
- getDOM().appendChild(host, getDOM().createStyleElement(style));
+ var styleEl = document.createElement('style');
+ styleEl.textContent = styles[i];
+ host.appendChild(styleEl);
}
};
DomSharedStylesHost.prototype.addHost = function (hostNode) {
@@ -39125,17 +39876,18 @@
var TEMPLATE_COMMENT_TEXT = 'template bindings={}';
var TEMPLATE_BINDINGS_EXP = /^template bindings=(.*)$/;
var DomRootRenderer = (function () {
- function DomRootRenderer(document, eventManager, sharedStylesHost, animationDriver) {
+ function DomRootRenderer(document, eventManager, sharedStylesHost, animationDriver, appId) {
this.document = document;
this.eventManager = eventManager;
this.sharedStylesHost = sharedStylesHost;
this.animationDriver = animationDriver;
+ this.appId = appId;
this.registeredComponents = new Map();
}
DomRootRenderer.prototype.renderComponent = function (componentProto) {
var renderer = this.registeredComponents.get(componentProto.id);
if (!renderer) {
- renderer = new DomRenderer(this, componentProto, this.animationDriver);
+ renderer = new DomRenderer(this, componentProto, this.animationDriver, this.appId + "-" + componentProto.id);
this.registeredComponents.set(componentProto.id, renderer);
}
return renderer;
@@ -39144,8 +39896,8 @@
}());
var DomRootRenderer_ = (function (_super) {
__extends$3(DomRootRenderer_, _super);
- function DomRootRenderer_(_document, _eventManager, sharedStylesHost, animationDriver) {
- _super.call(this, _document, _eventManager, sharedStylesHost, animationDriver);
+ function DomRootRenderer_(_document, _eventManager, sharedStylesHost, animationDriver, appId) {
+ _super.call(this, _document, _eventManager, sharedStylesHost, animationDriver, appId);
}
DomRootRenderer_.decorators = [
{ type: _angular_core.Injectable },
@@ -39156,21 +39908,34 @@
{ type: EventManager, },
{ type: DomSharedStylesHost, },
{ type: AnimationDriver, },
+ { type: undefined, decorators: [{ type: _angular_core.Inject, args: [_angular_core.APP_ID,] },] },
];
return DomRootRenderer_;
}(DomRootRenderer));
+ var DIRECT_DOM_RENDERER = {
+ remove: function (node) {
+ if (node.parentNode) {
+ node.parentNode.removeChild(node);
+ }
+ },
+ appendChild: function (node, parent) { parent.appendChild(node); },
+ insertBefore: function (node, refNode) { refNode.parentNode.insertBefore(node, refNode); },
+ nextSibling: function (node) { return node.nextSibling; },
+ parentElement: function (node) { return node.parentNode; }
+ };
var DomRenderer = (function () {
- function DomRenderer(_rootRenderer, componentProto, _animationDriver) {
+ function DomRenderer(_rootRenderer, componentProto, _animationDriver, styleShimId) {
this._rootRenderer = _rootRenderer;
this.componentProto = componentProto;
this._animationDriver = _animationDriver;
- this._styles = _flattenStyles(componentProto.id, componentProto.styles, []);
+ this.directRenderer = DIRECT_DOM_RENDERER;
+ this._styles = flattenStyles(styleShimId, componentProto.styles, []);
if (componentProto.encapsulation !== _angular_core.ViewEncapsulation.Native) {
this._rootRenderer.sharedStylesHost.addStyles(this._styles);
}
if (this.componentProto.encapsulation === _angular_core.ViewEncapsulation.Emulated) {
- this._contentAttr = _shimContentAttribute(componentProto.id);
- this._hostAttr = _shimHostAttribute(componentProto.id);
+ this._contentAttr = shimContentAttribute(styleShimId);
+ this._hostAttr = shimHostAttribute(styleShimId);
}
else {
this._contentAttr = null;
@@ -39179,76 +39944,87 @@
}
DomRenderer.prototype.selectRootElement = function (selectorOrNode, debugInfo) {
var el;
- if (isString(selectorOrNode)) {
- el = getDOM().querySelector(this._rootRenderer.document, selectorOrNode);
- if (isBlank(el)) {
+ if (typeof selectorOrNode === 'string') {
+ el = this._rootRenderer.document.querySelector(selectorOrNode);
+ if (!el) {
throw new Error("The selector \"" + selectorOrNode + "\" did not match any elements");
}
}
else {
el = selectorOrNode;
}
- getDOM().clearNodes(el);
+ while (el.firstChild) {
+ el.removeChild(el.firstChild);
+ }
return el;
};
DomRenderer.prototype.createElement = function (parent, name, debugInfo) {
- var nsAndName = splitNamespace(name);
- var el = isPresent(nsAndName[0]) ?
- getDOM().createElementNS(NAMESPACE_URIS[nsAndName[0]], nsAndName[1]) :
- getDOM().createElement(nsAndName[1]);
- if (isPresent(this._contentAttr)) {
- getDOM().setAttribute(el, this._contentAttr, '');
+ var el;
+ if (isNamespaced(name)) {
+ var nsAndName = splitNamespace(name);
+ el = document.createElementNS((NAMESPACE_URIS)[nsAndName[0]], nsAndName[1]);
}
- if (isPresent(parent)) {
- getDOM().appendChild(parent, el);
+ else {
+ el = document.createElement(name);
+ }
+ if (this._contentAttr) {
+ el.setAttribute(this._contentAttr, '');
+ }
+ if (parent) {
+ parent.appendChild(el);
}
return el;
};
DomRenderer.prototype.createViewRoot = function (hostElement) {
var nodesParent;
if (this.componentProto.encapsulation === _angular_core.ViewEncapsulation.Native) {
- nodesParent = getDOM().createShadowRoot(hostElement);
+ nodesParent = hostElement.createShadowRoot();
this._rootRenderer.sharedStylesHost.addHost(nodesParent);
for (var i = 0; i < this._styles.length; i++) {
- getDOM().appendChild(nodesParent, getDOM().createStyleElement(this._styles[i]));
+ var styleEl = document.createElement('style');
+ styleEl.textContent = this._styles[i];
+ nodesParent.appendChild(styleEl);
}
}
else {
- if (isPresent(this._hostAttr)) {
- getDOM().setAttribute(hostElement, this._hostAttr, '');
+ if (this._hostAttr) {
+ hostElement.setAttribute(this._hostAttr, '');
}
nodesParent = hostElement;
}
return nodesParent;
};
DomRenderer.prototype.createTemplateAnchor = function (parentElement, debugInfo) {
- var comment = getDOM().createComment(TEMPLATE_COMMENT_TEXT);
- if (isPresent(parentElement)) {
- getDOM().appendChild(parentElement, comment);
+ var comment = document.createComment(TEMPLATE_COMMENT_TEXT);
+ if (parentElement) {
+ parentElement.appendChild(comment);
}
return comment;
};
DomRenderer.prototype.createText = function (parentElement, value, debugInfo) {
- var node = getDOM().createTextNode(value);
- if (isPresent(parentElement)) {
- getDOM().appendChild(parentElement, node);
+ var node = document.createTextNode(value);
+ if (parentElement) {
+ parentElement.appendChild(node);
}
return node;
};
DomRenderer.prototype.projectNodes = function (parentElement, nodes) {
- if (isBlank(parentElement))
+ if (!parentElement)
return;
appendNodes(parentElement, nodes);
};
DomRenderer.prototype.attachViewAfter = function (node, viewRootNodes) { moveNodesAfterSibling(node, viewRootNodes); };
DomRenderer.prototype.detachView = function (viewRootNodes) {
for (var i = 0; i < viewRootNodes.length; i++) {
- getDOM().remove(viewRootNodes[i]);
+ var node = viewRootNodes[i];
+ if (node.parentNode) {
+ node.parentNode.removeChild(node);
+ }
}
};
DomRenderer.prototype.destroyView = function (hostElement, viewAllNodes) {
- if (this.componentProto.encapsulation === _angular_core.ViewEncapsulation.Native && isPresent(hostElement)) {
- this._rootRenderer.sharedStylesHost.removeHost(getDOM().getShadowRoot(hostElement));
+ if (this.componentProto.encapsulation === _angular_core.ViewEncapsulation.Native && hostElement) {
+ this._rootRenderer.sharedStylesHost.removeHost(hostElement.shadowRoot);
}
};
DomRenderer.prototype.listen = function (renderElement, name, callback) {
@@ -39258,39 +40034,41 @@
return this._rootRenderer.eventManager.addGlobalEventListener(target, name, decoratePreventDefault(callback));
};
DomRenderer.prototype.setElementProperty = function (renderElement, propertyName, propertyValue) {
- getDOM().setProperty(renderElement, propertyName, propertyValue);
+ renderElement[propertyName] = propertyValue;
};
DomRenderer.prototype.setElementAttribute = function (renderElement, attributeName, attributeValue) {
var attrNs;
- var nsAndName = splitNamespace(attributeName);
- if (isPresent(nsAndName[0])) {
+ var attrNameWithoutNs = attributeName;
+ if (isNamespaced(attributeName)) {
+ var nsAndName = splitNamespace(attributeName);
+ attrNameWithoutNs = nsAndName[1];
attributeName = nsAndName[0] + ':' + nsAndName[1];
attrNs = NAMESPACE_URIS[nsAndName[0]];
}
if (isPresent(attributeValue)) {
- if (isPresent(attrNs)) {
- getDOM().setAttributeNS(renderElement, attrNs, attributeName, attributeValue);
+ if (attrNs) {
+ renderElement.setAttributeNS(attrNs, attributeName, attributeValue);
}
else {
- getDOM().setAttribute(renderElement, attributeName, attributeValue);
+ renderElement.setAttribute(attributeName, attributeValue);
}
}
else {
if (isPresent(attrNs)) {
- getDOM().removeAttributeNS(renderElement, attrNs, nsAndName[1]);
+ renderElement.removeAttributeNS(attrNs, attrNameWithoutNs);
}
else {
- getDOM().removeAttribute(renderElement, attributeName);
+ renderElement.removeAttribute(attributeName);
}
}
};
DomRenderer.prototype.setBindingDebugInfo = function (renderElement, propertyName, propertyValue) {
- var dashCasedPropertyName = camelCaseToDashCase(propertyName);
- if (getDOM().isCommentNode(renderElement)) {
- var existingBindings = getDOM().getText(renderElement).replace(/\n/g, '').match(TEMPLATE_BINDINGS_EXP);
- var parsedBindings = Json.parse(existingBindings[1]);
- parsedBindings[dashCasedPropertyName] = propertyValue;
- getDOM().setText(renderElement, TEMPLATE_COMMENT_TEXT.replace('{}', Json.stringify(parsedBindings)));
+ if (renderElement.nodeType === Node.COMMENT_NODE) {
+ var existingBindings = renderElement.nodeValue.replace(/\n/g, '').match(TEMPLATE_BINDINGS_EXP);
+ var parsedBindings = JSON.parse(existingBindings[1]);
+ parsedBindings[propertyName] = propertyValue;
+ renderElement.nodeValue =
+ TEMPLATE_COMMENT_TEXT.replace('{}', JSON.stringify(parsedBindings, null, 2));
}
else {
this.setElementAttribute(renderElement, propertyName, propertyValue);
@@ -39298,56 +40076,60 @@
};
DomRenderer.prototype.setElementClass = function (renderElement, className, isAdd) {
if (isAdd) {
- getDOM().addClass(renderElement, className);
+ renderElement.classList.add(className);
}
else {
- getDOM().removeClass(renderElement, className);
+ renderElement.classList.remove(className);
}
};
DomRenderer.prototype.setElementStyle = function (renderElement, styleName, styleValue) {
if (isPresent(styleValue)) {
- getDOM().setStyle(renderElement, styleName, stringify(styleValue));
+ renderElement.style[styleName] = stringify(styleValue);
}
else {
- getDOM().removeStyle(renderElement, styleName);
+ // IE requires '' instead of null
+ // see https://github.com/angular/angular/issues/7916
+ renderElement.style[styleName] = '';
}
};
DomRenderer.prototype.invokeElementMethod = function (renderElement, methodName, args) {
- getDOM().invoke(renderElement, methodName, args);
+ renderElement[methodName].apply(renderElement, args);
};
- DomRenderer.prototype.setText = function (renderNode, text) { getDOM().setText(renderNode, text); };
- DomRenderer.prototype.animate = function (element, startingStyles, keyframes, duration, delay, easing) {
- return this._animationDriver.animate(element, startingStyles, keyframes, duration, delay, easing);
+ DomRenderer.prototype.setText = function (renderNode, text) { renderNode.nodeValue = text; };
+ DomRenderer.prototype.animate = function (element, startingStyles, keyframes, duration, delay, easing, previousPlayers) {
+ if (previousPlayers === void 0) { previousPlayers = []; }
+ return this._animationDriver.animate(element, startingStyles, keyframes, duration, delay, easing, previousPlayers);
};
return DomRenderer;
}());
- function moveNodesAfterSibling(sibling /** TODO #9100 */, nodes /** TODO #9100 */) {
- var parent = getDOM().parentElement(sibling);
- if (nodes.length > 0 && isPresent(parent)) {
- var nextSibling = getDOM().nextSibling(sibling);
- if (isPresent(nextSibling)) {
+ function moveNodesAfterSibling(sibling, nodes) {
+ var parent = sibling.parentNode;
+ if (nodes.length > 0 && parent) {
+ var nextSibling = sibling.nextSibling;
+ if (nextSibling) {
for (var i = 0; i < nodes.length; i++) {
- getDOM().insertBefore(nextSibling, nodes[i]);
+ parent.insertBefore(nodes[i], nextSibling);
}
}
else {
for (var i = 0; i < nodes.length; i++) {
- getDOM().appendChild(parent, nodes[i]);
+ parent.appendChild(nodes[i]);
}
}
}
}
- function appendNodes(parent /** TODO #9100 */, nodes /** TODO #9100 */) {
+ function appendNodes(parent, nodes) {
for (var i = 0; i < nodes.length; i++) {
- getDOM().appendChild(parent, nodes[i]);
+ parent.appendChild(nodes[i]);
}
}
function decoratePreventDefault(eventHandler) {
- return function (event /** TODO #9100 */) {
+ return function (event) {
var allowDefaultBehavior = eventHandler(event);
if (allowDefaultBehavior === false) {
// TODO(tbosch): move preventDefault into event plugins...
- getDOM().preventDefault(event);
+ event.preventDefault();
+ event.returnValue = false;
}
};
}
@@ -39355,17 +40137,17 @@
var COMPONENT_VARIABLE = '%COMP%';
var HOST_ATTR = "_nghost-" + COMPONENT_VARIABLE;
var CONTENT_ATTR = "_ngcontent-" + COMPONENT_VARIABLE;
- function _shimContentAttribute(componentShortId) {
+ function shimContentAttribute(componentShortId) {
return CONTENT_ATTR.replace(COMPONENT_REGEX, componentShortId);
}
- function _shimHostAttribute(componentShortId) {
+ function shimHostAttribute(componentShortId) {
return HOST_ATTR.replace(COMPONENT_REGEX, componentShortId);
}
- function _flattenStyles(compId, styles, target) {
+ function flattenStyles(compId, styles, target) {
for (var i = 0; i < styles.length; i++) {
var style = styles[i];
- if (isArray(style)) {
- _flattenStyles(compId, style, target);
+ if (Array.isArray(style)) {
+ flattenStyles(compId, style, target);
}
else {
style = style.replace(COMPONENT_REGEX, compId);
@@ -39375,10 +40157,10 @@
return target;
}
var NS_PREFIX_RE = /^:([^:]+):(.+)$/;
+ function isNamespaced(name) {
+ return name[0] === ':';
+ }
function splitNamespace(name) {
- if (name[0] != ':') {
- return [null, name];
- }
var match = name.match(NS_PREFIX_RE);
return [match[1], match[2]];
}
@@ -39456,15 +40238,8 @@
// events.
DomEventsPlugin.prototype.supports = function (eventName) { return true; };
DomEventsPlugin.prototype.addEventListener = function (element, eventName, handler) {
- var zone = this.manager.getZone();
- var outsideHandler = function (event /** TODO #9100 */) { return zone.runGuarded(function () { return handler(event); }); };
- return this.manager.getZone().runOutsideAngular(function () { return getDOM().onAndCancel(element, eventName, outsideHandler); });
- };
- DomEventsPlugin.prototype.addGlobalEventListener = function (target, eventName, handler) {
- var element = getDOM().getGlobalEventTarget(target);
- var zone = this.manager.getZone();
- var outsideHandler = function (event /** TODO #9100 */) { return zone.runGuarded(function () { return handler(event); }); };
- return this.manager.getZone().runOutsideAngular(function () { return getDOM().onAndCancel(element, eventName, outsideHandler); });
+ element.addEventListener(eventName, handler, false);
+ return function () { return element.removeEventListener(eventName, handler, false); };
};
DomEventsPlugin.decorators = [
{ type: _angular_core.Injectable },
@@ -39481,12 +40256,12 @@
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
- var __extends$7 = (this && this.__extends) || function (d, b) {
+ var __extends$6 = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
- var _eventNames = {
+ var EVENT_NAMES = {
// pan
'pan': true,
'panstart': true,
@@ -39523,29 +40298,6 @@
// tap
'tap': true,
};
- var HammerGesturesPluginCommon = (function (_super) {
- __extends$7(HammerGesturesPluginCommon, _super);
- function HammerGesturesPluginCommon() {
- _super.call(this);
- }
- HammerGesturesPluginCommon.prototype.supports = function (eventName) {
- return _eventNames.hasOwnProperty(eventName.toLowerCase());
- };
- return HammerGesturesPluginCommon;
- }(EventManagerPlugin));
-
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
- var __extends$6 = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
/**
* A DI token that you can use to provide{@link HammerGestureConfig} to Angular. Use it to configure
* Hammer gestures.
@@ -39584,9 +40336,10 @@
this._config = _config;
}
HammerGesturesPlugin.prototype.supports = function (eventName) {
- if (!_super.prototype.supports.call(this, eventName) && !this.isCustomEvent(eventName))
+ if (!EVENT_NAMES.hasOwnProperty(eventName.toLowerCase()) && !this.isCustomEvent(eventName)) {
return false;
- if (!isPresent(window['Hammer'])) {
+ }
+ if (!window.Hammer) {
throw new Error("Hammer.js is not loaded, can not bind " + eventName + " event");
}
return true;
@@ -39598,11 +40351,11 @@
return zone.runOutsideAngular(function () {
// Creating the manager bind events, must be done outside of angular
var mc = _this._config.buildHammer(element);
- var callback = function (eventObj /** TODO #???? */) {
+ var callback = function (eventObj) {
zone.runGuarded(function () { handler(eventObj); });
};
mc.on(eventName, callback);
- return function () { mc.off(eventName, callback); };
+ return function () { return mc.off(eventName, callback); };
});
};
HammerGesturesPlugin.prototype.isCustomEvent = function (eventName) { return this._config.events.indexOf(eventName) > -1; };
@@ -39614,7 +40367,7 @@
{ type: HammerGestureConfig, decorators: [{ type: _angular_core.Inject, args: [HAMMER_GESTURE_CONFIG,] },] },
];
return HammerGesturesPlugin;
- }(HammerGesturesPluginCommon));
+ }(EventManagerPlugin));
/**
* @license
@@ -39623,13 +40376,13 @@
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
- var __extends$8 = (this && this.__extends) || function (d, b) {
+ var __extends$7 = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
- var modifierKeys = ['alt', 'control', 'meta', 'shift'];
- var modifierKeyGetters = {
+ var MODIFIER_KEYS = ['alt', 'control', 'meta', 'shift'];
+ var MODIFIER_KEY_GETTERS = {
'alt': function (event) { return event.altKey; },
'control': function (event) { return event.ctrlKey; },
'meta': function (event) { return event.metaKey; },
@@ -39639,16 +40392,14 @@
* @experimental
*/
var KeyEventsPlugin = (function (_super) {
- __extends$8(KeyEventsPlugin, _super);
+ __extends$7(KeyEventsPlugin, _super);
function KeyEventsPlugin() {
_super.call(this);
}
- KeyEventsPlugin.prototype.supports = function (eventName) {
- return isPresent(KeyEventsPlugin.parseEventName(eventName));
- };
+ KeyEventsPlugin.prototype.supports = function (eventName) { return KeyEventsPlugin.parseEventName(eventName) != null; };
KeyEventsPlugin.prototype.addEventListener = function (element, eventName, handler) {
var parsedEvent = KeyEventsPlugin.parseEventName(eventName);
- var outsideHandler = KeyEventsPlugin.eventCallback(element, parsedEvent['fullKey'], handler, this.manager.getZone());
+ var outsideHandler = KeyEventsPlugin.eventCallback(parsedEvent['fullKey'], handler, this.manager.getZone());
return this.manager.getZone().runOutsideAngular(function () {
return getDOM().onAndCancel(element, parsedEvent['domEventName'], outsideHandler);
});
@@ -39661,9 +40412,10 @@
}
var key = KeyEventsPlugin._normalizeKey(parts.pop());
var fullKey = '';
- modifierKeys.forEach(function (modifierName) {
- if (ListWrapper.contains(parts, modifierName)) {
- ListWrapper.remove(parts, modifierName);
+ MODIFIER_KEYS.forEach(function (modifierName) {
+ var index = parts.indexOf(modifierName);
+ if (index > -1) {
+ parts.splice(index, 1);
fullKey += modifierName + '.';
}
});
@@ -39687,9 +40439,9 @@
else if (key === '.') {
key = 'dot'; // because '.' is used as a separator in event names
}
- modifierKeys.forEach(function (modifierName) {
+ MODIFIER_KEYS.forEach(function (modifierName) {
if (modifierName != key) {
- var modifierGetter = modifierKeyGetters[modifierName];
+ var modifierGetter = MODIFIER_KEY_GETTERS[modifierName];
if (modifierGetter(event)) {
fullKey += modifierName + '.';
}
@@ -39698,7 +40450,7 @@
fullKey += key;
return fullKey;
};
- KeyEventsPlugin.eventCallback = function (element, fullKey, handler, zone) {
+ KeyEventsPlugin.eventCallback = function (fullKey, handler, zone) {
return function (event /** TODO #9100 */) {
if (KeyEventsPlugin.getEventFullKey(event) === fullKey) {
zone.runGuarded(function () { return handler(event); });
@@ -39707,7 +40459,7 @@
};
/** @internal */
KeyEventsPlugin._normalizeKey = function (keyName) {
- // TODO: switch to a StringMap if the mapping grows too much
+ // TODO: switch to a Map if the mapping grows too much
switch (keyName) {
case 'esc':
return 'escape';
@@ -40109,7 +40861,7 @@
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
- var __extends$9 = (this && this.__extends) || function (d, b) {
+ var __extends$8 = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -40151,7 +40903,7 @@
return DomSanitizer;
}());
var DomSanitizerImpl = (function (_super) {
- __extends$9(DomSanitizerImpl, _super);
+ __extends$8(DomSanitizerImpl, _super);
function DomSanitizerImpl() {
_super.apply(this, arguments);
}
@@ -40225,7 +40977,7 @@
return SafeValueImpl;
}());
var SafeHtmlImpl = (function (_super) {
- __extends$9(SafeHtmlImpl, _super);
+ __extends$8(SafeHtmlImpl, _super);
function SafeHtmlImpl() {
_super.apply(this, arguments);
}
@@ -40233,7 +40985,7 @@
return SafeHtmlImpl;
}(SafeValueImpl));
var SafeStyleImpl = (function (_super) {
- __extends$9(SafeStyleImpl, _super);
+ __extends$8(SafeStyleImpl, _super);
function SafeStyleImpl() {
_super.apply(this, arguments);
}
@@ -40241,7 +40993,7 @@
return SafeStyleImpl;
}(SafeValueImpl));
var SafeScriptImpl = (function (_super) {
- __extends$9(SafeScriptImpl, _super);
+ __extends$8(SafeScriptImpl, _super);
function SafeScriptImpl() {
_super.apply(this, arguments);
}
@@ -40249,7 +41001,7 @@
return SafeScriptImpl;
}(SafeValueImpl));
var SafeUrlImpl = (function (_super) {
- __extends$9(SafeUrlImpl, _super);
+ __extends$8(SafeUrlImpl, _super);
function SafeUrlImpl() {
_super.apply(this, arguments);
}
@@ -40257,7 +41009,7 @@
return SafeUrlImpl;
}(SafeValueImpl));
var SafeResourceUrlImpl = (function (_super) {
- __extends$9(SafeResourceUrlImpl, _super);
+ __extends$8(SafeResourceUrlImpl, _super);
function SafeResourceUrlImpl() {
_super.apply(this, arguments);
}
@@ -40389,7 +41141,7 @@
* ```
*/
AngularProfiler.prototype.timeChangeDetection = function (config) {
- var record = isPresent(config) && config['record'];
+ var record = config && config['record'];
var profileName = 'Change Detection';
// Profiler is not available in Android browsers, nor in IE 9 without dev tools opened
var isProfilerAvailable = isPresent(win.console.profile);
@@ -40412,7 +41164,7 @@
}
var msPerTick = (end - start) / numTicks;
win.console.log("ran " + numTicks + " change detection cycles");
- win.console.log(NumberWrapper.toFixed(msPerTick, 2) + " ms per check");
+ win.console.log(msPerTick.toFixed(2) + " ms per check");
return new ChangeDetectionPerfRecord(msPerTick, numTicks);
};
return AngularProfiler;
@@ -40433,7 +41185,7 @@
* @experimental All debugging apis are currently experimental.
*/
function enableDebugTools(ref) {
- context.ng = new AngularTools(ref);
+ Object.assign(context.ng, new AngularTools(ref));
return ref;
}
/**
@@ -40442,7 +41194,9 @@
* @experimental All debugging apis are currently experimental.
*/
function disableDebugTools() {
- delete context.ng;
+ if (context.ng) {
+ delete context.ng.profiler;
+ }
}
/**
@@ -40497,6 +41251,12 @@
setRootDomAdapter: setRootDomAdapter,
DomRootRenderer_: DomRootRenderer_,
DomRootRenderer: DomRootRenderer,
+ NAMESPACE_URIS: NAMESPACE_URIS,
+ shimContentAttribute: shimContentAttribute,
+ shimHostAttribute: shimHostAttribute,
+ flattenStyles: flattenStyles,
+ splitNamespace: splitNamespace,
+ isNamespaced: isNamespaced,
DomSharedStylesHost: DomSharedStylesHost,
SharedStylesHost: SharedStylesHost,
ELEMENT_PROBE_PROVIDERS: ELEMENT_PROBE_PROVIDERS,
@@ -40505,7 +41265,8 @@
HammerGesturesPlugin: HammerGesturesPlugin,
initDomAdapter: initDomAdapter,
INTERNAL_BROWSER_PLATFORM_PROVIDERS: INTERNAL_BROWSER_PLATFORM_PROVIDERS,
- BROWSER_SANITIZATION_PROVIDERS: BROWSER_SANITIZATION_PROVIDERS
+ BROWSER_SANITIZATION_PROVIDERS: BROWSER_SANITIZATION_PROVIDERS,
+ WebAnimationsDriver: WebAnimationsDriver
};
exports.BrowserModule = BrowserModule;
@@ -40525,7 +41286,6 @@
exports.__platform_browser_private__ = __platform_browser_private__;
}));
-
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
/***/ },
@@ -40533,7 +41293,7 @@
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(global) {/**
- * @license Angular v2.1.0
+ * @license Angular v2.2.3
* (c) 2010-2016 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -40677,16 +41437,10 @@
// TODO: to be fixed properly via #2830, noop for now
};
function isPresent(obj) {
- return obj !== undefined && obj !== null;
+ return obj != null;
}
function isBlank(obj) {
- return obj === undefined || obj === null;
- }
- function isStringMap(obj) {
- return typeof obj === 'object' && obj !== null;
- }
- function isArray(obj) {
- return Array.isArray(obj);
+ return obj == null;
}
function isDate(obj) {
return obj instanceof Date && !isNaN(obj.valueOf());
@@ -40695,7 +41449,7 @@
if (typeof token === 'string') {
return token;
}
- if (token === undefined || token === null) {
+ if (token == null) {
return '' + token;
}
if (token.overriddenName) {
@@ -40711,8 +41465,6 @@
var NumberWrapper = (function () {
function NumberWrapper() {
}
- NumberWrapper.toFixed = function (n, fractionDigits) { return n.toFixed(fractionDigits); };
- NumberWrapper.equal = function (a, b) { return a === b; };
NumberWrapper.parseIntAutoRadix = function (text) {
var result = parseInt(text);
if (isNaN(result)) {
@@ -40720,53 +41472,16 @@
}
return result;
};
- NumberWrapper.parseInt = function (text, radix) {
- if (radix == 10) {
- if (/^(\-|\+)?[0-9]+$/.test(text)) {
- return parseInt(text, radix);
- }
- }
- else if (radix == 16) {
- if (/^(\-|\+)?[0-9ABCDEFabcdef]+$/.test(text)) {
- return parseInt(text, radix);
- }
- }
- else {
- var result = parseInt(text, radix);
- if (!isNaN(result)) {
- return result;
- }
- }
- throw new Error('Invalid integer literal when parsing ' + text + ' in base ' + radix);
- };
- Object.defineProperty(NumberWrapper, "NaN", {
- get: function () { return NaN; },
- enumerable: true,
- configurable: true
- });
NumberWrapper.isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };
- NumberWrapper.isNaN = function (value) { return isNaN(value); };
- NumberWrapper.isInteger = function (value) { return Number.isInteger(value); };
return NumberWrapper;
}());
function isJsObject(o) {
return o !== null && (typeof o === 'function' || typeof o === 'object');
}
- // Can't be all uppercase as our transpiler would think it is a special directive...
- var Json = (function () {
- function Json() {
- }
- Json.parse = function (s) { return _global.JSON.parse(s); };
- Json.stringify = function (data) {
- // Dart doesn't take 3 arguments
- return _global.JSON.stringify(data, null, 2);
- };
- return Json;
- }());
var _symbolIterator = null;
function getSymbolIterator() {
- if (isBlank(_symbolIterator)) {
- if (isPresent(globalScope.Symbol) && isPresent(Symbol.iterator)) {
+ if (!_symbolIterator) {
+ if (globalScope.Symbol && Symbol.iterator) {
_symbolIterator = Symbol.iterator;
}
else {
@@ -41627,177 +42342,10 @@
}
}
- var _clearValues = (function () {
- if ((new Map()).keys().next) {
- return function _clearValues(m) {
- var keyIterator = m.keys();
- var k;
- while (!((k = keyIterator.next()).done)) {
- m.set(k.value, null);
- }
- };
- }
- else {
- return function _clearValuesWithForeEach(m) {
- m.forEach(function (v, k) { m.set(k, null); });
- };
- }
- })();
- // Safari doesn't implement MapIterator.next(), which is used is Traceur's polyfill of Array.from
- // TODO(mlaval): remove the work around once we have a working polyfill of Array.from
- var _arrayFromMap = (function () {
- try {
- if ((new Map()).values().next) {
- return function createArrayFromMap(m, getValues) {
- return getValues ? Array.from(m.values()) : Array.from(m.keys());
- };
- }
- }
- catch (e) {
- }
- return function createArrayFromMapWithForeach(m, getValues) {
- var res = new Array(m.size), i = 0;
- m.forEach(function (v, k) {
- res[i] = getValues ? v : k;
- i++;
- });
- return res;
- };
- })();
- var ListWrapper = (function () {
- function ListWrapper() {
- }
- // JS has no way to express a statically fixed size list, but dart does so we
- // keep both methods.
- ListWrapper.createFixedSize = function (size) { return new Array(size); };
- ListWrapper.createGrowableSize = function (size) { return new Array(size); };
- ListWrapper.clone = function (array) { return array.slice(0); };
- ListWrapper.forEachWithIndex = function (array, fn) {
- for (var i = 0; i < array.length; i++) {
- fn(array[i], i);
- }
- };
- ListWrapper.first = function (array) {
- if (!array)
- return null;
- return array[0];
- };
- ListWrapper.last = function (array) {
- if (!array || array.length == 0)
- return null;
- return array[array.length - 1];
- };
- ListWrapper.indexOf = function (array, value, startIndex) {
- if (startIndex === void 0) { startIndex = 0; }
- return array.indexOf(value, startIndex);
- };
- ListWrapper.contains = function (list, el) { return list.indexOf(el) !== -1; };
- ListWrapper.reversed = function (array) {
- var a = ListWrapper.clone(array);
- return a.reverse();
- };
- ListWrapper.concat = function (a, b) { return a.concat(b); };
- ListWrapper.insert = function (list, index, value) { list.splice(index, 0, value); };
- ListWrapper.removeAt = function (list, index) {
- var res = list[index];
- list.splice(index, 1);
- return res;
- };
- ListWrapper.removeAll = function (list, items) {
- for (var i = 0; i < items.length; ++i) {
- var index = list.indexOf(items[i]);
- list.splice(index, 1);
- }
- };
- ListWrapper.remove = function (list, el) {
- var index = list.indexOf(el);
- if (index > -1) {
- list.splice(index, 1);
- return true;
- }
- return false;
- };
- ListWrapper.clear = function (list) { list.length = 0; };
- ListWrapper.isEmpty = function (list) { return list.length == 0; };
- ListWrapper.fill = function (list, value, start, end) {
- if (start === void 0) { start = 0; }
- if (end === void 0) { end = null; }
- list.fill(value, start, end === null ? list.length : end);
- };
- ListWrapper.equals = function (a, b) {
- if (a.length != b.length)
- return false;
- for (var i = 0; i < a.length; ++i) {
- if (a[i] !== b[i])
- return false;
- }
- return true;
- };
- ListWrapper.slice = function (l, from, to) {
- if (from === void 0) { from = 0; }
- if (to === void 0) { to = null; }
- return l.slice(from, to === null ? undefined : to);
- };
- ListWrapper.splice = function (l, from, length) { return l.splice(from, length); };
- ListWrapper.sort = function (l, compareFn) {
- if (isPresent(compareFn)) {
- l.sort(compareFn);
- }
- else {
- l.sort();
- }
- };
- ListWrapper.toString = function (l) { return l.toString(); };
- ListWrapper.toJSON = function (l) { return JSON.stringify(l); };
- ListWrapper.maximum = function (list, predicate) {
- if (list.length == 0) {
- return null;
- }
- var solution = null;
- var maxValue = -Infinity;
- for (var index = 0; index < list.length; index++) {
- var candidate = list[index];
- if (isBlank(candidate)) {
- continue;
- }
- var candidateValue = predicate(candidate);
- if (candidateValue > maxValue) {
- solution = candidate;
- maxValue = candidateValue;
- }
- }
- return solution;
- };
- ListWrapper.flatten = function (list) {
- var target = [];
- _flattenArray(list, target);
- return target;
- };
- ListWrapper.addAll = function (list, source) {
- for (var i = 0; i < source.length; i++) {
- list.push(source[i]);
- }
- };
- return ListWrapper;
- }());
- function _flattenArray(source, target) {
- if (isPresent(source)) {
- for (var i = 0; i < source.length; i++) {
- var item = source[i];
- if (isArray(item)) {
- _flattenArray(item, target);
- }
- else {
- target.push(item);
- }
- }
- }
- return target;
- }
function isListLikeIterable(obj) {
if (!isJsObject(obj))
return false;
- return isArray(obj) ||
+ return Array.isArray(obj) ||
(!(obj instanceof Map) &&
getSymbolIterator() in obj); // JS Iterable have a Symbol.iterator prop
}
@@ -41820,11 +42368,11 @@
*
* @description
*
- * The CSS classes are updated as follow depending on the type of the expression evaluation:
- * - `string` - the CSS classes listed in a string (space delimited) are added,
- * - `Array` - the CSS classes (Array elements) are added,
- * - `Object` - keys are CSS class names that get added when the expression given in the value
- * evaluates to a truthy value, otherwise class are removed.
+ * The CSS classes are updated as follows, depending on the type of the expression evaluation:
+ * - `string` - the CSS classes listed in the string (space delimited) are added,
+ * - `Array` - the CSS classes declared as Array elements are added,
+ * - `Object` - keys are CSS classes that get added when the expression given in the value
+ * evaluates to a truthy value, otherwise they are removed.
*
* @stable
*/
@@ -41894,7 +42442,14 @@
};
NgClass.prototype._applyIterableChanges = function (changes) {
var _this = this;
- changes.forEachAddedItem(function (record) { return _this._toggleClass(record.item, true); });
+ changes.forEachAddedItem(function (record) {
+ if (typeof record.item === 'string') {
+ _this._toggleClass(record.item, true);
+ }
+ else {
+ throw new Error("NgClass can only toggle CSS classes expressed as strings, got " + stringify(record.item));
+ }
+ });
changes.forEachRemovedItem(function (record) { return _this._toggleClass(record.item, false); });
};
NgClass.prototype._applyInitialClasses = function (isCleanup) {
@@ -42132,14 +42687,14 @@
/**
* Removes or recreates a portion of the DOM tree based on an {expression}.
*
- * If the expression assigned to `ngIf` evaluates to a false value then the element
+ * If the expression assigned to `ngIf` evaluates to a falsy value then the element
* is removed from the DOM, otherwise a clone of the element is reinserted into the DOM.
*
* ### Example ([live demo](http://plnkr.co/edit/fe0kgemFBtmQOY31b4tw?p=preview)):
*
* ```
* 0" class="error">
- *
* {{errorCount}} errors detected
*
@@ -42187,14 +42742,28 @@
return NgIf;
}());
- var _CASE_DEFAULT = new Object();
var SwitchView = (function () {
function SwitchView(_viewContainerRef, _templateRef) {
this._viewContainerRef = _viewContainerRef;
this._templateRef = _templateRef;
+ this._created = false;
}
- SwitchView.prototype.create = function () { this._viewContainerRef.createEmbeddedView(this._templateRef); };
- SwitchView.prototype.destroy = function () { this._viewContainerRef.clear(); };
+ SwitchView.prototype.create = function () {
+ this._created = true;
+ this._viewContainerRef.createEmbeddedView(this._templateRef);
+ };
+ SwitchView.prototype.destroy = function () {
+ this._created = false;
+ this._viewContainerRef.clear();
+ };
+ SwitchView.prototype.enforceState = function (created) {
+ if (created && !this._created) {
+ this.create();
+ }
+ else if (!created && this._created) {
+ this.destroy();
+ }
+ };
return SwitchView;
}());
/**
@@ -42214,7 +42783,7 @@
*
*
*
- * ...
+ * ...
*
* ```
* @description
@@ -42229,8 +42798,7 @@
* root elements.
*
* Elements within `NgSwitch` but outside of a `NgSwitchCase` or `NgSwitchDefault` directives will
- * be
- * preserved at the location.
+ * be preserved at the location.
*
* The `ngSwitchCase` directive informs the parent `NgSwitch` of which view to display when the
* expression is evaluated.
@@ -42241,83 +42809,49 @@
*/
var NgSwitch = (function () {
function NgSwitch() {
- this._useDefault = false;
- this._valueViews = new Map();
- this._activeViews = [];
+ this._defaultUsed = false;
+ this._caseCount = 0;
+ this._lastCaseCheckIndex = 0;
+ this._lastCasesMatched = false;
}
Object.defineProperty(NgSwitch.prototype, "ngSwitch", {
- set: function (value) {
- // Empty the currently active ViewContainers
- this._emptyAllActiveViews();
- // Add the ViewContainers matching the value (with a fallback to default)
- this._useDefault = false;
- var views = this._valueViews.get(value);
- if (!views) {
- this._useDefault = true;
- views = this._valueViews.get(_CASE_DEFAULT) || null;
+ set: function (newValue) {
+ this._ngSwitch = newValue;
+ if (this._caseCount === 0) {
+ this._updateDefaultCases(true);
}
- this._activateViews(views);
- this._switchValue = value;
},
enumerable: true,
configurable: true
});
/** @internal */
- NgSwitch.prototype._onCaseValueChanged = function (oldCase, newCase, view) {
- this._deregisterView(oldCase, view);
- this._registerView(newCase, view);
- if (oldCase === this._switchValue) {
- view.destroy();
- ListWrapper.remove(this._activeViews, view);
- }
- else if (newCase === this._switchValue) {
- if (this._useDefault) {
- this._useDefault = false;
- this._emptyAllActiveViews();
- }
- view.create();
- this._activeViews.push(view);
- }
- // Switch to default when there is no more active ViewContainers
- if (this._activeViews.length === 0 && !this._useDefault) {
- this._useDefault = true;
- this._activateViews(this._valueViews.get(_CASE_DEFAULT));
- }
- };
- NgSwitch.prototype._emptyAllActiveViews = function () {
- var activeContainers = this._activeViews;
- for (var i = 0; i < activeContainers.length; i++) {
- activeContainers[i].destroy();
- }
- this._activeViews = [];
- };
- NgSwitch.prototype._activateViews = function (views) {
- if (views) {
- for (var i = 0; i < views.length; i++) {
- views[i].create();
- }
- this._activeViews = views;
+ NgSwitch.prototype._addCase = function () { return this._caseCount++; };
+ /** @internal */
+ NgSwitch.prototype._addDefault = function (view) {
+ if (!this._defaultViews) {
+ this._defaultViews = [];
}
+ this._defaultViews.push(view);
};
/** @internal */
- NgSwitch.prototype._registerView = function (value, view) {
- var views = this._valueViews.get(value);
- if (!views) {
- views = [];
- this._valueViews.set(value, views);
+ NgSwitch.prototype._matchCase = function (value) {
+ var matched = value == this._ngSwitch;
+ this._lastCasesMatched = this._lastCasesMatched || matched;
+ this._lastCaseCheckIndex++;
+ if (this._lastCaseCheckIndex === this._caseCount) {
+ this._updateDefaultCases(!this._lastCasesMatched);
+ this._lastCaseCheckIndex = 0;
+ this._lastCasesMatched = false;
}
- views.push(view);
+ return matched;
};
- NgSwitch.prototype._deregisterView = function (value, view) {
- // `_CASE_DEFAULT` is used a marker for non-registered cases
- if (value === _CASE_DEFAULT)
- return;
- var views = this._valueViews.get(value);
- if (views.length == 1) {
- this._valueViews.delete(value);
- }
- else {
- ListWrapper.remove(views, view);
+ NgSwitch.prototype._updateDefaultCases = function (useDefault) {
+ if (this._defaultViews && useDefault !== this._defaultUsed) {
+ this._defaultUsed = useDefault;
+ for (var i = 0; i < this._defaultViews.length; i++) {
+ var defaultView = this._defaultViews[i];
+ defaultView.enforceState(useDefault);
+ }
}
};
NgSwitch.decorators = [
@@ -42356,19 +42890,11 @@
*/
var NgSwitchCase = (function () {
function NgSwitchCase(viewContainer, templateRef, ngSwitch) {
- // `_CASE_DEFAULT` is used as a marker for a not yet initialized value
- this._value = _CASE_DEFAULT;
- this._switch = ngSwitch;
+ this.ngSwitch = ngSwitch;
+ ngSwitch._addCase();
this._view = new SwitchView(viewContainer, templateRef);
}
- Object.defineProperty(NgSwitchCase.prototype, "ngSwitchCase", {
- set: function (value) {
- this._switch._onCaseValueChanged(this._value, value, this._view);
- this._value = value;
- },
- enumerable: true,
- configurable: true
- });
+ NgSwitchCase.prototype.ngDoCheck = function () { this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase)); };
NgSwitchCase.decorators = [
{ type: _angular_core.Directive, args: [{ selector: '[ngSwitchCase]' },] },
];
@@ -42407,8 +42933,8 @@
* @stable
*/
var NgSwitchDefault = (function () {
- function NgSwitchDefault(viewContainer, templateRef, sswitch) {
- sswitch._registerView(_CASE_DEFAULT, new SwitchView(viewContainer, templateRef));
+ function NgSwitchDefault(viewContainer, templateRef, ngSwitch) {
+ ngSwitch._addDefault(new SwitchView(viewContainer, templateRef));
}
NgSwitchDefault.decorators = [
{ type: _angular_core.Directive, args: [{ selector: '[ngSwitchDefault]' },] },
@@ -42549,7 +43075,7 @@
* @description
*
* The styles are updated according to the value of the expression evaluation:
- * - keys are style names with an option `.` suffix (ie 'top.px', 'font-style.em'),
+ * - keys are style names with an optional `.` suffix (ie 'top.px', 'font-style.em'),
* - values are the values assigned to those properties (expressed in the given unit).
*
* @stable
@@ -42915,7 +43441,7 @@
}());
var DATE_FORMATS_SPLIT = /((?:[^yMLdHhmsazZEwGjJ']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|J+|j+|m+|s+|a|z|Z|G+|w+))(.*)/;
var PATTERN_ALIASES = {
- yMMMdjms: datePartGetterFactory(combine([
+ 'yMMMdjms': datePartGetterFactory(combine([
digitCondition('year', 1),
nameCondition('month', 3),
digitCondition('day', 1),
@@ -42923,19 +43449,19 @@
digitCondition('minute', 1),
digitCondition('second', 1),
])),
- yMdjm: datePartGetterFactory(combine([
+ 'yMdjm': datePartGetterFactory(combine([
digitCondition('year', 1), digitCondition('month', 1), digitCondition('day', 1),
digitCondition('hour', 1), digitCondition('minute', 1)
])),
- yMMMMEEEEd: datePartGetterFactory(combine([
+ 'yMMMMEEEEd': datePartGetterFactory(combine([
digitCondition('year', 1), nameCondition('month', 4), nameCondition('weekday', 4),
digitCondition('day', 1)
])),
- yMMMMd: datePartGetterFactory(combine([digitCondition('year', 1), nameCondition('month', 4), digitCondition('day', 1)])),
- yMMMd: datePartGetterFactory(combine([digitCondition('year', 1), nameCondition('month', 3), digitCondition('day', 1)])),
- yMd: datePartGetterFactory(combine([digitCondition('year', 1), digitCondition('month', 1), digitCondition('day', 1)])),
- jms: datePartGetterFactory(combine([digitCondition('hour', 1), digitCondition('second', 1), digitCondition('minute', 1)])),
- jm: datePartGetterFactory(combine([digitCondition('hour', 1), digitCondition('minute', 1)]))
+ 'yMMMMd': datePartGetterFactory(combine([digitCondition('year', 1), nameCondition('month', 4), digitCondition('day', 1)])),
+ 'yMMMd': datePartGetterFactory(combine([digitCondition('year', 1), nameCondition('month', 3), digitCondition('day', 1)])),
+ 'yMd': datePartGetterFactory(combine([digitCondition('year', 1), digitCondition('month', 1), digitCondition('day', 1)])),
+ 'jms': datePartGetterFactory(combine([digitCondition('hour', 1), digitCondition('second', 1), digitCondition('minute', 1)])),
+ 'jm': datePartGetterFactory(combine([digitCondition('hour', 1), digitCondition('minute', 1)]))
};
var DATE_FORMATS = {
yyyy: datePartGetterFactory(digitCondition('year', 4)),
@@ -42946,12 +43472,13 @@
MM: datePartGetterFactory(digitCondition('month', 2)),
M: datePartGetterFactory(digitCondition('month', 1)),
LLLL: datePartGetterFactory(nameCondition('month', 4)),
+ L: datePartGetterFactory(nameCondition('month', 1)),
dd: datePartGetterFactory(digitCondition('day', 2)),
d: datePartGetterFactory(digitCondition('day', 1)),
- HH: digitModifier(hourExtracter(datePartGetterFactory(hour12Modify(digitCondition('hour', 2), false)))),
- H: hourExtracter(datePartGetterFactory(hour12Modify(digitCondition('hour', 1), false))),
- hh: digitModifier(hourExtracter(datePartGetterFactory(hour12Modify(digitCondition('hour', 2), true)))),
- h: hourExtracter(datePartGetterFactory(hour12Modify(digitCondition('hour', 1), true))),
+ HH: digitModifier(hourExtractor(datePartGetterFactory(hour12Modify(digitCondition('hour', 2), false)))),
+ H: hourExtractor(datePartGetterFactory(hour12Modify(digitCondition('hour', 1), false))),
+ hh: digitModifier(hourExtractor(datePartGetterFactory(hour12Modify(digitCondition('hour', 2), true)))),
+ h: hourExtractor(datePartGetterFactory(hour12Modify(digitCondition('hour', 1), true))),
jj: datePartGetterFactory(digitCondition('hour', 2)),
j: datePartGetterFactory(digitCondition('hour', 1)),
mm: digitModifier(datePartGetterFactory(digitCondition('minute', 2))),
@@ -42966,7 +43493,7 @@
EEE: datePartGetterFactory(nameCondition('weekday', 3)),
EE: datePartGetterFactory(nameCondition('weekday', 2)),
E: datePartGetterFactory(nameCondition('weekday', 1)),
- a: hourClockExtracter(datePartGetterFactory(hour12Modify(digitCondition('hour', 1), true))),
+ a: hourClockExtractor(datePartGetterFactory(hour12Modify(digitCondition('hour', 1), true))),
Z: timeZoneGetter('short'),
z: timeZoneGetter('long'),
ww: datePartGetterFactory({}),
@@ -42984,17 +43511,11 @@
return result.length == 1 ? '0' + result : result;
};
}
- function hourClockExtracter(inner) {
- return function (date, locale) {
- var result = inner(date, locale);
- return result.split(' ')[1];
- };
+ function hourClockExtractor(inner) {
+ return function (date, locale) { return inner(date, locale).split(' ')[1]; };
}
- function hourExtracter(inner) {
- return function (date, locale) {
- var result = inner(date, locale);
- return result.split(' ')[0];
- };
+ function hourExtractor(inner) {
+ return function (date, locale) { return inner(date, locale).split(' ')[0]; };
}
function intlDateFormat(date, locale, options) {
return new Intl.DateTimeFormat(locale, options).format(date).replace(/[\u200e\u200f]/g, '');
@@ -43014,40 +43535,40 @@
}
function digitCondition(prop, len) {
var result = {};
- result[prop] = len == 2 ? '2-digit' : 'numeric';
+ result[prop] = len === 2 ? '2-digit' : 'numeric';
return result;
}
function nameCondition(prop, len) {
var result = {};
- result[prop] = len < 4 ? 'short' : 'long';
+ if (len < 4) {
+ result[prop] = len > 1 ? 'short' : 'narrow';
+ }
+ else {
+ result[prop] = 'long';
+ }
return result;
}
function combine(options) {
- var result = {};
- options.forEach(function (option) { Object.assign(result, option); });
- return result;
+ return (_a = Object).assign.apply(_a, [{}].concat(options));
+ var _a;
}
function datePartGetterFactory(ret) {
return function (date, locale) { return intlDateFormat(date, locale, ret); };
}
- var datePartsFormatterCache = new Map();
+ var DATE_FORMATTER_CACHE = new Map();
function dateFormatter(format, date, locale) {
- var text = '';
- var match;
- var fn;
- var parts = [];
- if (PATTERN_ALIASES[format]) {
- return PATTERN_ALIASES[format](date, locale);
- }
- if (datePartsFormatterCache.has(format)) {
- parts = datePartsFormatterCache.get(format);
- }
- else {
- var matches = DATE_FORMATS_SPLIT.exec(format);
+ var fn = PATTERN_ALIASES[format];
+ if (fn)
+ return fn(date, locale);
+ var parts = DATE_FORMATTER_CACHE.get(format);
+ if (!parts) {
+ parts = [];
+ var match = void 0;
+ DATE_FORMATS_SPLIT.exec(format);
while (format) {
match = DATE_FORMATS_SPLIT.exec(format);
if (match) {
- parts = concat(parts, match, 1);
+ parts = parts.concat(match.slice(1));
format = parts.pop();
}
else {
@@ -43055,18 +43576,15 @@
format = null;
}
}
- datePartsFormatterCache.set(format, parts);
+ DATE_FORMATTER_CACHE.set(format, parts);
}
- parts.forEach(function (part) {
- fn = DATE_FORMATS[part];
- text += fn ? fn(date, locale) :
- part === '\'\'' ? '\'' : part.replace(/(^'|'$)/g, '').replace(/''/g, '\'');
- });
- return text;
+ return parts.reduce(function (text, part) {
+ var fn = DATE_FORMATS[part];
+ return text + (fn ? fn(date, locale) : partToTime(part));
+ }, '');
}
- var slice = [].slice;
- function concat(array1 /** TODO #9100 */, array2 /** TODO #9100 */, index /** TODO #9100 */) {
- return array1.concat(slice.call(array2, index));
+ function partToTime(part) {
+ return part === '\'\'' ? '\'' : part.replace(/(^'|'$)/g, '').replace(/''/g, '\'');
}
var DateFormatter = (function () {
function DateFormatter() {
@@ -43098,27 +43616,30 @@
* - `'shortTime'`: equivalent to `'jm'` (e.g. `12:05 PM` for `en-US`)
*
*
- * | Component | Symbol | Short Form | Long Form | Numeric | 2-digit |
- * |-----------|:------:|--------------|-------------------|-----------|-----------|
- * | era | G | G (AD) | GGGG (Anno Domini)| - | - |
- * | year | y | - | - | y (2015) | yy (15) |
- * | month | M | MMM (Sep) | MMMM (September) | M (9) | MM (09) |
- * | day | d | - | - | d (3) | dd (03) |
- * | weekday | E | EEE (Sun) | EEEE (Sunday) | - | - |
- * | hour | j | - | - | j (13) | jj (13) |
- * | hour12 | h | - | - | h (1 PM) | hh (01 PM)|
- * | hour24 | H | - | - | H (13) | HH (13) |
- * | minute | m | - | - | m (5) | mm (05) |
- * | second | s | - | - | s (9) | ss (09) |
- * | timezone | z | - | z (Pacific Standard Time)| - | - |
- * | timezone | Z | Z (GMT-8:00) | - | - | - |
- * | timezone | a | a (PM) | - | - | - |
+ * | Component | Symbol | Narrow | Short Form | Long Form | Numeric | 2-digit |
+ * |-----------|:------:|--------|--------------|-------------------|-----------|-----------|
+ * | era | G | G (A) | GGG (AD) | GGGG (Anno Domini)| - | - |
+ * | year | y | - | - | - | y (2015) | yy (15) |
+ * | month | M | L (S) | MMM (Sep) | MMMM (September) | M (9) | MM (09) |
+ * | day | d | - | - | - | d (3) | dd (03) |
+ * | weekday | E | E (S) | EEE (Sun) | EEEE (Sunday) | - | - |
+ * | hour | j | - | - | - | j (13) | jj (13) |
+ * | hour12 | h | - | - | - | h (1 PM) | hh (01 PM)|
+ * | hour24 | H | - | - | - | H (13) | HH (13) |
+ * | minute | m | - | - | - | m (5) | mm (05) |
+ * | second | s | - | - | - | s (9) | ss (09) |
+ * | timezone | z | - | - | z (Pacific Standard Time)| - | - |
+ * | timezone | Z | - | Z (GMT-8:00) | - | - | - |
+ * | timezone | a | - | a (PM) | - | - | - |
*
* In javascript, only the components specified will be respected (not the ordering,
* punctuations, ...) and details of the formatting will be dependent on the locale.
*
* Timezone of the formatted text will be the local system timezone of the end-user's machine.
*
+ * When the expression is a ISO string without time (e.g. 2016-09-19) the time zone offset is not
+ * applied and the formatted text will have the same day, month and year of the expression.
+ *
* WARNINGS:
* - this pipe is marked as pure hence it will not be re-evaluated when the input is mutated.
* Instead users should treat the date as an immutable object and change the reference when the
@@ -43149,19 +43670,38 @@
}
DatePipe.prototype.transform = function (value, pattern) {
if (pattern === void 0) { pattern = 'mediumDate'; }
- if (isBlank(value))
+ var date;
+ if (isBlank$1(value))
return null;
- if (!this.supports(value)) {
+ if (typeof value === 'string') {
+ value = value.trim();
+ }
+ if (isDate(value)) {
+ date = value;
+ }
+ else if (NumberWrapper.isNumeric(value)) {
+ date = new Date(parseFloat(value));
+ }
+ else if (typeof value === 'string' && /^(\d{4}-\d{1,2}-\d{1,2})$/.test(value)) {
+ /**
+ * For ISO Strings without time the day, month and year must be extracted from the ISO String
+ * before Date creation to avoid time offset and errors in the new Date.
+ * If we only replace '-' with ',' in the ISO String ("2015,01,01"), and try to create a new
+ * date, some browsers (e.g. IE 9) will throw an invalid Date error
+ * If we leave the '-' ("2015-01-01") and try to create a new Date("2015-01-01") the timeoffset
+ * is applied
+ * Note: ISO months are 0 for January, 1 for February, ...
+ */
+ var _a = value.split('-').map(function (val) { return parseInt(val, 10); }), y = _a[0], m = _a[1], d = _a[2];
+ date = new Date(y, m - 1, d);
+ }
+ else {
+ date = new Date(value);
+ }
+ if (!isDate(date)) {
throw new InvalidPipeArgumentError(DatePipe, value);
}
- if (NumberWrapper.isNumeric(value)) {
- value = parseFloat(value);
- }
- return DateFormatter.format(new Date(value), this._locale, DatePipe._ALIASES[pattern] || pattern);
- };
- DatePipe.prototype.supports = function (obj) {
- return isDate(obj) || NumberWrapper.isNumeric(obj) ||
- (typeof obj === 'string' && isDate(new Date(obj)));
+ return DateFormatter.format(date, this._locale, DatePipe._ALIASES[pattern] || pattern);
};
/** @internal */
DatePipe._ALIASES = {
@@ -43183,6 +43723,9 @@
];
return DatePipe;
}());
+ function isBlank$1(obj) {
+ return obj == null || obj === '';
+ }
var _INTERPOLATION_REGEXP = /#/g;
/**
@@ -43209,7 +43752,7 @@
I18nPluralPipe.prototype.transform = function (value, pluralMap) {
if (isBlank(value))
return '';
- if (!isStringMap(pluralMap)) {
+ if (typeof pluralMap !== 'object' || pluralMap === null) {
throw new InvalidPipeArgumentError(I18nPluralPipe, pluralMap);
}
var key = getPluralCategory(value, Object.keys(pluralMap), this._localization);
@@ -43231,9 +43774,10 @@
* @howToUse `expression | i18nSelect:mapping`
* @description
*
- * Where:
- * - `mapping`: is an object that indicates the text that should be displayed
+ * Where `mapping` is an object that indicates the text that should be displayed
* for different values of the provided `expression`.
+ * If none of the keys of the mapping match the value of the `expression`, then the content
+ * of the `other` key is returned when present, otherwise an empty string is returned.
*
* ## Example
*
@@ -43245,12 +43789,18 @@
function I18nSelectPipe() {
}
I18nSelectPipe.prototype.transform = function (value, mapping) {
- if (isBlank(value))
+ if (value == null)
return '';
- if (!isStringMap(mapping)) {
+ if (typeof mapping !== 'object' || typeof value !== 'string') {
throw new InvalidPipeArgumentError(I18nSelectPipe, mapping);
}
- return mapping.hasOwnProperty(value) ? mapping[value] : '';
+ if (mapping.hasOwnProperty(value)) {
+ return mapping[value];
+ }
+ if (mapping.hasOwnProperty('other')) {
+ return mapping['other'];
+ }
+ return '';
};
I18nSelectPipe.decorators = [
{ type: _angular_core.Pipe, args: [{ name: 'i18nSelect', pure: true },] },
@@ -43276,7 +43826,7 @@
var JsonPipe = (function () {
function JsonPipe() {
}
- JsonPipe.prototype.transform = function (value) { return Json.stringify(value); };
+ JsonPipe.prototype.transform = function (value) { return JSON.stringify(value, null, 2); };
JsonPipe.decorators = [
{ type: _angular_core.Pipe, args: [{ name: 'json', pure: false },] },
];
@@ -43291,7 +43841,7 @@
* @howToUse `expression | lowercase`
* @description
*
- * Converts value into lowercase string using `String.prototype.toLowerCase()`.
+ * Converts value into a lowercase string using `String.prototype.toLowerCase()`.
*
* ### Example
*
@@ -43556,7 +44106,7 @@
* @howToUse `expression | uppercase`
* @description
*
- * Converts value into lowercase string using `String.prototype.toUpperCase()`.
+ * Converts value into an uppercase string using `String.prototype.toUpperCase()`.
*
* ### Example
*
@@ -43655,7 +44205,6 @@
exports.Location = Location;
}));
-
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
/***/ },
@@ -43678,39 +44227,38 @@
var effects_1 = __webpack_require__(338);
var store_1 = __webpack_require__(353);
var store_devtools_1 = __webpack_require__(371);
- var store_log_monitor_1 = __webpack_require__(382);
- var ng2_dragula_1 = __webpack_require__(385);
- var ng2_select2_1 = __webpack_require__(398);
- var add_on_1 = __webpack_require__(400);
- var keymap_1 = __webpack_require__(420);
+ var store_log_monitor_1 = __webpack_require__(381);
+ var ng2_dragula_1 = __webpack_require__(384);
+ var ng2_select2_1 = __webpack_require__(397);
+ var add_on_1 = __webpack_require__(399);
+ var keymap_1 = __webpack_require__(419);
var layers_1 = __webpack_require__(463);
var macro_1 = __webpack_require__(467);
- var notification_1 = __webpack_require__(552);
- var popover_1 = __webpack_require__(556);
- var tab_1 = __webpack_require__(507);
- var capture_keystroke_1 = __webpack_require__(562);
- var icon_1 = __webpack_require__(566);
- var settings_1 = __webpack_require__(570);
- var side_menu_1 = __webpack_require__(575);
- var keyboard_1 = __webpack_require__(579);
- var keys_1 = __webpack_require__(583);
- var module_1 = __webpack_require__(625);
- var wrap_1 = __webpack_require__(629);
- var main_app_1 = __webpack_require__(633);
- var data_provider_service_1 = __webpack_require__(527);
- var mapper_service_1 = __webpack_require__(481);
- var uhk_configuration_service_1 = __webpack_require__(524);
- var effects_2 = __webpack_require__(638);
- var reducers_1 = __webpack_require__(558);
- var storage_1 = __webpack_require__(644);
+ var notification_1 = __webpack_require__(549);
+ var popover_1 = __webpack_require__(553);
+ var tab_1 = __webpack_require__(512);
+ var capture_keystroke_1 = __webpack_require__(559);
+ var icon_1 = __webpack_require__(563);
+ var settings_1 = __webpack_require__(567);
+ var side_menu_1 = __webpack_require__(572);
+ var keyboard_1 = __webpack_require__(578);
+ var keys_1 = __webpack_require__(588);
+ var module_1 = __webpack_require__(580);
+ var wrap_1 = __webpack_require__(630);
+ var main_app_1 = __webpack_require__(638);
+ var directives_1 = __webpack_require__(643);
+ var mapper_service_1 = __webpack_require__(498);
+ var effects_2 = __webpack_require__(646);
+ var reducers_1 = __webpack_require__(555);
+ var storage_1 = __webpack_require__(650);
// Create DataStorage dependency injection
var storageProvider = core_1.ReflectiveInjector.resolve([storage_1.DataStorage]);
var storageInjector = core_1.ReflectiveInjector.fromResolvedProviders(storageProvider);
var storageService = storageInjector.get(storage_1.DataStorage);
// All reducers that are used in application
var storeConfig = {
- keymaps: storageService.saveSate(reducers_1.keymapReducer),
- macros: storageService.saveSate(reducers_1.macroReducer),
+ keymaps: storageService.saveState(reducers_1.keymapReducer),
+ macros: storageService.saveState(reducers_1.macroReducer),
presetKeymaps: reducers_1.presetReducer
};
var AppModule = (function () {
@@ -43720,7 +44268,7 @@
core_1.NgModule({
declarations: [
main_app_1.MainAppComponent,
- keymap_1.KeymapComponent,
+ keymap_1.KeymapEditComponent,
keymap_1.KeymapHeaderComponent,
notification_1.NotificationComponent,
keys_1.SvgIconTextKeyComponent,
@@ -43752,17 +44300,19 @@
tab_1.NoneTabComponent,
capture_keystroke_1.CaptureKeystrokeButtonComponent,
icon_1.IconComponent,
- macro_1.MacroComponent,
+ macro_1.MacroEditComponent,
+ macro_1.MacroListComponent,
macro_1.MacroHeaderComponent,
- macro_1.MacroAddComponent,
macro_1.MacroItemComponent,
macro_1.MacroActionEditorComponent,
macro_1.MacroDelayTabComponent,
macro_1.MacroKeyTabComponent,
macro_1.MacroMouseTabComponent,
macro_1.MacroTextTabComponent,
+ macro_1.MacroNotFoundComponent,
add_on_1.AddOnComponent,
- settings_1.SettingsComponent
+ settings_1.SettingsComponent,
+ directives_1.CancelableDirective
],
imports: [
platform_browser_1.BrowserModule,
@@ -43782,8 +44332,6 @@
effects_1.EffectsModule.runAfterBootstrap(effects_2.MacroEffects)
],
providers: [
- data_provider_service_1.DataProviderService,
- uhk_configuration_service_1.UhkConfigurationService,
mapper_service_1.MapperService,
main_app_1.appRoutingProviders
],
@@ -43801,7 +44349,7 @@
/***/ function(module, exports, __webpack_require__) {
/**
- * @license Angular v2.1.0
+ * @license Angular v2.2.3
* (c) 2010-2016 Google, Inc. https://angular.io/
* License: MIT
*/
@@ -43811,79 +44359,13 @@
(factory((global.ng = global.ng || {}, global.ng.forms = global.ng.forms || {}),global.ng.core,global.Rx.Observable.prototype,global.Rx,global.Rx,global.Rx.Observable));
}(this, function (exports,_angular_core,rxjs_operator_toPromise,rxjs_Subject,rxjs_Observable,rxjs_observable_fromPromise) { 'use strict';
- function isPresent(obj) {
- return obj !== undefined && obj !== null;
- }
- function isBlank(obj) {
- return obj === undefined || obj === null;
- }
- function isString(obj) {
- return typeof obj === 'string';
- }
- function isStringMap(obj) {
- return typeof obj === 'object' && obj !== null;
- }
- function isArray(obj) {
- return Array.isArray(obj);
- }
- var NumberWrapper = (function () {
- function NumberWrapper() {
- }
- NumberWrapper.toFixed = function (n, fractionDigits) { return n.toFixed(fractionDigits); };
- NumberWrapper.equal = function (a, b) { return a === b; };
- NumberWrapper.parseIntAutoRadix = function (text) {
- var result = parseInt(text);
- if (isNaN(result)) {
- throw new Error('Invalid integer literal when parsing ' + text);
- }
- return result;
- };
- NumberWrapper.parseInt = function (text, radix) {
- if (radix == 10) {
- if (/^(\-|\+)?[0-9]+$/.test(text)) {
- return parseInt(text, radix);
- }
- }
- else if (radix == 16) {
- if (/^(\-|\+)?[0-9ABCDEFabcdef]+$/.test(text)) {
- return parseInt(text, radix);
- }
- }
- else {
- var result = parseInt(text, radix);
- if (!isNaN(result)) {
- return result;
- }
- }
- throw new Error('Invalid integer literal when parsing ' + text + ' in base ' + radix);
- };
- Object.defineProperty(NumberWrapper, "NaN", {
- get: function () { return NaN; },
- enumerable: true,
- configurable: true
- });
- NumberWrapper.isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };
- NumberWrapper.isNaN = function (value) { return isNaN(value); };
- NumberWrapper.isInteger = function (value) { return Number.isInteger(value); };
- return NumberWrapper;
- }());
- // JS has NaN !== NaN
- function looseIdentical(a, b) {
- return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);
- }
- function normalizeBool(obj) {
- return isBlank(obj) ? false : obj;
- }
- function isJsObject(o) {
- return o !== null && (typeof o === 'function' || typeof o === 'object');
- }
- function isPrimitive(obj) {
- return !isJsObject(obj);
- }
- function hasConstructor(value, type) {
- return value.constructor === type;
- }
-
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
/**
* Base class for control directives.
*
@@ -43900,73 +44382,67 @@
configurable: true
});
Object.defineProperty(AbstractControlDirective.prototype, "value", {
- get: function () { return isPresent(this.control) ? this.control.value : null; },
+ get: function () { return this.control ? this.control.value : null; },
enumerable: true,
configurable: true
});
Object.defineProperty(AbstractControlDirective.prototype, "valid", {
- get: function () { return isPresent(this.control) ? this.control.valid : null; },
+ get: function () { return this.control ? this.control.valid : null; },
enumerable: true,
configurable: true
});
Object.defineProperty(AbstractControlDirective.prototype, "invalid", {
- get: function () { return isPresent(this.control) ? this.control.invalid : null; },
+ get: function () { return this.control ? this.control.invalid : null; },
enumerable: true,
configurable: true
});
Object.defineProperty(AbstractControlDirective.prototype, "pending", {
- get: function () { return isPresent(this.control) ? this.control.pending : null; },
+ get: function () { return this.control ? this.control.pending : null; },
enumerable: true,
configurable: true
});
Object.defineProperty(AbstractControlDirective.prototype, "errors", {
- get: function () {
- return isPresent(this.control) ? this.control.errors : null;
- },
+ get: function () { return this.control ? this.control.errors : null; },
enumerable: true,
configurable: true
});
Object.defineProperty(AbstractControlDirective.prototype, "pristine", {
- get: function () { return isPresent(this.control) ? this.control.pristine : null; },
+ get: function () { return this.control ? this.control.pristine : null; },
enumerable: true,
configurable: true
});
Object.defineProperty(AbstractControlDirective.prototype, "dirty", {
- get: function () { return isPresent(this.control) ? this.control.dirty : null; },
+ get: function () { return this.control ? this.control.dirty : null; },
enumerable: true,
configurable: true
});
Object.defineProperty(AbstractControlDirective.prototype, "touched", {
- get: function () { return isPresent(this.control) ? this.control.touched : null; },
+ get: function () { return this.control ? this.control.touched : null; },
enumerable: true,
configurable: true
});
Object.defineProperty(AbstractControlDirective.prototype, "untouched", {
- get: function () { return isPresent(this.control) ? this.control.untouched : null; },
+ get: function () { return this.control ? this.control.untouched : null; },
enumerable: true,
configurable: true
});
Object.defineProperty(AbstractControlDirective.prototype, "disabled", {
- get: function () { return isPresent(this.control) ? this.control.disabled : null; },
+ get: function () { return this.control ? this.control.disabled : null; },
enumerable: true,
configurable: true
});
Object.defineProperty(AbstractControlDirective.prototype, "enabled", {
- get: function () { return isPresent(this.control) ? this.control.enabled : null; },
+ get: function () { return this.control ? this.control.enabled : null; },
enumerable: true,
configurable: true
});
Object.defineProperty(AbstractControlDirective.prototype, "statusChanges", {
- get: function () {
- return isPresent(this.control) ? this.control.statusChanges : null;
- },
+ get: function () { return this.control ? this.control.statusChanges : null; },
enumerable: true,
configurable: true
});
Object.defineProperty(AbstractControlDirective.prototype, "valueChanges", {
- get: function () {
- return isPresent(this.control) ? this.control.valueChanges : null;
- },
+ get: function () { return this.control ? this.control.valueChanges : null; },
enumerable: true,
configurable: true
});
@@ -43977,9 +44453,17 @@
});
AbstractControlDirective.prototype.reset = function (value) {
if (value === void 0) { value = undefined; }
- if (isPresent(this.control))
+ if (this.control)
this.control.reset(value);
};
+ AbstractControlDirective.prototype.hasError = function (errorCode, path) {
+ if (path === void 0) { path = null; }
+ return this.control ? this.control.hasError(errorCode, path) : false;
+ };
+ AbstractControlDirective.prototype.getError = function (errorCode, path) {
+ if (path === void 0) { path = null; }
+ return this.control ? this.control.getError(errorCode, path) : null;
+ };
return AbstractControlDirective;
}());
@@ -44026,83 +44510,23 @@
return ControlContainer;
}(AbstractControlDirective));
- // Safari and Internet Explorer do not support the iterable parameter to the
- // Map constructor. We work around that by manually adding the items.
- var createMapFromPairs = (function () {
- try {
- if (new Map([[1, 2]]).size === 1) {
- return function createMapFromPairs(pairs) { return new Map(pairs); };
- }
- }
- catch (e) {
- }
- return function createMapAndPopulateFromPairs(pairs) {
- var map = new Map();
- for (var i = 0; i < pairs.length; i++) {
- var pair = pairs[i];
- map.set(pair[0], pair[1]);
- }
- return map;
- };
- })();
- var _clearValues = (function () {
- if ((new Map()).keys().next) {
- return function _clearValues(m) {
- var keyIterator = m.keys();
- var k;
- while (!((k = keyIterator.next()).done)) {
- m.set(k.value, null);
- }
- };
- }
- else {
- return function _clearValuesWithForeEach(m) {
- m.forEach(function (v, k) { m.set(k, null); });
- };
- }
- })();
- // Safari doesn't implement MapIterator.next(), which is used is Traceur's polyfill of Array.from
- // TODO(mlaval): remove the work around once we have a working polyfill of Array.from
- var _arrayFromMap = (function () {
- try {
- if ((new Map()).values().next) {
- return function createArrayFromMap(m, getValues) {
- return getValues ? Array.from(m.values()) : Array.from(m.keys());
- };
- }
- }
- catch (e) {
- }
- return function createArrayFromMapWithForeach(m, getValues) {
- var res = new Array(m.size), i = 0;
- m.forEach(function (v, k) {
- res[i] = getValues ? v : k;
- i++;
- });
- return res;
- };
- })();
- var MapWrapper = (function () {
- function MapWrapper() {
- }
- MapWrapper.createFromStringMap = function (stringMap) {
- var result = new Map();
- for (var prop in stringMap) {
- result.set(prop, stringMap[prop]);
- }
- return result;
- };
- MapWrapper.toStringMap = function (m) {
- var r = {};
- m.forEach(function (v, k) { return r[k] = v; });
- return r;
- };
- MapWrapper.createFromPairs = function (pairs) { return createMapFromPairs(pairs); };
- MapWrapper.iterable = function (m) { return m; };
- MapWrapper.keys = function (m) { return _arrayFromMap(m, false); };
- MapWrapper.values = function (m) { return _arrayFromMap(m, true); };
- return MapWrapper;
- }());
+ function isPresent(obj) {
+ return obj != null;
+ }
+ function isBlank(obj) {
+ return obj == null;
+ }
+ // JS has NaN !== NaN
+ function looseIdentical(a, b) {
+ return a === b || typeof a === 'number' && typeof b === 'number' && isNaN(a) && isNaN(b);
+ }
+ function isJsObject(o) {
+ return o !== null && (typeof o === 'function' || typeof o === 'object');
+ }
+ function isPrimitive(obj) {
+ return !isJsObject(obj);
+ }
+
/**
* Wraps Javascript Objects
*/
@@ -44140,46 +44564,12 @@
var ListWrapper = (function () {
function ListWrapper() {
}
- // JS has no way to express a statically fixed size list, but dart does so we
- // keep both methods.
- ListWrapper.createFixedSize = function (size) { return new Array(size); };
- ListWrapper.createGrowableSize = function (size) { return new Array(size); };
- ListWrapper.clone = function (array) { return array.slice(0); };
- ListWrapper.forEachWithIndex = function (array, fn) {
- for (var i = 0; i < array.length; i++) {
- fn(array[i], i);
- }
- };
- ListWrapper.first = function (array) {
- if (!array)
- return null;
- return array[0];
- };
- ListWrapper.last = function (array) {
- if (!array || array.length == 0)
- return null;
- return array[array.length - 1];
- };
- ListWrapper.indexOf = function (array, value, startIndex) {
- if (startIndex === void 0) { startIndex = 0; }
- return array.indexOf(value, startIndex);
- };
- ListWrapper.contains = function (list, el) { return list.indexOf(el) !== -1; };
- ListWrapper.reversed = function (array) {
- var a = ListWrapper.clone(array);
- return a.reverse();
- };
- ListWrapper.concat = function (a, b) { return a.concat(b); };
- ListWrapper.insert = function (list, index, value) { list.splice(index, 0, value); };
- ListWrapper.removeAt = function (list, index) {
- var res = list[index];
- list.splice(index, 1);
- return res;
- };
ListWrapper.removeAll = function (list, items) {
for (var i = 0; i < items.length; ++i) {
var index = list.indexOf(items[i]);
- list.splice(index, 1);
+ if (index > -1) {
+ list.splice(index, 1);
+ }
}
};
ListWrapper.remove = function (list, el) {
@@ -44190,13 +44580,6 @@
}
return false;
};
- ListWrapper.clear = function (list) { list.length = 0; };
- ListWrapper.isEmpty = function (list) { return list.length == 0; };
- ListWrapper.fill = function (list, value, start, end) {
- if (start === void 0) { start = 0; }
- if (end === void 0) { end = null; }
- list.fill(value, start, end === null ? list.length : end);
- };
ListWrapper.equals = function (a, b) {
if (a.length != b.length)
return false;
@@ -44206,67 +44589,14 @@
}
return true;
};
- ListWrapper.slice = function (l, from, to) {
- if (from === void 0) { from = 0; }
- if (to === void 0) { to = null; }
- return l.slice(from, to === null ? undefined : to);
- };
- ListWrapper.splice = function (l, from, length) { return l.splice(from, length); };
- ListWrapper.sort = function (l, compareFn) {
- if (isPresent(compareFn)) {
- l.sort(compareFn);
- }
- else {
- l.sort();
- }
- };
- ListWrapper.toString = function (l) { return l.toString(); };
- ListWrapper.toJSON = function (l) { return JSON.stringify(l); };
- ListWrapper.maximum = function (list, predicate) {
- if (list.length == 0) {
- return null;
- }
- var solution = null;
- var maxValue = -Infinity;
- for (var index = 0; index < list.length; index++) {
- var candidate = list[index];
- if (isBlank(candidate)) {
- continue;
- }
- var candidateValue = predicate(candidate);
- if (candidateValue > maxValue) {
- solution = candidate;
- maxValue = candidateValue;
- }
- }
- return solution;
- };
ListWrapper.flatten = function (list) {
- var target = [];
- _flattenArray(list, target);
- return target;
- };
- ListWrapper.addAll = function (list, source) {
- for (var i = 0; i < source.length; i++) {
- list.push(source[i]);
- }
+ return list.reduce(function (flat, item) {
+ var flatItem = Array.isArray(item) ? ListWrapper.flatten(item) : item;
+ return flat.concat(flatItem);
+ }, []);
};
return ListWrapper;
}());
- function _flattenArray(source, target) {
- if (isPresent(source)) {
- for (var i = 0; i < source.length; i++) {
- var item = source[i];
- if (isArray(item)) {
- _flattenArray(item, target);
- }
- else {
- target.push(item);
- }
- }
- }
- return target;
- }
var isPromise = _angular_core.__core_private__.isPromise;
@@ -44347,15 +44677,25 @@
* Validator that requires a control to match a regex to its value.
*/
Validators.pattern = function (pattern) {
+ if (!pattern)
+ return Validators.nullValidator;
+ var regex;
+ var regexStr;
+ if (typeof pattern === 'string') {
+ regexStr = "^" + pattern + "$";
+ regex = new RegExp(regexStr);
+ }
+ else {
+ regexStr = pattern.toString();
+ regex = pattern;
+ }
return function (control) {
if (isEmptyInputValue(control.value)) {
return null; // don't validate empty values to allow optional controls
}
- var regex = new RegExp("^" + pattern + "$");
var value = control.value;
- return regex.test(value) ?
- null :
- { 'pattern': { 'requiredPattern': "^" + pattern + "$", 'actualValue': value } };
+ return regex.test(value) ? null :
+ { 'pattern': { 'requiredPattern': regexStr, 'actualValue': value } };
};
};
/**
@@ -44416,7 +44756,7 @@
var CHECKBOX_VALUE_ACCESSOR = {
provide: NG_VALUE_ACCESSOR,
useExisting: _angular_core.forwardRef(function () { return CheckboxControlValueAccessor; }),
- multi: true
+ multi: true,
};
/**
* The accessor for writing a value and listening to changes on a checkbox input element.
@@ -44482,7 +44822,7 @@
this.onTouched = function () { };
}
DefaultValueAccessor.prototype.writeValue = function (value) {
- var normalizedValue = isBlank(value) ? '' : value;
+ var normalizedValue = value == null ? '' : value;
this._renderer.setElementProperty(this._elementRef.nativeElement, 'value', normalizedValue);
};
DefaultValueAccessor.prototype.registerOnChange = function (fn) { this.onChange = fn; };
@@ -44516,7 +44856,7 @@
* found in the LICENSE file at https://angular.io/license
*/
function normalizeValidator(validator) {
- if (validator.validate !== undefined) {
+ if (validator.validate) {
return function (c) { return validator.validate(c); };
}
else {
@@ -44524,7 +44864,7 @@
}
}
function normalizeAsyncValidator(validator) {
- if (validator.validate !== undefined) {
+ if (validator.validate) {
return function (c) { return validator.validate(c); };
}
else {
@@ -44555,7 +44895,7 @@
}
NumberValueAccessor.prototype.writeValue = function (value) {
// The value needs to be normalized for IE9, otherwise it is set to 'null' when null
- var normalizedValue = isBlank(value) ? '' : value;
+ var normalizedValue = value == null ? '' : value;
this._renderer.setElementProperty(this._elementRef.nativeElement, 'value', normalizedValue);
};
NumberValueAccessor.prototype.registerOnChange = function (fn) {
@@ -44649,13 +44989,12 @@
this._accessors.push([control, accessor]);
};
RadioControlRegistry.prototype.remove = function (accessor) {
- var indexToRemove = -1;
- for (var i = 0; i < this._accessors.length; ++i) {
+ for (var i = this._accessors.length - 1; i >= 0; --i) {
if (this._accessors[i][1] === accessor) {
- indexToRemove = i;
+ this._accessors.splice(i, 1);
+ return;
}
}
- ListWrapper.removeAt(this._accessors, indexToRemove);
};
RadioControlRegistry.prototype.select = function (accessor) {
var _this = this;
@@ -44771,13 +45110,63 @@
return RadioControlValueAccessor;
}());
+ var RANGE_VALUE_ACCESSOR = {
+ provide: NG_VALUE_ACCESSOR,
+ useExisting: _angular_core.forwardRef(function () { return RangeValueAccessor; }),
+ multi: true
+ };
+ /**
+ * The accessor for writing a range value and listening to changes that is used by the
+ * {@link NgModel}, {@link FormControlDirective}, and {@link FormControlName} directives.
+ *
+ * ### Example
+ * ```
+ *
+ * ```
+ */
+ var RangeValueAccessor = (function () {
+ function RangeValueAccessor(_renderer, _elementRef) {
+ this._renderer = _renderer;
+ this._elementRef = _elementRef;
+ this.onChange = function (_) { };
+ this.onTouched = function () { };
+ }
+ RangeValueAccessor.prototype.writeValue = function (value) {
+ this._renderer.setElementProperty(this._elementRef.nativeElement, 'value', parseFloat(value));
+ };
+ RangeValueAccessor.prototype.registerOnChange = function (fn) {
+ this.onChange = function (value) { fn(value == '' ? null : parseFloat(value)); };
+ };
+ RangeValueAccessor.prototype.registerOnTouched = function (fn) { this.onTouched = fn; };
+ RangeValueAccessor.prototype.setDisabledState = function (isDisabled) {
+ this._renderer.setElementProperty(this._elementRef.nativeElement, 'disabled', isDisabled);
+ };
+ RangeValueAccessor.decorators = [
+ { type: _angular_core.Directive, args: [{
+ selector: 'input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]',
+ host: {
+ '(change)': 'onChange($event.target.value)',
+ '(input)': 'onChange($event.target.value)',
+ '(blur)': 'onTouched()'
+ },
+ providers: [RANGE_VALUE_ACCESSOR]
+ },] },
+ ];
+ /** @nocollapse */
+ RangeValueAccessor.ctorParameters = [
+ { type: _angular_core.Renderer, },
+ { type: _angular_core.ElementRef, },
+ ];
+ return RangeValueAccessor;
+ }());
+
var SELECT_VALUE_ACCESSOR = {
provide: NG_VALUE_ACCESSOR,
useExisting: _angular_core.forwardRef(function () { return SelectControlValueAccessor; }),
multi: true
};
function _buildValueString(id, value) {
- if (isBlank(id))
+ if (id == null)
return "" + value;
if (!isPrimitive(value))
value = 'Object';
@@ -44855,7 +45244,7 @@
SelectControlValueAccessor.prototype._registerOption = function () { return (this._idCounter++).toString(); };
/** @internal */
SelectControlValueAccessor.prototype._getOptionId = function (value) {
- for (var _i = 0, _a = MapWrapper.keys(this._optionMap); _i < _a.length; _i++) {
+ for (var _i = 0, _a = Array.from(this._optionMap.keys()); _i < _a.length; _i++) {
var id = _a[_i];
if (looseIdentical(this._optionMap.get(id), value))
return id;
@@ -44864,8 +45253,8 @@
};
/** @internal */
SelectControlValueAccessor.prototype._getOptionValue = function (valueString) {
- var value = this._optionMap.get(_extractId(valueString));
- return isPresent(value) ? value : valueString;
+ var id = _extractId(valueString);
+ return this._optionMap.has(id) ? this._optionMap.get(id) : valueString;
};
SelectControlValueAccessor.decorators = [
{ type: _angular_core.Directive, args: [{
@@ -44895,7 +45284,7 @@
this._element = _element;
this._renderer = _renderer;
this._select = _select;
- if (isPresent(this._select))
+ if (this._select)
this.id = this._select._registerOption();
}
Object.defineProperty(NgSelectOption.prototype, "ngValue", {
@@ -44912,7 +45301,7 @@
Object.defineProperty(NgSelectOption.prototype, "value", {
set: function (value) {
this._setElementValue(value);
- if (isPresent(this._select))
+ if (this._select)
this._select.writeValue(this._select.value);
},
enumerable: true,
@@ -44923,7 +45312,7 @@
this._renderer.setElementProperty(this._element.nativeElement, 'value', value);
};
NgSelectOption.prototype.ngOnDestroy = function () {
- if (isPresent(this._select)) {
+ if (this._select) {
this._select._optionMap.delete(this.id);
this._select.writeValue(this._select.value);
}
@@ -44950,9 +45339,9 @@
multi: true
};
function _buildValueString$1(id, value) {
- if (isBlank(id))
+ if (id == null)
return "" + value;
- if (isString(value))
+ if (typeof value === 'string')
value = "'" + value + "'";
if (!isPrimitive(value))
value = 'Object';
@@ -45024,7 +45413,7 @@
};
/** @internal */
SelectMultipleControlValueAccessor.prototype._getOptionId = function (value) {
- for (var _i = 0, _a = MapWrapper.keys(this._optionMap); _i < _a.length; _i++) {
+ for (var _i = 0, _a = Array.from(this._optionMap.keys()); _i < _a.length; _i++) {
var id = _a[_i];
if (looseIdentical(this._optionMap.get(id)._value, value))
return id;
@@ -45033,8 +45422,8 @@
};
/** @internal */
SelectMultipleControlValueAccessor.prototype._getOptionValue = function (valueString) {
- var opt = this._optionMap.get(_extractId$1(valueString));
- return isPresent(opt) ? opt._value : valueString;
+ var id = _extractId$1(valueString);
+ return this._optionMap.has(id) ? this._optionMap.get(id)._value : valueString;
};
SelectMultipleControlValueAccessor.decorators = [
{ type: _angular_core.Directive, args: [{
@@ -45066,7 +45455,7 @@
this._element = _element;
this._renderer = _renderer;
this._select = _select;
- if (isPresent(this._select)) {
+ if (this._select) {
this.id = this._select._registerOption(this);
}
}
@@ -45083,7 +45472,7 @@
});
Object.defineProperty(NgSelectMultipleOption.prototype, "value", {
set: function (value) {
- if (isPresent(this._select)) {
+ if (this._select) {
this._value = value;
this._setElementValue(_buildValueString$1(this.id, value));
this._select.writeValue(this._select.value);
@@ -45104,7 +45493,7 @@
this._renderer.setElementProperty(this._element.nativeElement, 'selected', selected);
};
NgSelectMultipleOption.prototype.ngOnDestroy = function () {
- if (isPresent(this._select)) {
+ if (this._select) {
this._select._optionMap.delete(this.id);
this._select.writeValue(this._select.value);
}
@@ -45126,9 +45515,7 @@
}());
function controlPath(name, parent) {
- var p = ListWrapper.clone(parent.path);
- p.push(name);
- return p;
+ return parent.path.concat([name]);
}
function setUpControl(control, dir) {
if (!control)
@@ -45169,8 +45556,16 @@
function cleanUpControl(control, dir) {
dir.valueAccessor.registerOnChange(function () { return _noControlError(dir); });
dir.valueAccessor.registerOnTouched(function () { return _noControlError(dir); });
- dir._rawValidators.forEach(function (validator) { return validator.registerOnValidatorChange(null); });
- dir._rawAsyncValidators.forEach(function (validator) { return validator.registerOnValidatorChange(null); });
+ dir._rawValidators.forEach(function (validator) {
+ if (validator.registerOnValidatorChange) {
+ validator.registerOnValidatorChange(null);
+ }
+ });
+ dir._rawAsyncValidators.forEach(function (validator) {
+ if (validator.registerOnValidatorChange) {
+ validator.registerOnValidatorChange(null);
+ }
+ });
if (control)
control._clearChangeFns();
}
@@ -45211,12 +45606,16 @@
return true;
return !looseIdentical(viewModel, change.currentValue);
}
+ var BUILTIN_ACCESSORS = [
+ CheckboxControlValueAccessor,
+ RangeValueAccessor,
+ NumberValueAccessor,
+ SelectControlValueAccessor,
+ SelectMultipleControlValueAccessor,
+ RadioControlValueAccessor,
+ ];
function isBuiltInAccessor(valueAccessor) {
- return (hasConstructor(valueAccessor, CheckboxControlValueAccessor) ||
- hasConstructor(valueAccessor, NumberValueAccessor) ||
- hasConstructor(valueAccessor, SelectControlValueAccessor) ||
- hasConstructor(valueAccessor, SelectMultipleControlValueAccessor) ||
- hasConstructor(valueAccessor, RadioControlValueAccessor));
+ return BUILTIN_ACCESSORS.some(function (a) { return valueAccessor.constructor === a; });
}
// TODO: vsavkin remove it once https://github.com/angular/angular/issues/3011 is implemented
function selectValueAccessor(dir, valueAccessors) {
@@ -45226,25 +45625,25 @@
var builtinAccessor;
var customAccessor;
valueAccessors.forEach(function (v) {
- if (hasConstructor(v, DefaultValueAccessor)) {
+ if (v.constructor === DefaultValueAccessor) {
defaultAccessor = v;
}
else if (isBuiltInAccessor(v)) {
- if (isPresent(builtinAccessor))
+ if (builtinAccessor)
_throwError(dir, 'More than one built-in value accessor matches form control with');
builtinAccessor = v;
}
else {
- if (isPresent(customAccessor))
+ if (customAccessor)
_throwError(dir, 'More than one custom value accessor matches form control with');
customAccessor = v;
}
});
- if (isPresent(customAccessor))
+ if (customAccessor)
return customAccessor;
- if (isPresent(builtinAccessor))
+ if (builtinAccessor)
return builtinAccessor;
- if (isPresent(defaultAccessor))
+ if (defaultAccessor)
return defaultAccessor;
_throwError(dir, 'No valid value accessor for form control with');
return null;
@@ -45337,44 +45736,37 @@
this._cd = cd;
}
Object.defineProperty(AbstractControlStatus.prototype, "ngClassUntouched", {
- get: function () {
- return isPresent(this._cd.control) ? this._cd.control.untouched : false;
- },
+ get: function () { return this._cd.control ? this._cd.control.untouched : false; },
enumerable: true,
configurable: true
});
Object.defineProperty(AbstractControlStatus.prototype, "ngClassTouched", {
- get: function () {
- return isPresent(this._cd.control) ? this._cd.control.touched : false;
- },
+ get: function () { return this._cd.control ? this._cd.control.touched : false; },
enumerable: true,
configurable: true
});
Object.defineProperty(AbstractControlStatus.prototype, "ngClassPristine", {
- get: function () {
- return isPresent(this._cd.control) ? this._cd.control.pristine : false;
- },
+ get: function () { return this._cd.control ? this._cd.control.pristine : false; },
enumerable: true,
configurable: true
});
Object.defineProperty(AbstractControlStatus.prototype, "ngClassDirty", {
- get: function () {
- return isPresent(this._cd.control) ? this._cd.control.dirty : false;
- },
+ get: function () { return this._cd.control ? this._cd.control.dirty : false; },
enumerable: true,
configurable: true
});
Object.defineProperty(AbstractControlStatus.prototype, "ngClassValid", {
- get: function () {
- return isPresent(this._cd.control) ? this._cd.control.valid : false;
- },
+ get: function () { return this._cd.control ? this._cd.control.valid : false; },
enumerable: true,
configurable: true
});
Object.defineProperty(AbstractControlStatus.prototype, "ngClassInvalid", {
- get: function () {
- return isPresent(this._cd.control) ? this._cd.control.invalid : false;
- },
+ get: function () { return this._cd.control ? this._cd.control.invalid : false; },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(AbstractControlStatus.prototype, "ngClassPending", {
+ get: function () { return this._cd.control ? this._cd.control.pending : false; },
enumerable: true,
configurable: true
});
@@ -45386,7 +45778,8 @@
'[class.ng-pristine]': 'ngClassPristine',
'[class.ng-dirty]': 'ngClassDirty',
'[class.ng-valid]': 'ngClassValid',
- '[class.ng-invalid]': 'ngClassInvalid'
+ '[class.ng-invalid]': 'ngClassInvalid',
+ '[class.ng-pending]': 'ngClassPending',
};
/**
* Directive automatically applied to Angular form controls that sets CSS classes
@@ -45568,12 +45961,12 @@
*/
var DISABLED = 'DISABLED';
function _find(control, path, delimiter) {
- if (isBlank(path))
+ if (path == null)
return null;
if (!(path instanceof Array)) {
path = path.split(delimiter);
}
- if (path instanceof Array && ListWrapper.isEmpty(path))
+ if (path instanceof Array && (path.length === 0))
return null;
return path.reduce(function (v, name) {
if (v instanceof FormGroup) {
@@ -45624,6 +46017,14 @@
enumerable: true,
configurable: true
});
+ Object.defineProperty(AbstractControl.prototype, "parent", {
+ /**
+ * The parent control.
+ */
+ get: function () { return this._parent; },
+ enumerable: true,
+ configurable: true
+ });
Object.defineProperty(AbstractControl.prototype, "status", {
/**
* The validation status of the control. There are four possible
@@ -45796,9 +46197,8 @@
*/
AbstractControl.prototype.markAsTouched = function (_a) {
var onlySelf = (_a === void 0 ? {} : _a).onlySelf;
- onlySelf = normalizeBool(onlySelf);
this._touched = true;
- if (isPresent(this._parent) && !onlySelf) {
+ if (this._parent && !onlySelf) {
this._parent.markAsTouched({ onlySelf: onlySelf });
}
};
@@ -45813,7 +46213,7 @@
var onlySelf = (_a === void 0 ? {} : _a).onlySelf;
this._touched = false;
this._forEachChild(function (control) { control.markAsUntouched({ onlySelf: true }); });
- if (isPresent(this._parent) && !onlySelf) {
+ if (this._parent && !onlySelf) {
this._parent._updateTouched({ onlySelf: onlySelf });
}
};
@@ -45825,9 +46225,8 @@
*/
AbstractControl.prototype.markAsDirty = function (_a) {
var onlySelf = (_a === void 0 ? {} : _a).onlySelf;
- onlySelf = normalizeBool(onlySelf);
this._pristine = false;
- if (isPresent(this._parent) && !onlySelf) {
+ if (this._parent && !onlySelf) {
this._parent.markAsDirty({ onlySelf: onlySelf });
}
};
@@ -45842,7 +46241,7 @@
var onlySelf = (_a === void 0 ? {} : _a).onlySelf;
this._pristine = true;
this._forEachChild(function (control) { control.markAsPristine({ onlySelf: true }); });
- if (isPresent(this._parent) && !onlySelf) {
+ if (this._parent && !onlySelf) {
this._parent._updatePristine({ onlySelf: onlySelf });
}
};
@@ -45851,9 +46250,8 @@
*/
AbstractControl.prototype.markAsPending = function (_a) {
var onlySelf = (_a === void 0 ? {} : _a).onlySelf;
- onlySelf = normalizeBool(onlySelf);
this._status = PENDING;
- if (isPresent(this._parent) && !onlySelf) {
+ if (this._parent && !onlySelf) {
this._parent.markAsPending({ onlySelf: onlySelf });
}
};
@@ -45865,12 +46263,11 @@
*/
AbstractControl.prototype.disable = function (_a) {
var _b = _a === void 0 ? {} : _a, onlySelf = _b.onlySelf, emitEvent = _b.emitEvent;
- emitEvent = isPresent(emitEvent) ? emitEvent : true;
this._status = DISABLED;
this._errors = null;
this._forEachChild(function (control) { control.disable({ onlySelf: true }); });
this._updateValue();
- if (emitEvent) {
+ if (emitEvent !== false) {
this._valueChanges.emit(this._value);
this._statusChanges.emit(this._status);
}
@@ -45893,7 +46290,7 @@
this._onDisabledChange.forEach(function (changeFn) { return changeFn(false); });
};
AbstractControl.prototype._updateAncestors = function (onlySelf) {
- if (isPresent(this._parent) && !onlySelf) {
+ if (this._parent && !onlySelf) {
this._parent.updateValueAndValidity();
this._parent._updatePristine();
this._parent._updateTouched();
@@ -45907,8 +46304,6 @@
*/
AbstractControl.prototype.updateValueAndValidity = function (_a) {
var _b = _a === void 0 ? {} : _a, onlySelf = _b.onlySelf, emitEvent = _b.emitEvent;
- onlySelf = normalizeBool(onlySelf);
- emitEvent = isPresent(emitEvent) ? emitEvent : true;
this._setInitialStatus();
this._updateValue();
if (this.enabled) {
@@ -45918,11 +46313,11 @@
this._runAsyncValidator(emitEvent);
}
}
- if (emitEvent) {
+ if (emitEvent !== false) {
this._valueChanges.emit(this._value);
this._statusChanges.emit(this._status);
}
- if (isPresent(this._parent) && !onlySelf) {
+ if (this._parent && !onlySelf) {
this._parent.updateValueAndValidity({ onlySelf: onlySelf, emitEvent: emitEvent });
}
};
@@ -45934,19 +46329,20 @@
};
AbstractControl.prototype._setInitialStatus = function () { this._status = this._allControlsDisabled() ? DISABLED : VALID; };
AbstractControl.prototype._runValidator = function () {
- return isPresent(this.validator) ? this.validator(this) : null;
+ return this.validator ? this.validator(this) : null;
};
AbstractControl.prototype._runAsyncValidator = function (emitEvent) {
var _this = this;
- if (isPresent(this.asyncValidator)) {
+ if (this.asyncValidator) {
this._status = PENDING;
this._cancelExistingSubscription();
var obs = toObservable(this.asyncValidator(this));
- this._asyncValidationSubscription = obs.subscribe({ next: function (res) { return _this.setErrors(res, { emitEvent: emitEvent }); } });
+ this._asyncValidationSubscription =
+ obs.subscribe({ next: function (res) { return _this.setErrors(res, { emitEvent: emitEvent }); } });
}
};
AbstractControl.prototype._cancelExistingSubscription = function () {
- if (isPresent(this._asyncValidationSubscription)) {
+ if (this._asyncValidationSubscription) {
this._asyncValidationSubscription.unsubscribe();
}
};
@@ -45975,9 +46371,8 @@
*/
AbstractControl.prototype.setErrors = function (errors, _a) {
var emitEvent = (_a === void 0 ? {} : _a).emitEvent;
- emitEvent = isPresent(emitEvent) ? emitEvent : true;
this._errors = errors;
- this._updateControlsErrors(emitEvent);
+ this._updateControlsErrors(emitEvent !== false);
};
/**
* Retrieves a child control given the control's name or path.
@@ -46001,13 +46396,8 @@
*/
AbstractControl.prototype.getError = function (errorCode, path) {
if (path === void 0) { path = null; }
- var control = isPresent(path) && !ListWrapper.isEmpty(path) ? this.get(path) : this;
- if (isPresent(control) && isPresent(control._errors)) {
- return control._errors[errorCode];
- }
- else {
- return null;
- }
+ var control = path ? this.get(path) : this;
+ return control && control._errors ? control._errors[errorCode] : null;
};
/**
* Returns true if the control with the given path has the error specified. Otherwise
@@ -46017,7 +46407,7 @@
*/
AbstractControl.prototype.hasError = function (errorCode, path) {
if (path === void 0) { path = null; }
- return isPresent(this.getError(errorCode, path));
+ return !!this.getError(errorCode, path);
};
Object.defineProperty(AbstractControl.prototype, "root", {
/**
@@ -46025,7 +46415,7 @@
*/
get: function () {
var x = this;
- while (isPresent(x._parent)) {
+ while (x._parent) {
x = x._parent;
}
return x;
@@ -46039,7 +46429,7 @@
if (emitEvent) {
this._statusChanges.emit(this._status);
}
- if (isPresent(this._parent)) {
+ if (this._parent) {
this._parent._updateControlsErrors(emitEvent);
}
};
@@ -46051,7 +46441,7 @@
AbstractControl.prototype._calculateStatus = function () {
if (this._allControlsDisabled())
return DISABLED;
- if (isPresent(this._errors))
+ if (this._errors)
return INVALID;
if (this._anyControlsHaveStatus(PENDING))
return PENDING;
@@ -46061,7 +46451,7 @@
};
/** @internal */
AbstractControl.prototype._anyControlsHaveStatus = function (status) {
- return this._anyControls(function (control) { return control.status == status; });
+ return this._anyControls(function (control) { return control.status === status; });
};
/** @internal */
AbstractControl.prototype._anyControlsDirty = function () {
@@ -46075,7 +46465,7 @@
AbstractControl.prototype._updatePristine = function (_a) {
var onlySelf = (_a === void 0 ? {} : _a).onlySelf;
this._pristine = !this._anyControlsDirty();
- if (isPresent(this._parent) && !onlySelf) {
+ if (this._parent && !onlySelf) {
this._parent._updatePristine({ onlySelf: onlySelf });
}
};
@@ -46083,14 +46473,14 @@
AbstractControl.prototype._updateTouched = function (_a) {
var onlySelf = (_a === void 0 ? {} : _a).onlySelf;
this._touched = this._anyControlsTouched();
- if (isPresent(this._parent) && !onlySelf) {
+ if (this._parent && !onlySelf) {
this._parent._updateTouched({ onlySelf: onlySelf });
}
};
/** @internal */
AbstractControl.prototype._isBoxedValue = function (formState) {
- return isStringMap(formState) && Object.keys(formState).length === 2 && 'value' in formState &&
- 'disabled' in formState;
+ return typeof formState === 'object' && formState !== null &&
+ Object.keys(formState).length === 2 && 'value' in formState && 'disabled' in formState;
};
/** @internal */
AbstractControl.prototype._registerOnCollectionChange = function (fn) { this._onCollectionChange = fn; };
@@ -46172,11 +46562,9 @@
FormControl.prototype.setValue = function (value, _a) {
var _this = this;
var _b = _a === void 0 ? {} : _a, onlySelf = _b.onlySelf, emitEvent = _b.emitEvent, emitModelToViewChange = _b.emitModelToViewChange, emitViewToModelChange = _b.emitViewToModelChange;
- emitModelToViewChange = isPresent(emitModelToViewChange) ? emitModelToViewChange : true;
- emitViewToModelChange = isPresent(emitViewToModelChange) ? emitViewToModelChange : true;
this._value = value;
- if (this._onChange.length && emitModelToViewChange) {
- this._onChange.forEach(function (changeFn) { return changeFn(_this._value, emitViewToModelChange); });
+ if (this._onChange.length && emitModelToViewChange !== false) {
+ this._onChange.forEach(function (changeFn) { return changeFn(_this._value, emitViewToModelChange !== false); });
}
this.updateValueAndValidity({ onlySelf: onlySelf, emitEvent: emitEvent });
};
@@ -46221,11 +46609,11 @@
*/
FormControl.prototype.reset = function (formState, _a) {
if (formState === void 0) { formState = null; }
- var onlySelf = (_a === void 0 ? {} : _a).onlySelf;
+ var _b = _a === void 0 ? {} : _a, onlySelf = _b.onlySelf, emitEvent = _b.emitEvent;
this._applyFormState(formState);
this.markAsPristine({ onlySelf: onlySelf });
this.markAsUntouched({ onlySelf: onlySelf });
- this.setValue(this._value, { onlySelf: onlySelf });
+ this.setValue(this._value, { onlySelf: onlySelf, emitEvent: emitEvent });
};
/**
* @internal
@@ -46413,13 +46801,13 @@
*/
FormGroup.prototype.setValue = function (value, _a) {
var _this = this;
- var onlySelf = (_a === void 0 ? {} : _a).onlySelf;
+ var _b = _a === void 0 ? {} : _a, onlySelf = _b.onlySelf, emitEvent = _b.emitEvent;
this._checkAllValuesPresent(value);
Object.keys(value).forEach(function (name) {
_this._throwIfControlMissing(name);
- _this.controls[name].setValue(value[name], { onlySelf: true });
+ _this.controls[name].setValue(value[name], { onlySelf: true, emitEvent: emitEvent });
});
- this.updateValueAndValidity({ onlySelf: onlySelf });
+ this.updateValueAndValidity({ onlySelf: onlySelf, emitEvent: emitEvent });
};
/**
* Patches the value of the {@link FormGroup}. It accepts an object with control
@@ -46444,13 +46832,13 @@
*/
FormGroup.prototype.patchValue = function (value, _a) {
var _this = this;
- var onlySelf = (_a === void 0 ? {} : _a).onlySelf;
+ var _b = _a === void 0 ? {} : _a, onlySelf = _b.onlySelf, emitEvent = _b.emitEvent;
Object.keys(value).forEach(function (name) {
if (_this.controls[name]) {
- _this.controls[name].patchValue(value[name], { onlySelf: true });
+ _this.controls[name].patchValue(value[name], { onlySelf: true, emitEvent: emitEvent });
}
});
- this.updateValueAndValidity({ onlySelf: onlySelf });
+ this.updateValueAndValidity({ onlySelf: onlySelf, emitEvent: emitEvent });
};
/**
* Resets the {@link FormGroup}. This means by default:
@@ -46467,7 +46855,7 @@
* ### Example
*
* ```ts
- * this.form.reset({first: 'name', last; 'last name'});
+ * this.form.reset({first: 'name', last: 'last name'});
*
* console.log(this.form.value); // {first: 'name', last: 'last name'}
* ```
@@ -46486,11 +46874,11 @@
*/
FormGroup.prototype.reset = function (value, _a) {
if (value === void 0) { value = {}; }
- var onlySelf = (_a === void 0 ? {} : _a).onlySelf;
+ var _b = _a === void 0 ? {} : _a, onlySelf = _b.onlySelf, emitEvent = _b.emitEvent;
this._forEachChild(function (control, name) {
- control.reset(value[name], { onlySelf: true });
+ control.reset(value[name], { onlySelf: true, emitEvent: emitEvent });
});
- this.updateValueAndValidity({ onlySelf: onlySelf });
+ this.updateValueAndValidity({ onlySelf: onlySelf, emitEvent: emitEvent });
this._updatePristine({ onlySelf: onlySelf });
this._updateTouched({ onlySelf: onlySelf });
};
@@ -46647,7 +47035,7 @@
* Insert a new {@link AbstractControl} at the given `index` in the array.
*/
FormArray.prototype.insert = function (index, control) {
- ListWrapper.insert(this.controls, index, control);
+ this.controls.splice(index, 0, control);
this._registerControl(control);
this.updateValueAndValidity();
this._onCollectionChange();
@@ -46658,7 +47046,7 @@
FormArray.prototype.removeAt = function (index) {
if (this.controls[index])
this.controls[index]._registerOnCollectionChange(function () { });
- ListWrapper.removeAt(this.controls, index);
+ this.controls.splice(index, 1);
this.updateValueAndValidity();
this._onCollectionChange();
};
@@ -46668,9 +47056,9 @@
FormArray.prototype.setControl = function (index, control) {
if (this.controls[index])
this.controls[index]._registerOnCollectionChange(function () { });
- ListWrapper.removeAt(this.controls, index);
+ this.controls.splice(index, 1);
if (control) {
- ListWrapper.insert(this.controls, index, control);
+ this.controls.splice(index, 0, control);
this._registerControl(control);
}
this.updateValueAndValidity();
@@ -46707,13 +47095,13 @@
*/
FormArray.prototype.setValue = function (value, _a) {
var _this = this;
- var onlySelf = (_a === void 0 ? {} : _a).onlySelf;
+ var _b = _a === void 0 ? {} : _a, onlySelf = _b.onlySelf, emitEvent = _b.emitEvent;
this._checkAllValuesPresent(value);
value.forEach(function (newValue, index) {
_this._throwIfControlMissing(index);
- _this.at(index).setValue(newValue, { onlySelf: true });
+ _this.at(index).setValue(newValue, { onlySelf: true, emitEvent: emitEvent });
});
- this.updateValueAndValidity({ onlySelf: onlySelf });
+ this.updateValueAndValidity({ onlySelf: onlySelf, emitEvent: emitEvent });
};
/**
* Patches the value of the {@link FormArray}. It accepts an array that matches the
@@ -46737,13 +47125,13 @@
*/
FormArray.prototype.patchValue = function (value, _a) {
var _this = this;
- var onlySelf = (_a === void 0 ? {} : _a).onlySelf;
+ var _b = _a === void 0 ? {} : _a, onlySelf = _b.onlySelf, emitEvent = _b.emitEvent;
value.forEach(function (newValue, index) {
if (_this.at(index)) {
- _this.at(index).patchValue(newValue, { onlySelf: true });
+ _this.at(index).patchValue(newValue, { onlySelf: true, emitEvent: emitEvent });
}
});
- this.updateValueAndValidity({ onlySelf: onlySelf });
+ this.updateValueAndValidity({ onlySelf: onlySelf, emitEvent: emitEvent });
};
/**
* Resets the {@link FormArray}. This means by default:
@@ -46778,11 +47166,11 @@
*/
FormArray.prototype.reset = function (value, _a) {
if (value === void 0) { value = []; }
- var onlySelf = (_a === void 0 ? {} : _a).onlySelf;
+ var _b = _a === void 0 ? {} : _a, onlySelf = _b.onlySelf, emitEvent = _b.emitEvent;
this._forEachChild(function (control, index) {
- control.reset(value[index], { onlySelf: true });
+ control.reset(value[index], { onlySelf: true, emitEvent: emitEvent });
});
- this.updateValueAndValidity({ onlySelf: onlySelf });
+ this.updateValueAndValidity({ onlySelf: onlySelf, emitEvent: emitEvent });
this._updatePristine({ onlySelf: onlySelf });
this._updateTouched({ onlySelf: onlySelf });
};
@@ -46941,7 +47329,7 @@
var _this = this;
resolvedPromise.then(function () {
var container = _this._findContainer(dir.path);
- if (isPresent(container)) {
+ if (container) {
container.removeControl(dir.name);
}
});
@@ -46960,7 +47348,7 @@
var _this = this;
resolvedPromise.then(function () {
var container = _this._findContainer(dir.path);
- if (isPresent(container)) {
+ if (container) {
container.removeControl(dir.name);
}
});
@@ -46988,7 +47376,7 @@
/** @internal */
NgForm.prototype._findContainer = function (path) {
path.pop();
- return ListWrapper.isEmpty(path) ? this.form : this.form.get(path);
+ return path.length ? this.form.get(path) : this.form;
};
NgForm.decorators = [
{ type: _angular_core.Directive, args: [{
@@ -47126,6 +47514,23 @@
provide: NgControl,
useExisting: _angular_core.forwardRef(function () { return NgModel; })
};
+ /**
+ * `ngModel` forces an additional change detection run when its inputs change:
+ * E.g.:
+ * ```
+ * {{myModel.valid}}
+ *
+ * ```
+ * I.e. `ngModel` can export itself on the element and then be used in the template.
+ * Normally, this would result in expressions before the `input` that use the exported directive
+ * to have and old value as they have been
+ * dirty checked before. As this is a very common case for `ngModel`, we added this second change
+ * detection run.
+ *
+ * Notes:
+ * - this is just one extra run no matter how many `ngModel` have been changed.
+ * - this is a general problem when using `exportAs` for directives!
+ */
var resolvedPromise$1 = Promise.resolve(null);
/**
* @whatItDoes Creates a {@link FormControl} instance from a domain model and binds it
@@ -48050,7 +48455,7 @@
Object.defineProperty(RequiredValidator.prototype, "required", {
get: function () { return this._required; },
set: function (value) {
- this._required = isPresent(value) && "" + value !== 'false';
+ this._required = value != null && value !== false && "" + value !== 'false';
if (this._onChange)
this._onChange();
},
@@ -48065,7 +48470,7 @@
{ type: _angular_core.Directive, args: [{
selector: '[required][formControlName],[required][formControl],[required][ngModel]',
providers: [REQUIRED_VALIDATOR],
- host: { '[attr.required]': 'required? "" : null' }
+ host: { '[attr.required]': 'required ? "" : null' }
},] },
];
/** @nocollapse */
@@ -48096,25 +48501,25 @@
var MinLengthValidator = (function () {
function MinLengthValidator() {
}
- MinLengthValidator.prototype._createValidator = function () {
- this._validator = Validators.minLength(parseInt(this.minlength, 10));
- };
MinLengthValidator.prototype.ngOnChanges = function (changes) {
- if (changes['minlength']) {
+ if ('minlength' in changes) {
this._createValidator();
if (this._onChange)
this._onChange();
}
};
MinLengthValidator.prototype.validate = function (c) {
- return isPresent(this.minlength) ? this._validator(c) : null;
+ return this.minlength == null ? null : this._validator(c);
};
MinLengthValidator.prototype.registerOnValidatorChange = function (fn) { this._onChange = fn; };
+ MinLengthValidator.prototype._createValidator = function () {
+ this._validator = Validators.minLength(parseInt(this.minlength, 10));
+ };
MinLengthValidator.decorators = [
{ type: _angular_core.Directive, args: [{
selector: '[minlength][formControlName],[minlength][formControl],[minlength][ngModel]',
providers: [MIN_LENGTH_VALIDATOR],
- host: { '[attr.minlength]': 'minlength? minlength : null' }
+ host: { '[attr.minlength]': 'minlength ? minlength : null' }
},] },
];
/** @nocollapse */
@@ -48146,25 +48551,25 @@
var MaxLengthValidator = (function () {
function MaxLengthValidator() {
}
- MaxLengthValidator.prototype._createValidator = function () {
- this._validator = Validators.maxLength(parseInt(this.maxlength, 10));
- };
MaxLengthValidator.prototype.ngOnChanges = function (changes) {
- if (changes['maxlength']) {
+ if ('maxlength' in changes) {
this._createValidator();
if (this._onChange)
this._onChange();
}
};
MaxLengthValidator.prototype.validate = function (c) {
- return isPresent(this.maxlength) ? this._validator(c) : null;
+ return this.maxlength != null ? this._validator(c) : null;
};
MaxLengthValidator.prototype.registerOnValidatorChange = function (fn) { this._onChange = fn; };
+ MaxLengthValidator.prototype._createValidator = function () {
+ this._validator = Validators.maxLength(parseInt(this.maxlength, 10));
+ };
MaxLengthValidator.decorators = [
{ type: _angular_core.Directive, args: [{
selector: '[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]',
providers: [MAX_LENGTH_VALIDATOR],
- host: { '[attr.maxlength]': 'maxlength? maxlength : null' }
+ host: { '[attr.maxlength]': 'maxlength ? maxlength : null' }
},] },
];
/** @nocollapse */
@@ -48195,23 +48600,21 @@
var PatternValidator = (function () {
function PatternValidator() {
}
- PatternValidator.prototype._createValidator = function () { this._validator = Validators.pattern(this.pattern); };
PatternValidator.prototype.ngOnChanges = function (changes) {
- if (changes['pattern']) {
+ if ('pattern' in changes) {
this._createValidator();
if (this._onChange)
this._onChange();
}
};
- PatternValidator.prototype.validate = function (c) {
- return isPresent(this.pattern) ? this._validator(c) : null;
- };
+ PatternValidator.prototype.validate = function (c) { return this._validator(c); };
PatternValidator.prototype.registerOnValidatorChange = function (fn) { this._onChange = fn; };
+ PatternValidator.prototype._createValidator = function () { this._validator = Validators.pattern(this.pattern); };
PatternValidator.decorators = [
{ type: _angular_core.Directive, args: [{
selector: '[pattern][formControlName],[pattern][formControl],[pattern][ngModel]',
providers: [PATTERN_VALIDATOR],
- host: { '[attr.pattern]': 'pattern? pattern : null' }
+ host: { '[attr.pattern]': 'pattern ? pattern : null' }
},] },
];
/** @nocollapse */
@@ -48297,7 +48700,7 @@
controlConfig instanceof FormArray) {
return controlConfig;
}
- else if (isArray(controlConfig)) {
+ else if (Array.isArray(controlConfig)) {
var value = controlConfig[0];
var validator = controlConfig.length > 1 ? controlConfig[1] : null;
var asyncValidator = controlConfig.length > 2 ? controlConfig[2] : null;
@@ -48317,9 +48720,9 @@
var SHARED_FORM_DIRECTIVES = [
NgSelectOption, NgSelectMultipleOption, DefaultValueAccessor, NumberValueAccessor,
- CheckboxControlValueAccessor, SelectControlValueAccessor, SelectMultipleControlValueAccessor,
- RadioControlValueAccessor, NgControlStatus, NgControlStatusGroup, RequiredValidator,
- MinLengthValidator, MaxLengthValidator, PatternValidator
+ RangeValueAccessor, CheckboxControlValueAccessor, SelectControlValueAccessor,
+ SelectMultipleControlValueAccessor, RadioControlValueAccessor, NgControlStatus,
+ NgControlStatusGroup, RequiredValidator, MinLengthValidator, MaxLengthValidator, PatternValidator
];
var TEMPLATE_DRIVEN_DIRECTIVES = [NgModel, NgModelGroup, NgForm];
var REACTIVE_DRIVEN_DIRECTIVES = [FormControlDirective, FormGroupDirective, FormControlName, FormGroupName, FormArrayName];
@@ -48330,7 +48733,10 @@
function InternalFormsSharedModule() {
}
InternalFormsSharedModule.decorators = [
- { type: _angular_core.NgModule, args: [{ declarations: SHARED_FORM_DIRECTIVES, exports: SHARED_FORM_DIRECTIVES },] },
+ { type: _angular_core.NgModule, args: [{
+ declarations: SHARED_FORM_DIRECTIVES,
+ exports: SHARED_FORM_DIRECTIVES,
+ },] },
];
/** @nocollapse */
InternalFormsSharedModule.ctorParameters = [];
@@ -48412,7 +48818,6 @@
}));
-
/***/ },
/* 335 */
/***/ function(module, exports, __webpack_require__) {
@@ -51156,10 +51561,10 @@
/***/ function(module, exports, __webpack_require__) {
(function (global, factory) {
- true ? factory(exports, __webpack_require__(313), __webpack_require__(353), __webpack_require__(357), __webpack_require__(340), __webpack_require__(361), __webpack_require__(372), __webpack_require__(360), __webpack_require__(377), __webpack_require__(359), __webpack_require__(363), __webpack_require__(315), __webpack_require__(378), __webpack_require__(370), __webpack_require__(379), __webpack_require__(380), __webpack_require__(381)) :
- typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@ngrx/store', 'rxjs/operator/map', 'rxjs/operator/merge', 'rxjs/operator/observeOn', 'rxjs/operator/publishReplay', 'rxjs/operator/scan', 'rxjs/operator/skip', 'rxjs/operator/withLatestFrom', 'rxjs/scheduler/queue', 'rxjs/Observable', 'rxjs/observable/empty', 'rxjs/operator/filter', 'rxjs/operator/share', 'rxjs/operator/switchMap', 'rxjs/operator/takeUntil'], factory) :
- (factory((global.ngrx = global.ngrx || {}, global.ngrx.storeDevtools = global.ngrx.storeDevtools || {}),global.ng.core,global.ngrx.store,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Scheduler,global.Rx,global.Rx.Observable,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype));
- }(this, (function (exports,_angular_core,_ngrx_store,rxjs_operator_map,rxjs_operator_merge,rxjs_operator_observeOn,rxjs_operator_publishReplay,rxjs_operator_scan,rxjs_operator_skip,rxjs_operator_withLatestFrom,rxjs_scheduler_queue,rxjs_Observable,rxjs_observable_empty,rxjs_operator_filter,rxjs_operator_share,rxjs_operator_switchMap,rxjs_operator_takeUntil) { 'use strict';
+ true ? factory(exports, __webpack_require__(313), __webpack_require__(353), __webpack_require__(372), __webpack_require__(357), __webpack_require__(340), __webpack_require__(361), __webpack_require__(360), __webpack_require__(373), __webpack_require__(359), __webpack_require__(363), __webpack_require__(315), __webpack_require__(374), __webpack_require__(370), __webpack_require__(375), __webpack_require__(379), __webpack_require__(380)) :
+ typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@ngrx/store', 'rxjs/ReplaySubject', 'rxjs/operator/map', 'rxjs/operator/merge', 'rxjs/operator/observeOn', 'rxjs/operator/scan', 'rxjs/operator/skip', 'rxjs/operator/withLatestFrom', 'rxjs/scheduler/queue', 'rxjs/Observable', 'rxjs/observable/empty', 'rxjs/operator/filter', 'rxjs/operator/share', 'rxjs/operator/switchMap', 'rxjs/operator/takeUntil'], factory) :
+ (factory((global.ngrx = global.ngrx || {}, global.ngrx.storeDevtools = global.ngrx.storeDevtools || {}),global.ng.core,global.ngrx.store,global.Rx,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Scheduler,global.Rx,global.Rx.Observable,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype));
+ }(this, (function (exports,_angular_core,_ngrx_store,rxjs_ReplaySubject,rxjs_operator_map,rxjs_operator_merge,rxjs_operator_observeOn,rxjs_operator_scan,rxjs_operator_skip,rxjs_operator_withLatestFrom,rxjs_scheduler_queue,rxjs_Observable,rxjs_observable_empty,rxjs_operator_filter,rxjs_operator_share,rxjs_operator_switchMap,rxjs_operator_takeUntil) { 'use strict';
var ActionTypes = {
PERFORM_ACTION: 'PERFORM_ACTION',
@@ -51261,7 +51666,7 @@
return new rxjs_Observable.Observable(function (subscriber) {
var connection = _this.devtoolsExtension.connect({ instanceId: _this.instanceId });
connection.subscribe(function (change) { return subscriber.next(change); });
- return connection.unsubscribe();
+ return connection.unsubscribe;
});
};
DevtoolsExtension.prototype.createActionStreams = function () {
@@ -51569,28 +51974,30 @@
var liftReducer = liftReducerWith(initialState, liftedInitialState, config.monitor, {
maxAge: config.maxAge
});
- var liftedActions$ = applyOperators(actions$, [
+ var liftedAction$ = applyOperators(actions$, [
[rxjs_operator_skip.skip, 1],
[rxjs_operator_merge.merge, extension.actions$],
[rxjs_operator_map.map, liftAction],
[rxjs_operator_merge.merge, dispatcher, extension.liftedActions$],
[rxjs_operator_observeOn.observeOn, rxjs_scheduler_queue.queue]
]);
- var liftedReducers$ = rxjs_operator_map.map.call(reducers$, liftReducer);
- var liftedState = applyOperators(liftedActions$, [
- [rxjs_operator_withLatestFrom.withLatestFrom, liftedReducers$],
+ var liftedReducer$ = rxjs_operator_map.map.call(reducers$, liftReducer);
+ var liftedStateSubject = new rxjs_ReplaySubject.ReplaySubject(1);
+ var liftedStateSubscription = applyOperators(liftedAction$, [
+ [rxjs_operator_withLatestFrom.withLatestFrom, liftedReducer$],
[rxjs_operator_scan.scan, function (liftedState, _a) {
var action = _a[0], reducer = _a[1];
var nextState = reducer(liftedState, action);
extension.notify(action, nextState);
return nextState;
- }, liftedInitialState],
- [rxjs_operator_publishReplay.publishReplay, 1]
- ]).refCount();
- var state = rxjs_operator_map.map.call(liftedState, unliftState);
+ }, liftedInitialState]
+ ]).subscribe(liftedStateSubject);
+ var liftedState$ = liftedStateSubject.asObservable();
+ var state$ = rxjs_operator_map.map.call(liftedState$, unliftState);
+ this.stateSubscription = liftedStateSubscription;
this.dispatcher = dispatcher;
- this.liftedState = liftedState;
- this.state = state;
+ this.liftedState = liftedState$;
+ this.state = state$;
}
StoreDevtools.prototype.dispatch = function (action) {
this.dispatcher.dispatch(action);
@@ -51640,11 +52047,17 @@
}());
function _createReduxDevtoolsExtension() {
- var extensionKey = 'devToolsExtension';
- if (typeof window === 'object' && typeof window[extensionKey] !== 'undefined') {
+ var legacyExtensionKey = 'devToolsExtension';
+ var extensionKey = '__REDUX_DEVTOOLS_EXTENSION__';
+ if (typeof window === 'object' && typeof window[legacyExtensionKey] !== 'undefined') {
+ return window[legacyExtensionKey];
+ }
+ else if (typeof window === 'object' && typeof window[extensionKey] !== 'undefined') {
return window[extensionKey];
}
- return null;
+ else {
+ return null;
+ }
}
function _createState(devtools) {
return devtools.state;
@@ -51762,29 +52175,6 @@
/***/ },
/* 372 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var ReplaySubject_1 = __webpack_require__(373);
- var multicast_1 = __webpack_require__(374);
- /**
- * @param bufferSize
- * @param windowTime
- * @param scheduler
- * @return {ConnectableObservable}
- * @method publishReplay
- * @owner Observable
- */
- function publishReplay(bufferSize, windowTime, scheduler) {
- if (bufferSize === void 0) { bufferSize = Number.POSITIVE_INFINITY; }
- if (windowTime === void 0) { windowTime = Number.POSITIVE_INFINITY; }
- return multicast_1.multicast.call(this, new ReplaySubject_1.ReplaySubject(bufferSize, windowTime, scheduler));
- }
- exports.publishReplay = publishReplay;
- //# sourceMappingURL=publishReplay.js.map
-
-/***/ },
-/* 373 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -51867,13 +52257,107 @@
}());
//# sourceMappingURL=ReplaySubject.js.map
+/***/ },
+/* 373 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __extends = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ var Subscriber_1 = __webpack_require__(318);
+ /**
+ * Returns an Observable that skips `n` items emitted by an Observable.
+ *
+ *
+ *
+ * @param {Number} the `n` of times, items emitted by source Observable should be skipped.
+ * @return {Observable} an Observable that skips values emitted by the source Observable.
+ *
+ * @method skip
+ * @owner Observable
+ */
+ function skip(total) {
+ return this.lift(new SkipOperator(total));
+ }
+ exports.skip = skip;
+ var SkipOperator = (function () {
+ function SkipOperator(total) {
+ this.total = total;
+ }
+ SkipOperator.prototype.call = function (subscriber, source) {
+ return source._subscribe(new SkipSubscriber(subscriber, this.total));
+ };
+ return SkipOperator;
+ }());
+ /**
+ * We need this JSDoc comment for affecting ESDoc.
+ * @ignore
+ * @extends {Ignored}
+ */
+ var SkipSubscriber = (function (_super) {
+ __extends(SkipSubscriber, _super);
+ function SkipSubscriber(destination, total) {
+ _super.call(this, destination);
+ this.total = total;
+ this.count = 0;
+ }
+ SkipSubscriber.prototype._next = function (x) {
+ if (++this.count > this.total) {
+ this.destination.next(x);
+ }
+ };
+ return SkipSubscriber;
+ }(Subscriber_1.Subscriber));
+ //# sourceMappingURL=skip.js.map
+
/***/ },
/* 374 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
- var MulticastObservable_1 = __webpack_require__(375);
- var ConnectableObservable_1 = __webpack_require__(376);
+ var EmptyObservable_1 = __webpack_require__(343);
+ exports.empty = EmptyObservable_1.EmptyObservable.create;
+ //# sourceMappingURL=empty.js.map
+
+/***/ },
+/* 375 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var multicast_1 = __webpack_require__(376);
+ var Subject_1 = __webpack_require__(314);
+ function shareSubjectFactory() {
+ return new Subject_1.Subject();
+ }
+ /**
+ * Returns a new Observable that multicasts (shares) the original Observable. As long as there is at least one
+ * Subscriber this Observable will be subscribed and emitting data. When all subscribers have unsubscribed it will
+ * unsubscribe from the source Observable. Because the Observable is multicasting it makes the stream `hot`.
+ * This is an alias for .publish().refCount().
+ *
+ *
+ *
+ * @return {Observable} an Observable that upon connection causes the source Observable to emit items to its Observers
+ * @method share
+ * @owner Observable
+ */
+ function share() {
+ return multicast_1.multicast.call(this, shareSubjectFactory).refCount();
+ }
+ exports.share = share;
+ ;
+ //# sourceMappingURL=share.js.map
+
+/***/ },
+/* 376 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var MulticastObservable_1 = __webpack_require__(377);
+ var ConnectableObservable_1 = __webpack_require__(378);
/**
* Returns an Observable that emits the results of invoking a specified selector on items
* emitted by a ConnectableObservable that shares a single subscription to the underlying stream.
@@ -51911,7 +52395,7 @@
//# sourceMappingURL=multicast.js.map
/***/ },
-/* 375 */
+/* 377 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -51921,7 +52405,7 @@
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Observable_1 = __webpack_require__(315);
- var ConnectableObservable_1 = __webpack_require__(376);
+ var ConnectableObservable_1 = __webpack_require__(378);
var MulticastObservable = (function (_super) {
__extends(MulticastObservable, _super);
function MulticastObservable(source, subjectFactory, selector) {
@@ -51943,7 +52427,7 @@
//# sourceMappingURL=MulticastObservable.js.map
/***/ },
-/* 376 */
+/* 378 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -52101,102 +52585,8 @@
}(Subscriber_1.Subscriber));
//# sourceMappingURL=ConnectableObservable.js.map
-/***/ },
-/* 377 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __extends = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- var Subscriber_1 = __webpack_require__(318);
- /**
- * Returns an Observable that skips `n` items emitted by an Observable.
- *
- *
- *
- * @param {Number} the `n` of times, items emitted by source Observable should be skipped.
- * @return {Observable} an Observable that skips values emitted by the source Observable.
- *
- * @method skip
- * @owner Observable
- */
- function skip(total) {
- return this.lift(new SkipOperator(total));
- }
- exports.skip = skip;
- var SkipOperator = (function () {
- function SkipOperator(total) {
- this.total = total;
- }
- SkipOperator.prototype.call = function (subscriber, source) {
- return source._subscribe(new SkipSubscriber(subscriber, this.total));
- };
- return SkipOperator;
- }());
- /**
- * We need this JSDoc comment for affecting ESDoc.
- * @ignore
- * @extends {Ignored}
- */
- var SkipSubscriber = (function (_super) {
- __extends(SkipSubscriber, _super);
- function SkipSubscriber(destination, total) {
- _super.call(this, destination);
- this.total = total;
- this.count = 0;
- }
- SkipSubscriber.prototype._next = function (x) {
- if (++this.count > this.total) {
- this.destination.next(x);
- }
- };
- return SkipSubscriber;
- }(Subscriber_1.Subscriber));
- //# sourceMappingURL=skip.js.map
-
-/***/ },
-/* 378 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var EmptyObservable_1 = __webpack_require__(343);
- exports.empty = EmptyObservable_1.EmptyObservable.create;
- //# sourceMappingURL=empty.js.map
-
/***/ },
/* 379 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var multicast_1 = __webpack_require__(374);
- var Subject_1 = __webpack_require__(314);
- function shareSubjectFactory() {
- return new Subject_1.Subject();
- }
- /**
- * Returns a new Observable that multicasts (shares) the original Observable. As long as there is at least one
- * Subscriber this Observable will be subscribed and emitting data. When all subscribers have unsubscribed it will
- * unsubscribe from the source Observable. Because the Observable is multicasting it makes the stream `hot`.
- * This is an alias for .publish().refCount().
- *
- *
- *
- * @return {Observable} an Observable that upon connection causes the source Observable to emit items to its Observers
- * @method share
- * @owner Observable
- */
- function share() {
- return multicast_1.multicast.call(this, shareSubjectFactory).refCount();
- }
- exports.share = share;
- ;
- //# sourceMappingURL=share.js.map
-
-/***/ },
-/* 380 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -52340,7 +52730,7 @@
//# sourceMappingURL=switchMap.js.map
/***/ },
-/* 381 */
+/* 380 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -52420,11 +52810,11 @@
//# sourceMappingURL=takeUntil.js.map
/***/ },
-/* 382 */
+/* 381 */
/***/ function(module, exports, __webpack_require__) {
(function (global, factory) {
- true ? factory(exports, __webpack_require__(313), __webpack_require__(332), __webpack_require__(370), __webpack_require__(357), __webpack_require__(383), __webpack_require__(371), __webpack_require__(339), __webpack_require__(353), __webpack_require__(384)) :
+ true ? factory(exports, __webpack_require__(313), __webpack_require__(332), __webpack_require__(370), __webpack_require__(357), __webpack_require__(382), __webpack_require__(371), __webpack_require__(339), __webpack_require__(353), __webpack_require__(383)) :
typeof define === 'function' && define.amd ? define(['exports', '@angular/core', '@angular/common', 'rxjs/operator/filter', 'rxjs/operator/map', '@ngrx/core/operator/select', '@ngrx/store-devtools', 'rxjs/observable/merge', '@ngrx/store', '@ngrx/core/compose'], factory) :
(factory((global.ngrx = global.ngrx || {}, global.ngrx.storeLogMonitor = global.ngrx.storeLogMonitor || {}),global.ng.core,global.ng.common,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.ngrx.core,global.ngrx.storeDevtools,global.Rx.Observable,global.ngrx.store,global.ngrx.core));
}(this, (function (exports,_angular_core,_angular_common,rxjs_operator_filter,rxjs_operator_map,_ngrx_core_operator_select,_ngrx_storeDevtools,rxjs_observable_merge,_ngrx_store,_ngrx_core_compose) { 'use strict';
@@ -53132,7 +53522,7 @@
})));
/***/ },
-/* 383 */
+/* 382 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -53161,7 +53551,7 @@
/***/ },
-/* 384 */
+/* 383 */
/***/ function(module, exports) {
"use strict";
@@ -53182,7 +53572,7 @@
/***/ },
-/* 385 */
+/* 384 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -53199,10 +53589,10 @@
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
var core_1 = __webpack_require__(313);
- var dragula_directive_1 = __webpack_require__(386);
- var dragula_provider_1 = __webpack_require__(387);
- __export(__webpack_require__(387));
+ var dragula_directive_1 = __webpack_require__(385);
+ var dragula_provider_1 = __webpack_require__(386);
__export(__webpack_require__(386));
+ __export(__webpack_require__(385));
var DragulaModule = (function () {
function DragulaModule() {
}
@@ -53220,7 +53610,7 @@
/***/ },
-/* 386 */
+/* 385 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -53234,8 +53624,8 @@
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var core_1 = __webpack_require__(313);
- var dragula_provider_1 = __webpack_require__(387);
- var dragula = __webpack_require__(388);
+ var dragula_provider_1 = __webpack_require__(386);
+ var dragula = __webpack_require__(387);
var DragulaDirective = (function () {
function DragulaDirective(el, dragulaService) {
this.el = el;
@@ -53304,7 +53694,7 @@
/***/ },
-/* 387 */
+/* 386 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -53317,7 +53707,7 @@
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
- var dragula = __webpack_require__(388);
+ var dragula = __webpack_require__(387);
var core_1 = __webpack_require__(313);
var DragulaService = (function () {
function DragulaService() {
@@ -53451,14 +53841,14 @@
/***/ },
-/* 388 */
+/* 387 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(global) {'use strict';
- var emitter = __webpack_require__(389);
- var crossvent = __webpack_require__(394);
- var classes = __webpack_require__(397);
+ var emitter = __webpack_require__(388);
+ var crossvent = __webpack_require__(393);
+ var classes = __webpack_require__(396);
var doc = document;
var documentElement = doc.documentElement;
@@ -54066,13 +54456,13 @@
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
/***/ },
-/* 389 */
+/* 388 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
- var atoa = __webpack_require__(390);
- var debounce = __webpack_require__(391);
+ var atoa = __webpack_require__(389);
+ var debounce = __webpack_require__(390);
module.exports = function emitter (thing, options) {
var opts = options || {};
@@ -54126,19 +54516,19 @@
/***/ },
-/* 390 */
+/* 389 */
/***/ function(module, exports) {
module.exports = function atoa (a, n) { return Array.prototype.slice.call(a, n); }
/***/ },
-/* 391 */
+/* 390 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
- var ticky = __webpack_require__(392);
+ var ticky = __webpack_require__(391);
module.exports = function debounce (fn, args, ctx) {
if (!fn) { return; }
@@ -54149,7 +54539,7 @@
/***/ },
-/* 392 */
+/* 391 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(setImmediate) {var si = typeof setImmediate === 'function', tick;
@@ -54160,10 +54550,10 @@
}
module.exports = tick;
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(393).setImmediate))
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(392).setImmediate))
/***/ },
-/* 393 */
+/* 392 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(setImmediate, clearImmediate) {var nextTick = __webpack_require__(309).nextTick;
@@ -54242,16 +54632,16 @@
exports.clearImmediate = typeof clearImmediate === "function" ? clearImmediate : function(id) {
delete immediateIds[id];
};
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(393).setImmediate, __webpack_require__(393).clearImmediate))
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(392).setImmediate, __webpack_require__(392).clearImmediate))
/***/ },
-/* 394 */
+/* 393 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(global) {'use strict';
- var customEvent = __webpack_require__(395);
- var eventmap = __webpack_require__(396);
+ var customEvent = __webpack_require__(394);
+ var eventmap = __webpack_require__(395);
var doc = global.document;
var addEvent = addEventEasy;
var removeEvent = removeEventEasy;
@@ -54353,7 +54743,7 @@
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
/***/ },
-/* 395 */
+/* 394 */
/***/ function(module, exports) {
/* WEBPACK VAR INJECTION */(function(global) {
@@ -54408,7 +54798,7 @@
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
/***/ },
-/* 396 */
+/* 395 */
/***/ function(module, exports) {
/* WEBPACK VAR INJECTION */(function(global) {'use strict';
@@ -54428,7 +54818,7 @@
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
/***/ },
-/* 397 */
+/* 396 */
/***/ function(module, exports) {
'use strict';
@@ -54467,7 +54857,7 @@
/***/ },
-/* 398 */
+/* 397 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -54481,27 +54871,27 @@
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var core_1 = __webpack_require__(313);
- var select2_component_1 = __webpack_require__(399);
- var select2_component_2 = __webpack_require__(399);
+ var select2_component_1 = __webpack_require__(398);
+ var select2_component_2 = __webpack_require__(398);
exports.Select2Component = select2_component_2.Select2Component;
var Select2Module = (function () {
function Select2Module() {
}
- Select2Module = __decorate([
- core_1.NgModule({
- exports: [select2_component_1.Select2Component],
- declarations: [select2_component_1.Select2Component],
- providers: [select2_component_1.Select2Component]
- }),
- __metadata('design:paramtypes', [])
- ], Select2Module);
return Select2Module;
}());
+ Select2Module = __decorate([
+ core_1.NgModule({
+ exports: [select2_component_1.Select2Component],
+ declarations: [select2_component_1.Select2Component],
+ providers: [select2_component_1.Select2Component]
+ }),
+ __metadata("design:paramtypes", [])
+ ], Select2Module);
exports.Select2Module = Select2Module;
-
+ //# sourceMappingURL=ng2-select2.js.map
/***/ },
-/* 399 */
+/* 398 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -54520,94 +54910,110 @@
this.valueChanged = new core_1.EventEmitter();
this.blur = new core_1.EventEmitter();
}
- Select2Component.prototype.ngAfterViewInit = function () {
- if (this.data) {
- var that_1 = this;
- this.element = jQuery(this.selector.nativeElement);
- this.element.select2({
- data: this.data,
- templateResult: this.templateResult,
- templateSelection: this.templateSelection,
- theme: (this.theme) ? this.theme : 'default',
- width: (this.width) ? this.width : 'resolve'
- });
- if (typeof this.value !== 'undefined') {
- this.element.val(that_1.value).trigger('change');
- }
- this.element.on('select2:select', function (e) {
- that_1.valueChanged.emit({
- value: that_1.selector.nativeElement.value
- });
- });
+ Select2Component.prototype.ngOnChanges = function (changes) {
+ if (this.element && changes['data'] && changes['data'].previousValue !== changes['data'].currentValue) {
+ this.initPlugin();
+ this.element.trigger("change");
}
+ if (this.element && changes['value'] && changes['value'].previousValue !== changes['value'].currentValue) {
+ this.element.val(changes['value'].currentValue);
+ this.element.trigger('change');
+ }
+ };
+ Select2Component.prototype.ngAfterViewInit = function () {
+ var that = this;
+ this.element = jQuery(this.selector.nativeElement);
+ this.initPlugin();
+ if (typeof this.value !== 'undefined') {
+ this.element.val(that.value).trigger('change');
+ }
+ this.element.on('select2:select', function () {
+ that.valueChanged.emit({
+ value: that.selector.nativeElement.value
+ });
+ });
};
Select2Component.prototype.ngOnDestroy = function () {
this.element.off("select2:select");
};
- __decorate([
- core_1.ViewChild('selector'),
- __metadata('design:type', core_1.ElementRef)
- ], Select2Component.prototype, "selector", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', Array)
- ], Select2Component.prototype, "data", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', Object)
- ], Select2Component.prototype, "value", void 0);
- __decorate([
- core_1.Output(),
- __metadata('design:type', Object)
- ], Select2Component.prototype, "valueChanged", void 0);
- __decorate([
- core_1.Output(),
- __metadata('design:type', Object)
- ], Select2Component.prototype, "blur", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', String)
- ], Select2Component.prototype, "width", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', String)
- ], Select2Component.prototype, "theme", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', Function)
- ], Select2Component.prototype, "templateSelection", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', Function)
- ], Select2Component.prototype, "templateResult", void 0);
- Select2Component = __decorate([
- core_1.Component({
- selector: 'select2',
- template: ' ',
- styles: ["\n .select2-container {\n box-sizing: border-box;\n display: inline-block;\n margin: 0;\n position: relative;\n vertical-align: middle;\n min-width: 100px; }\n.select2-container .select2-selection--single {\n box-sizing: border-box;\n cursor: pointer;\n display: block;\n height: 28px;\n user-select: none;\n -webkit-user-select: none; }\n.select2-container .select2-selection--single .select2-selection__rendered {\n display: block;\n padding-left: 8px;\n padding-right: 20px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap; }\n.select2-container .select2-selection--single .select2-selection__clear {\n position: relative; }\n.select2-container[dir=\"rtl\"] .select2-selection--single .select2-selection__rendered {\n padding-right: 8px;\n padding-left: 20px; }\n.select2-container .select2-selection--multiple {\n box-sizing: border-box;\n cursor: pointer;\n display: block;\n min-height: 32px;\n user-select: none;\n -webkit-user-select: none; }\n.select2-container .select2-selection--multiple .select2-selection__rendered {\n display: inline-block;\n overflow: hidden;\n padding-left: 8px;\n text-overflow: ellipsis;\n white-space: nowrap; }\n.select2-container .select2-search--inline {\n float: left; }\n.select2-container .select2-search--inline .select2-search__field {\n box-sizing: border-box;\n border: none;\n font-size: 100%;\n margin-top: 5px;\n padding: 0; }\n.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {\n -webkit-appearance: none; }\n\n.select2-dropdown {\n background-color: white;\n border: 1px solid #aaa;\n border-radius: 4px;\n box-sizing: border-box;\n display: block;\n position: absolute;\n left: -100000px;\n width: 100%;\n z-index: 1051; }\n\n.select2-results {\n display: block; }\n\n.select2-results__options {\n list-style: none;\n margin: 0;\n padding: 0; }\n\n.select2-results__option {\n padding: 6px;\n user-select: none;\n -webkit-user-select: none; }\n.select2-results__option[aria-selected] {\n cursor: pointer; }\n\n.select2-container--open .select2-dropdown {\n left: 0; }\n\n.select2-container--open .select2-dropdown--above {\n border-bottom: none;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0; }\n\n.select2-container--open .select2-dropdown--below {\n border-top: none;\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n\n.select2-search--dropdown {\n display: block;\n padding: 4px; }\n.select2-search--dropdown .select2-search__field {\n padding: 4px;\n width: 100%;\n box-sizing: border-box; }\n.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {\n -webkit-appearance: none; }\n.select2-search--dropdown.select2-search--hide {\n display: none; }\n\n.select2-close-mask {\n border: 0;\n margin: 0;\n padding: 0;\n display: block;\n position: fixed;\n left: 0;\n top: 0;\n min-height: 100%;\n min-width: 100%;\n height: auto;\n width: auto;\n opacity: 0;\n z-index: 99;\n background-color: #fff;\n filter: alpha(opacity=0); }\n\n.select2-hidden-accessible {\n border: 0 !important;\n clip: rect(0 0 0 0) !important;\n height: 1px !important;\n margin: -1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important; }\n\n.select2-container--default .select2-selection--single {\n background-color: #fff;\n border: 1px solid #aaa;\n border-radius: 4px; }\n.select2-container--default .select2-selection--single .select2-selection__rendered {\n color: #444;\n line-height: 28px; }\n.select2-container--default .select2-selection--single .select2-selection__clear {\n cursor: pointer;\n float: right;\n font-weight: bold; }\n.select2-container--default .select2-selection--single .select2-selection__placeholder {\n color: #999; }\n.select2-container--default .select2-selection--single .select2-selection__arrow {\n height: 26px;\n position: absolute;\n top: 1px;\n right: 1px;\n width: 20px; }\n.select2-container--default .select2-selection--single .select2-selection__arrow b {\n border-color: #888 transparent transparent transparent;\n border-style: solid;\n border-width: 5px 4px 0 4px;\n height: 0;\n left: 50%;\n margin-left: -4px;\n margin-top: -2px;\n position: absolute;\n top: 50%;\n width: 0; }\n\n.select2-container--default[dir=\"rtl\"] .select2-selection--single .select2-selection__clear {\n float: left; }\n\n.select2-container--default[dir=\"rtl\"] .select2-selection--single .select2-selection__arrow {\n left: 1px;\n right: auto; }\n\n.select2-container--default.select2-container--disabled .select2-selection--single {\n background-color: #eee;\n cursor: default; }\n.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {\n display: none; }\n\n.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {\n border-color: transparent transparent #888 transparent;\n border-width: 0 4px 5px 4px; }\n\n.select2-container--default .select2-selection--multiple {\n background-color: white;\n border: 1px solid #aaa;\n border-radius: 4px;\n cursor: text; }\n.select2-container--default .select2-selection--multiple .select2-selection__rendered {\n box-sizing: border-box;\n list-style: none;\n margin: 0;\n padding: 0 5px;\n width: 100%; }\n.select2-container--default .select2-selection--multiple .select2-selection__rendered li {\n list-style: none; }\n.select2-container--default .select2-selection--multiple .select2-selection__placeholder {\n color: #999;\n margin-top: 5px;\n float: left; }\n.select2-container--default .select2-selection--multiple .select2-selection__clear {\n cursor: pointer;\n float: right;\n font-weight: bold;\n margin-top: 5px;\n margin-right: 10px; }\n.select2-container--default .select2-selection--multiple .select2-selection__choice {\n background-color: #e4e4e4;\n border: 1px solid #aaa;\n border-radius: 4px;\n cursor: default;\n float: left;\n margin-right: 5px;\n margin-top: 5px;\n padding: 0 5px; }\n.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {\n color: #999;\n cursor: pointer;\n display: inline-block;\n font-weight: bold;\n margin-right: 2px; }\n.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {\n color: #333; }\n\n.select2-container--default[dir=\"rtl\"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir=\"rtl\"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir=\"rtl\"] .select2-selection--multiple .select2-search--inline {\n float: right; }\n\n.select2-container--default[dir=\"rtl\"] .select2-selection--multiple .select2-selection__choice {\n margin-left: 5px;\n margin-right: auto; }\n\n.select2-container--default[dir=\"rtl\"] .select2-selection--multiple .select2-selection__choice__remove {\n margin-left: 2px;\n margin-right: auto; }\n\n.select2-container--default.select2-container--focus .select2-selection--multiple {\n border: solid black 1px;\n outline: 0; }\n\n.select2-container--default.select2-container--disabled .select2-selection--multiple {\n background-color: #eee;\n cursor: default; }\n\n.select2-container--default.select2-container--disabled .select2-selection__choice__remove {\n display: none; }\n\n.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n\n.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0; }\n\n.select2-container--default .select2-search--dropdown .select2-search__field {\n border: 1px solid #aaa; }\n\n.select2-container--default .select2-search--inline .select2-search__field {\n background: transparent;\n border: none;\n outline: 0;\n box-shadow: none;\n -webkit-appearance: textfield; }\n\n.select2-container--default .select2-results > .select2-results__options {\n max-height: 200px;\n overflow-y: auto; }\n\n.select2-container--default .select2-results__option[role=group] {\n padding: 0; }\n\n.select2-container--default .select2-results__option[aria-disabled=true] {\n color: #999; }\n\n.select2-container--default .select2-results__option[aria-selected=true] {\n background-color: #ddd; }\n\n.select2-container--default .select2-results__option .select2-results__option {\n padding-left: 1em; }\n.select2-container--default .select2-results__option .select2-results__option .select2-results__group {\n padding-left: 0; }\n.select2-container--default .select2-results__option .select2-results__option .select2-results__option {\n margin-left: -1em;\n padding-left: 2em; }\n.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {\n margin-left: -2em;\n padding-left: 3em; }\n.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {\n margin-left: -3em;\n padding-left: 4em; }\n.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {\n margin-left: -4em;\n padding-left: 5em; }\n.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {\n margin-left: -5em;\n padding-left: 6em; }\n\n.select2-container--default .select2-results__option--highlighted[aria-selected] {\n background-color: #5897fb;\n color: white; }\n\n.select2-container--default .select2-results__group {\n cursor: default;\n display: block;\n padding: 6px; }\n\n.select2-container--classic .select2-selection--single {\n background-color: #f7f7f7;\n border: 1px solid #aaa;\n border-radius: 4px;\n outline: 0;\n background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);\n background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);\n background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }\n.select2-container--classic .select2-selection--single:focus {\n border: 1px solid #5897fb; }\n.select2-container--classic .select2-selection--single .select2-selection__rendered {\n color: #444;\n line-height: 28px; }\n.select2-container--classic .select2-selection--single .select2-selection__clear {\n cursor: pointer;\n float: right;\n font-weight: bold;\n margin-right: 10px; }\n.select2-container--classic .select2-selection--single .select2-selection__placeholder {\n color: #999; }\n.select2-container--classic .select2-selection--single .select2-selection__arrow {\n background-color: #ddd;\n border: none;\n border-left: 1px solid #aaa;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n height: 26px;\n position: absolute;\n top: 1px;\n right: 1px;\n width: 20px;\n background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);\n background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);\n background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }\n.select2-container--classic .select2-selection--single .select2-selection__arrow b {\n border-color: #888 transparent transparent transparent;\n border-style: solid;\n border-width: 5px 4px 0 4px;\n height: 0;\n left: 50%;\n margin-left: -4px;\n margin-top: -2px;\n position: absolute;\n top: 50%;\n width: 0; }\n\n.select2-container--classic[dir=\"rtl\"] .select2-selection--single .select2-selection__clear {\n float: left; }\n\n.select2-container--classic[dir=\"rtl\"] .select2-selection--single .select2-selection__arrow {\n border: none;\n border-right: 1px solid #aaa;\n border-radius: 0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n left: 1px;\n right: auto; }\n\n.select2-container--classic.select2-container--open .select2-selection--single {\n border: 1px solid #5897fb; }\n.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {\n background: transparent;\n border: none; }\n.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {\n border-color: transparent transparent #888 transparent;\n border-width: 0 4px 5px 4px; }\n\n.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {\n border-top: none;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);\n background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);\n background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }\n\n.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {\n border-bottom: none;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);\n background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);\n background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }\n\n.select2-container--classic .select2-selection--multiple {\n background-color: white;\n border: 1px solid #aaa;\n border-radius: 4px;\n cursor: text;\n outline: 0; }\n.select2-container--classic .select2-selection--multiple:focus {\n border: 1px solid #5897fb; }\n.select2-container--classic .select2-selection--multiple .select2-selection__rendered {\n list-style: none;\n margin: 0;\n padding: 0 5px; }\n.select2-container--classic .select2-selection--multiple .select2-selection__clear {\n display: none; }\n.select2-container--classic .select2-selection--multiple .select2-selection__choice {\n background-color: #e4e4e4;\n border: 1px solid #aaa;\n border-radius: 4px;\n cursor: default;\n float: left;\n margin-right: 5px;\n margin-top: 5px;\n padding: 0 5px; }\n.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {\n color: #888;\n cursor: pointer;\n display: inline-block;\n font-weight: bold;\n margin-right: 2px; }\n.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {\n color: #555; }\n\n.select2-container--classic[dir=\"rtl\"] .select2-selection--multiple .select2-selection__choice {\n float: right; }\n\n.select2-container--classic[dir=\"rtl\"] .select2-selection--multiple .select2-selection__choice {\n margin-left: 5px;\n margin-right: auto; }\n\n.select2-container--classic[dir=\"rtl\"] .select2-selection--multiple .select2-selection__choice__remove {\n margin-left: 2px;\n margin-right: auto; }\n\n.select2-container--classic.select2-container--open .select2-selection--multiple {\n border: 1px solid #5897fb; }\n\n.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {\n border-top: none;\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n\n.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {\n border-bottom: none;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0; }\n\n.select2-container--classic .select2-search--dropdown .select2-search__field {\n border: 1px solid #aaa;\n outline: 0; }\n\n.select2-container--classic .select2-search--inline .select2-search__field {\n outline: 0;\n box-shadow: none; }\n\n.select2-container--classic .select2-dropdown {\n background-color: white;\n border: 1px solid transparent; }\n\n.select2-container--classic .select2-dropdown--above {\n border-bottom: none; }\n\n.select2-container--classic .select2-dropdown--below {\n border-top: none; }\n\n.select2-container--classic .select2-results > .select2-results__options {\n max-height: 200px;\n overflow-y: auto; }\n\n.select2-container--classic .select2-results__option[role=group] {\n padding: 0; }\n\n.select2-container--classic .select2-results__option[aria-disabled=true] {\n color: grey; }\n\n.select2-container--classic .select2-results__option--highlighted[aria-selected] {\n background-color: #3875d7;\n color: white; }\n\n.select2-container--classic .select2-results__group {\n cursor: default;\n display: block;\n padding: 6px; }\n\n.select2-container--classic.select2-container--open .select2-dropdown {\n border-color: #5897fb; }\n\n "],
- encapsulation: core_1.ViewEncapsulation.None
- }),
- __metadata('design:paramtypes', [])
- ], Select2Component);
+ Select2Component.prototype.initPlugin = function () {
+ if (this.element.hasClass('select2-hidden-accessible') == true) {
+ this.element.select2('destroy');
+ this.element.html('');
+ }
+ this.element.select2({
+ data: this.data,
+ templateResult: this.templateResult,
+ templateSelection: this.templateSelection,
+ theme: (this.theme) ? this.theme : 'default',
+ width: (this.width) ? this.width : 'resolve'
+ });
+ };
return Select2Component;
}());
+ __decorate([
+ core_1.ViewChild('selector'),
+ __metadata("design:type", core_1.ElementRef)
+ ], Select2Component.prototype, "selector", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata("design:type", Array)
+ ], Select2Component.prototype, "data", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata("design:type", Object)
+ ], Select2Component.prototype, "value", void 0);
+ __decorate([
+ core_1.Output(),
+ __metadata("design:type", Object)
+ ], Select2Component.prototype, "valueChanged", void 0);
+ __decorate([
+ core_1.Output(),
+ __metadata("design:type", Object)
+ ], Select2Component.prototype, "blur", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata("design:type", String)
+ ], Select2Component.prototype, "width", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata("design:type", String)
+ ], Select2Component.prototype, "theme", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata("design:type", Function)
+ ], Select2Component.prototype, "templateSelection", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata("design:type", Function)
+ ], Select2Component.prototype, "templateResult", void 0);
+ Select2Component = __decorate([
+ core_1.Component({
+ selector: 'select2',
+ template: ' ',
+ styles: ["\n .select2-container {\n box-sizing: border-box;\n display: inline-block;\n margin: 0;\n position: relative;\n vertical-align: middle;\n min-width: 100px; }\n.select2-container .select2-selection--single {\n box-sizing: border-box;\n cursor: pointer;\n display: block;\n height: 28px;\n user-select: none;\n -webkit-user-select: none; }\n.select2-container .select2-selection--single .select2-selection__rendered {\n display: block;\n padding-left: 8px;\n padding-right: 20px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap; }\n.select2-container .select2-selection--single .select2-selection__clear {\n position: relative; }\n.select2-container[dir=\"rtl\"] .select2-selection--single .select2-selection__rendered {\n padding-right: 8px;\n padding-left: 20px; }\n.select2-container .select2-selection--multiple {\n box-sizing: border-box;\n cursor: pointer;\n display: block;\n min-height: 32px;\n user-select: none;\n -webkit-user-select: none; }\n.select2-container .select2-selection--multiple .select2-selection__rendered {\n display: inline-block;\n overflow: hidden;\n padding-left: 8px;\n text-overflow: ellipsis;\n white-space: nowrap; }\n.select2-container .select2-search--inline {\n float: left; }\n.select2-container .select2-search--inline .select2-search__field {\n box-sizing: border-box;\n border: none;\n font-size: 100%;\n margin-top: 5px;\n padding: 0; }\n.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {\n -webkit-appearance: none; }\n\n.select2-dropdown {\n background-color: white;\n border: 1px solid #aaa;\n border-radius: 4px;\n box-sizing: border-box;\n display: block;\n position: absolute;\n left: -100000px;\n width: 100%;\n z-index: 1051; }\n\n.select2-results {\n display: block; }\n\n.select2-results__options {\n list-style: none;\n margin: 0;\n padding: 0; }\n\n.select2-results__option {\n padding: 6px;\n user-select: none;\n -webkit-user-select: none; }\n.select2-results__option[aria-selected] {\n cursor: pointer; }\n\n.select2-container--open .select2-dropdown {\n left: 0; }\n\n.select2-container--open .select2-dropdown--above {\n border-bottom: none;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0; }\n\n.select2-container--open .select2-dropdown--below {\n border-top: none;\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n\n.select2-search--dropdown {\n display: block;\n padding: 4px; }\n.select2-search--dropdown .select2-search__field {\n padding: 4px;\n width: 100%;\n box-sizing: border-box; }\n.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {\n -webkit-appearance: none; }\n.select2-search--dropdown.select2-search--hide {\n display: none; }\n\n.select2-close-mask {\n border: 0;\n margin: 0;\n padding: 0;\n display: block;\n position: fixed;\n left: 0;\n top: 0;\n min-height: 100%;\n min-width: 100%;\n height: auto;\n width: auto;\n opacity: 0;\n z-index: 99;\n background-color: #fff;\n filter: alpha(opacity=0); }\n\n.select2-hidden-accessible {\n border: 0 !important;\n clip: rect(0 0 0 0) !important;\n height: 1px !important;\n margin: -1px !important;\n overflow: hidden !important;\n padding: 0 !important;\n position: absolute !important;\n width: 1px !important; }\n\n.select2-container--default .select2-selection--single {\n background-color: #fff;\n border: 1px solid #aaa;\n border-radius: 4px; }\n.select2-container--default .select2-selection--single .select2-selection__rendered {\n color: #444;\n line-height: 28px; }\n.select2-container--default .select2-selection--single .select2-selection__clear {\n cursor: pointer;\n float: right;\n font-weight: bold; }\n.select2-container--default .select2-selection--single .select2-selection__placeholder {\n color: #999; }\n.select2-container--default .select2-selection--single .select2-selection__arrow {\n height: 26px;\n position: absolute;\n top: 1px;\n right: 1px;\n width: 20px; }\n.select2-container--default .select2-selection--single .select2-selection__arrow b {\n border-color: #888 transparent transparent transparent;\n border-style: solid;\n border-width: 5px 4px 0 4px;\n height: 0;\n left: 50%;\n margin-left: -4px;\n margin-top: -2px;\n position: absolute;\n top: 50%;\n width: 0; }\n\n.select2-container--default[dir=\"rtl\"] .select2-selection--single .select2-selection__clear {\n float: left; }\n\n.select2-container--default[dir=\"rtl\"] .select2-selection--single .select2-selection__arrow {\n left: 1px;\n right: auto; }\n\n.select2-container--default.select2-container--disabled .select2-selection--single {\n background-color: #eee;\n cursor: default; }\n.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {\n display: none; }\n\n.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {\n border-color: transparent transparent #888 transparent;\n border-width: 0 4px 5px 4px; }\n\n.select2-container--default .select2-selection--multiple {\n background-color: white;\n border: 1px solid #aaa;\n border-radius: 4px;\n cursor: text; }\n.select2-container--default .select2-selection--multiple .select2-selection__rendered {\n box-sizing: border-box;\n list-style: none;\n margin: 0;\n padding: 0 5px;\n width: 100%; }\n.select2-container--default .select2-selection--multiple .select2-selection__rendered li {\n list-style: none; }\n.select2-container--default .select2-selection--multiple .select2-selection__placeholder {\n color: #999;\n margin-top: 5px;\n float: left; }\n.select2-container--default .select2-selection--multiple .select2-selection__clear {\n cursor: pointer;\n float: right;\n font-weight: bold;\n margin-top: 5px;\n margin-right: 10px; }\n.select2-container--default .select2-selection--multiple .select2-selection__choice {\n background-color: #e4e4e4;\n border: 1px solid #aaa;\n border-radius: 4px;\n cursor: default;\n float: left;\n margin-right: 5px;\n margin-top: 5px;\n padding: 0 5px; }\n.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {\n color: #999;\n cursor: pointer;\n display: inline-block;\n font-weight: bold;\n margin-right: 2px; }\n.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {\n color: #333; }\n\n.select2-container--default[dir=\"rtl\"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir=\"rtl\"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir=\"rtl\"] .select2-selection--multiple .select2-search--inline {\n float: right; }\n\n.select2-container--default[dir=\"rtl\"] .select2-selection--multiple .select2-selection__choice {\n margin-left: 5px;\n margin-right: auto; }\n\n.select2-container--default[dir=\"rtl\"] .select2-selection--multiple .select2-selection__choice__remove {\n margin-left: 2px;\n margin-right: auto; }\n\n.select2-container--default.select2-container--focus .select2-selection--multiple {\n border: solid black 1px;\n outline: 0; }\n\n.select2-container--default.select2-container--disabled .select2-selection--multiple {\n background-color: #eee;\n cursor: default; }\n\n.select2-container--default.select2-container--disabled .select2-selection__choice__remove {\n display: none; }\n\n.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n\n.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0; }\n\n.select2-container--default .select2-search--dropdown .select2-search__field {\n border: 1px solid #aaa; }\n\n.select2-container--default .select2-search--inline .select2-search__field {\n background: transparent;\n border: none;\n outline: 0;\n box-shadow: none;\n -webkit-appearance: textfield; }\n\n.select2-container--default .select2-results > .select2-results__options {\n max-height: 200px;\n overflow-y: auto; }\n\n.select2-container--default .select2-results__option[role=group] {\n padding: 0; }\n\n.select2-container--default .select2-results__option[aria-disabled=true] {\n color: #999; }\n\n.select2-container--default .select2-results__option[aria-selected=true] {\n background-color: #ddd; }\n\n.select2-container--default .select2-results__option .select2-results__option {\n padding-left: 1em; }\n.select2-container--default .select2-results__option .select2-results__option .select2-results__group {\n padding-left: 0; }\n.select2-container--default .select2-results__option .select2-results__option .select2-results__option {\n margin-left: -1em;\n padding-left: 2em; }\n.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {\n margin-left: -2em;\n padding-left: 3em; }\n.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {\n margin-left: -3em;\n padding-left: 4em; }\n.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {\n margin-left: -4em;\n padding-left: 5em; }\n.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {\n margin-left: -5em;\n padding-left: 6em; }\n\n.select2-container--default .select2-results__option--highlighted[aria-selected] {\n background-color: #5897fb;\n color: white; }\n\n.select2-container--default .select2-results__group {\n cursor: default;\n display: block;\n padding: 6px; }\n\n.select2-container--classic .select2-selection--single {\n background-color: #f7f7f7;\n border: 1px solid #aaa;\n border-radius: 4px;\n outline: 0;\n background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);\n background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);\n background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }\n.select2-container--classic .select2-selection--single:focus {\n border: 1px solid #5897fb; }\n.select2-container--classic .select2-selection--single .select2-selection__rendered {\n color: #444;\n line-height: 28px; }\n.select2-container--classic .select2-selection--single .select2-selection__clear {\n cursor: pointer;\n float: right;\n font-weight: bold;\n margin-right: 10px; }\n.select2-container--classic .select2-selection--single .select2-selection__placeholder {\n color: #999; }\n.select2-container--classic .select2-selection--single .select2-selection__arrow {\n background-color: #ddd;\n border: none;\n border-left: 1px solid #aaa;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n height: 26px;\n position: absolute;\n top: 1px;\n right: 1px;\n width: 20px;\n background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);\n background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);\n background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }\n.select2-container--classic .select2-selection--single .select2-selection__arrow b {\n border-color: #888 transparent transparent transparent;\n border-style: solid;\n border-width: 5px 4px 0 4px;\n height: 0;\n left: 50%;\n margin-left: -4px;\n margin-top: -2px;\n position: absolute;\n top: 50%;\n width: 0; }\n\n.select2-container--classic[dir=\"rtl\"] .select2-selection--single .select2-selection__clear {\n float: left; }\n\n.select2-container--classic[dir=\"rtl\"] .select2-selection--single .select2-selection__arrow {\n border: none;\n border-right: 1px solid #aaa;\n border-radius: 0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n left: 1px;\n right: auto; }\n\n.select2-container--classic.select2-container--open .select2-selection--single {\n border: 1px solid #5897fb; }\n.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {\n background: transparent;\n border: none; }\n.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {\n border-color: transparent transparent #888 transparent;\n border-width: 0 4px 5px 4px; }\n\n.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {\n border-top: none;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);\n background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);\n background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }\n\n.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {\n border-bottom: none;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);\n background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);\n background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }\n\n.select2-container--classic .select2-selection--multiple {\n background-color: white;\n border: 1px solid #aaa;\n border-radius: 4px;\n cursor: text;\n outline: 0; }\n.select2-container--classic .select2-selection--multiple:focus {\n border: 1px solid #5897fb; }\n.select2-container--classic .select2-selection--multiple .select2-selection__rendered {\n list-style: none;\n margin: 0;\n padding: 0 5px; }\n.select2-container--classic .select2-selection--multiple .select2-selection__clear {\n display: none; }\n.select2-container--classic .select2-selection--multiple .select2-selection__choice {\n background-color: #e4e4e4;\n border: 1px solid #aaa;\n border-radius: 4px;\n cursor: default;\n float: left;\n margin-right: 5px;\n margin-top: 5px;\n padding: 0 5px; }\n.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {\n color: #888;\n cursor: pointer;\n display: inline-block;\n font-weight: bold;\n margin-right: 2px; }\n.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {\n color: #555; }\n\n.select2-container--classic[dir=\"rtl\"] .select2-selection--multiple .select2-selection__choice {\n float: right; }\n\n.select2-container--classic[dir=\"rtl\"] .select2-selection--multiple .select2-selection__choice {\n margin-left: 5px;\n margin-right: auto; }\n\n.select2-container--classic[dir=\"rtl\"] .select2-selection--multiple .select2-selection__choice__remove {\n margin-left: 2px;\n margin-right: auto; }\n\n.select2-container--classic.select2-container--open .select2-selection--multiple {\n border: 1px solid #5897fb; }\n\n.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {\n border-top: none;\n border-top-left-radius: 0;\n border-top-right-radius: 0; }\n\n.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {\n border-bottom: none;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0; }\n\n.select2-container--classic .select2-search--dropdown .select2-search__field {\n border: 1px solid #aaa;\n outline: 0; }\n\n.select2-container--classic .select2-search--inline .select2-search__field {\n outline: 0;\n box-shadow: none; }\n\n.select2-container--classic .select2-dropdown {\n background-color: white;\n border: 1px solid transparent; }\n\n.select2-container--classic .select2-dropdown--above {\n border-bottom: none; }\n\n.select2-container--classic .select2-dropdown--below {\n border-top: none; }\n\n.select2-container--classic .select2-results > .select2-results__options {\n max-height: 200px;\n overflow-y: auto; }\n\n.select2-container--classic .select2-results__option[role=group] {\n padding: 0; }\n\n.select2-container--classic .select2-results__option[aria-disabled=true] {\n color: grey; }\n\n.select2-container--classic .select2-results__option--highlighted[aria-selected] {\n background-color: #3875d7;\n color: white; }\n\n.select2-container--classic .select2-results__group {\n cursor: default;\n display: block;\n padding: 6px; }\n\n.select2-container--classic.select2-container--open .select2-dropdown {\n border-color: #5897fb; }\n\n "],
+ encapsulation: core_1.ViewEncapsulation.None,
+ changeDetection: core_1.ChangeDetectionStrategy.OnPush
+ }),
+ __metadata("design:paramtypes", [])
+ ], Select2Component);
exports.Select2Component = Select2Component;
-
+ //# sourceMappingURL=select2.component.js.map
/***/ },
-/* 400 */
+/* 399 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
- __export(__webpack_require__(401));
- __export(__webpack_require__(419));
+ __export(__webpack_require__(400));
+ __export(__webpack_require__(418));
/***/ },
-/* 401 */
+/* 400 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -54621,7 +55027,7 @@
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var core_1 = __webpack_require__(313);
- var router_1 = __webpack_require__(402);
+ var router_1 = __webpack_require__(401);
var AddOnComponent = (function () {
function AddOnComponent(route) {
this.route = route;
@@ -54632,8 +55038,11 @@
AddOnComponent = __decorate([
core_1.Component({
selector: 'add-on',
- template: __webpack_require__(417),
- styles: [__webpack_require__(418)]
+ template: __webpack_require__(416),
+ styles: [__webpack_require__(417)],
+ host: {
+ 'class': 'container-fluid'
+ }
}),
__metadata('design:paramtypes', [router_1.ActivatedRoute])
], AddOnComponent);
@@ -54643,19 +55052,18 @@
/***/ },
-/* 402 */
+/* 401 */
/***/ function(module, exports, __webpack_require__) {
/**
- * @license Angular v3.1.0
+ * @license Angular v3.2.3
* (c) 2010-2016 Google, Inc. https://angular.io/
* License: MIT
- */
- (function (global, factory) {
- true ? factory(exports, __webpack_require__(332), __webpack_require__(313), __webpack_require__(314), __webpack_require__(403), __webpack_require__(407), __webpack_require__(408), __webpack_require__(410), __webpack_require__(357), __webpack_require__(345), __webpack_require__(409), __webpack_require__(411), __webpack_require__(315), __webpack_require__(412), __webpack_require__(413), __webpack_require__(414), __webpack_require__(415), __webpack_require__(336), __webpack_require__(416), __webpack_require__(354), __webpack_require__(370)) :
- typeof define === 'function' && define.amd ? define(['exports', '@angular/common', '@angular/core', 'rxjs/Subject', 'rxjs/observable/from', 'rxjs/observable/of', 'rxjs/operator/concatMap', 'rxjs/operator/every', 'rxjs/operator/map', 'rxjs/operator/mergeAll', 'rxjs/operator/mergeMap', 'rxjs/operator/reduce', 'rxjs/Observable', 'rxjs/operator/catch', 'rxjs/operator/concatAll', 'rxjs/operator/first', 'rxjs/util/EmptyError', 'rxjs/observable/fromPromise', 'rxjs/operator/last', 'rxjs/BehaviorSubject', 'rxjs/operator/filter'], factory) :
- (factory((global.ng = global.ng || {}, global.ng.router = global.ng.router || {}),global.ng.common,global.ng.core,global.Rx,global.Rx.Observable,global.Rx.Observable,global.rxjs_operator_concatMap,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx,global.Rx.Observable,global.Rx.Observable.prototype,global.Rx,global.rxjs_operator_filter));
- }(this, function (exports,_angular_common,_angular_core,rxjs_Subject,rxjs_observable_from,rxjs_observable_of,rxjs_operator_concatMap,rxjs_operator_every,rxjs_operator_map,rxjs_operator_mergeAll,rxjs_operator_mergeMap,rxjs_operator_reduce,rxjs_Observable,rxjs_operator_catch,rxjs_operator_concatAll,rxjs_operator_first,rxjs_util_EmptyError,rxjs_observable_fromPromise,l,rxjs_BehaviorSubject,rxjs_operator_filter) { 'use strict';
+ */(function (global, factory) {
+ true ? factory(exports, __webpack_require__(332), __webpack_require__(313), __webpack_require__(354), __webpack_require__(314), __webpack_require__(402), __webpack_require__(406), __webpack_require__(407), __webpack_require__(409), __webpack_require__(410), __webpack_require__(357), __webpack_require__(408), __webpack_require__(412), __webpack_require__(315), __webpack_require__(413), __webpack_require__(414), __webpack_require__(411), __webpack_require__(336), __webpack_require__(415), __webpack_require__(345), __webpack_require__(331), __webpack_require__(370)) :
+ typeof define === 'function' && define.amd ? define(['exports', '@angular/common', '@angular/core', 'rxjs/BehaviorSubject', 'rxjs/Subject', 'rxjs/observable/from', 'rxjs/observable/of', 'rxjs/operator/concatMap', 'rxjs/operator/every', 'rxjs/operator/first', 'rxjs/operator/map', 'rxjs/operator/mergeMap', 'rxjs/operator/reduce', 'rxjs/Observable', 'rxjs/operator/catch', 'rxjs/operator/concatAll', 'rxjs/util/EmptyError', 'rxjs/observable/fromPromise', 'rxjs/operator/last', 'rxjs/operator/mergeAll', '@angular/platform-browser', 'rxjs/operator/filter'], factory) :
+ (factory((global.ng = global.ng || {}, global.ng.router = global.ng.router || {}),global.ng.common,global.ng.core,global.Rx,global.Rx,global.Rx.Observable,global.Rx.Observable,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.Rx,global.Rx.Observable,global.Rx.Observable.prototype,global.Rx.Observable.prototype,global.ng.platformBrowser,global.Rx.Observable.prototype));
+ }(this, function (exports,_angular_common,_angular_core,rxjs_BehaviorSubject,rxjs_Subject,rxjs_observable_from,rxjs_observable_of,rxjs_operator_concatMap,rxjs_operator_every,rxjs_operator_first,rxjs_operator_map,rxjs_operator_mergeMap,rxjs_operator_reduce,rxjs_Observable,rxjs_operator_catch,rxjs_operator_concatAll,rxjs_util_EmptyError,rxjs_observable_fromPromise,l,rxjs_operator_mergeAll,_angular_platformBrowser,rxjs_operator_filter) { 'use strict';
/**
* @license
@@ -54685,6 +55093,34 @@
NavigationCancelingError.prototype.toString = function () { return this.message; };
return NavigationCancelingError;
}(Error));
+ function defaultUrlMatcher(segments, segmentGroup, route) {
+ var path = route.path;
+ var parts = path.split('/');
+ var posParams = {};
+ var consumed = [];
+ var currentIndex = 0;
+ for (var i = 0; i < parts.length; ++i) {
+ if (currentIndex >= segments.length)
+ return null;
+ var current = segments[currentIndex];
+ var p = parts[i];
+ var isPosParam = p.startsWith(':');
+ if (!isPosParam && p !== current.path)
+ return null;
+ if (isPosParam) {
+ posParams[p.substring(1)] = current;
+ }
+ consumed.push(current);
+ currentIndex++;
+ }
+ if (route.pathMatch === 'full' &&
+ (segmentGroup.hasChildren() || currentIndex < segments.length)) {
+ return null;
+ }
+ else {
+ return { consumed: consumed, posParams: posParams };
+ }
+ }
function shallowEqualArrays(a, b) {
if (a.length !== b.length)
@@ -54792,10 +55228,11 @@
*/
var ROUTES = new _angular_core.OpaqueToken('ROUTES');
var LoadedRouterConfig = (function () {
- function LoadedRouterConfig(routes, injector, factoryResolver) {
+ function LoadedRouterConfig(routes, injector, factoryResolver, injectorFactory) {
this.routes = routes;
this.injector = injector;
this.factoryResolver = factoryResolver;
+ this.injectorFactory = injectorFactory;
}
return LoadedRouterConfig;
}());
@@ -54807,7 +55244,8 @@
RouterConfigLoader.prototype.load = function (parentInjector, loadChildren) {
return rxjs_operator_map.map.call(this.loadModuleFactory(loadChildren), function (r) {
var ref = r.create(parentInjector);
- return new LoadedRouterConfig(flatten(ref.injector.get(ROUTES)), ref.injector, ref.componentFactoryResolver);
+ var injectorFactory = function (parent) { return r.create(parent).injector; };
+ return new LoadedRouterConfig(flatten(ref.injector.get(ROUTES)), ref.injector, ref.componentFactoryResolver, injectorFactory);
});
};
RouterConfigLoader.prototype.loadModuleFactory = function (loadChildren) {
@@ -54828,12 +55266,17 @@
}
function containsTree(container, containee, exact) {
if (exact) {
- return equalSegmentGroups(container.root, containee.root);
+ return equalQueryParams(container.queryParams, containee.queryParams) &&
+ equalSegmentGroups(container.root, containee.root);
}
else {
- return containsSegmentGroup(container.root, containee.root);
+ return containsQueryParams(container.queryParams, containee.queryParams) &&
+ containsSegmentGroup(container.root, containee.root);
}
}
+ function equalQueryParams(container, containee) {
+ return shallowEqual(container, containee);
+ }
function equalSegmentGroups(container, containee) {
if (!equalPath(container.segments, containee.segments))
return false;
@@ -54847,6 +55290,10 @@
}
return true;
}
+ function containsQueryParams(container, containee) {
+ return Object.keys(containee) <= Object.keys(container) &&
+ Object.keys(containee).every(function (key) { return containee[key] === container[key]; });
+ }
function containsSegmentGroup(container, containee) {
return containsSegmentGroupHelper(container, containee, containee.segments);
}
@@ -54917,11 +55364,11 @@
/**
* The root segment group of the URL tree.
*/
- root,
+ root,
/**
* The query params of the URL.
*/
- queryParams,
+ queryParams,
/**
* The fragment of the URL.
*/
@@ -54948,7 +55395,7 @@
/**
* The URL segments of this group. See {@link UrlSegment} for more information.
*/
- segments,
+ segments,
/**
* The list of children of this group.
*/
@@ -55008,9 +55455,9 @@
var UrlSegment = (function () {
function UrlSegment(
/**
- * The part part of a URL segment.
+ * The path part of a URL segment.
*/
- path,
+ path,
/**
* The matrix parameters associated with a segment.
*/
@@ -55024,6 +55471,17 @@
UrlSegment.prototype.toString = function () { return serializePath(this); };
return UrlSegment;
}());
+ function equalSegments(a, b) {
+ if (a.length !== b.length)
+ return false;
+ for (var i = 0; i < a.length; ++i) {
+ if (a[i].path !== b[i].path)
+ return false;
+ if (!shallowEqual(a[i].parameters, b[i].parameters))
+ return false;
+ }
+ return true;
+ }
function equalPath(a, b) {
if (a.length !== b.length)
return false;
@@ -55354,27 +55812,31 @@
return NoMatch;
}());
var AbsoluteRedirect = (function () {
- function AbsoluteRedirect(segments) {
- this.segments = segments;
+ function AbsoluteRedirect(urlTree) {
+ this.urlTree = urlTree;
}
return AbsoluteRedirect;
}());
function noMatch(segmentGroup) {
return new rxjs_Observable.Observable(function (obs) { return obs.error(new NoMatch(segmentGroup)); });
}
- function absoluteRedirect(segments) {
- return new rxjs_Observable.Observable(function (obs) { return obs.error(new AbsoluteRedirect(segments)); });
+ function absoluteRedirect(newTree) {
+ return new rxjs_Observable.Observable(function (obs) { return obs.error(new AbsoluteRedirect(newTree)); });
+ }
+ function namedOutletsRedirect(redirectTo) {
+ return new rxjs_Observable.Observable(function (obs) { return obs.error(new Error("Only absolute redirects can have named outlets. redirectTo: '" + redirectTo + "'")); });
}
function canLoadFails(route) {
return new rxjs_Observable.Observable(function (obs) { return obs.error(new NavigationCancelingError("Cannot load children because the guard of the route \"path: '" + route.path + "'\" returned false")); });
}
- function applyRedirects(injector, configLoader, urlTree, config) {
- return new ApplyRedirects(injector, configLoader, urlTree, config).apply();
+ function applyRedirects(injector, configLoader, urlSerializer, urlTree, config) {
+ return new ApplyRedirects(injector, configLoader, urlSerializer, urlTree, config).apply();
}
var ApplyRedirects = (function () {
- function ApplyRedirects(injector, configLoader, urlTree, config) {
+ function ApplyRedirects(injector, configLoader, urlSerializer, urlTree, config) {
this.injector = injector;
this.configLoader = configLoader;
+ this.urlSerializer = urlSerializer;
this.urlTree = urlTree;
this.config = config;
this.allowRedirects = true;
@@ -55382,14 +55844,13 @@
ApplyRedirects.prototype.apply = function () {
var _this = this;
var expanded$ = this.expandSegmentGroup(this.injector, this.config, this.urlTree.root, PRIMARY_OUTLET);
- var urlTrees$ = rxjs_operator_map.map.call(expanded$, function (rootSegmentGroup) { return _this.createUrlTree(rootSegmentGroup); });
+ var urlTrees$ = rxjs_operator_map.map.call(expanded$, function (rootSegmentGroup) { return _this.createUrlTree(rootSegmentGroup, _this.urlTree.queryParams, _this.urlTree.fragment); });
return rxjs_operator_catch._catch.call(urlTrees$, function (e) {
if (e instanceof AbsoluteRedirect) {
// after an absolute redirect we do not apply any more redirects!
_this.allowRedirects = false;
- var group = new UrlSegmentGroup([], (_a = {}, _a[PRIMARY_OUTLET] = new UrlSegmentGroup(e.segments, {}), _a));
// we need to run matching, so we can fetch all lazy-loaded modules
- return _this.match(group);
+ return _this.match(e.urlTree);
}
else if (e instanceof NoMatch) {
throw _this.noMatchError(e);
@@ -55397,13 +55858,14 @@
else {
throw e;
}
- var _a;
});
};
- ApplyRedirects.prototype.match = function (segmentGroup) {
+ ApplyRedirects.prototype.match = function (tree) {
var _this = this;
- var expanded$ = this.expandSegmentGroup(this.injector, this.config, segmentGroup, PRIMARY_OUTLET);
- var mapped$ = rxjs_operator_map.map.call(expanded$, function (rootSegmentGroup) { return _this.createUrlTree(rootSegmentGroup); });
+ var expanded$ = this.expandSegmentGroup(this.injector, this.config, tree.root, PRIMARY_OUTLET);
+ var mapped$ = rxjs_operator_map.map.call(expanded$, function (rootSegmentGroup) {
+ return _this.createUrlTree(rootSegmentGroup, tree.queryParams, tree.fragment);
+ });
return rxjs_operator_catch._catch.call(mapped$, function (e) {
if (e instanceof NoMatch) {
throw _this.noMatchError(e);
@@ -55416,11 +55878,11 @@
ApplyRedirects.prototype.noMatchError = function (e) {
return new Error("Cannot match any routes. URL Segment: '" + e.segmentGroup + "'");
};
- ApplyRedirects.prototype.createUrlTree = function (rootCandidate) {
+ ApplyRedirects.prototype.createUrlTree = function (rootCandidate, queryParams, fragment) {
var root = rootCandidate.segments.length > 0 ?
new UrlSegmentGroup([], (_a = {}, _a[PRIMARY_OUTLET] = rootCandidate, _a)) :
rootCandidate;
- return new UrlTree(root, this.urlTree.queryParams, this.urlTree.fragment);
+ return new UrlTree(root, queryParams, fragment);
var _a;
};
ApplyRedirects.prototype.expandSegmentGroup = function (injector, routes, segmentGroup, outlet) {
@@ -55451,13 +55913,21 @@
var first$ = rxjs_operator_first.first.call(concattedProcessedRoutes$, function (s) { return !!s; });
return rxjs_operator_catch._catch.call(first$, function (e, _) {
if (e instanceof rxjs_util_EmptyError.EmptyError) {
- throw new NoMatch(segmentGroup);
+ if (_this.noLeftoversInUrl(segmentGroup, segments, outlet)) {
+ return rxjs_observable_of.of(new UrlSegmentGroup([], {}));
+ }
+ else {
+ throw new NoMatch(segmentGroup);
+ }
}
else {
throw e;
}
});
};
+ ApplyRedirects.prototype.noLeftoversInUrl = function (segmentGroup, segments, outlet) {
+ return segments.length === 0 && !segmentGroup.children[outlet];
+ };
ApplyRedirects.prototype.expandSegmentAgainstRoute = function (injector, segmentGroup, routes, route, paths, outlet, allowRedirects) {
if (getOutlet$1(route) !== outlet)
return noMatch(segmentGroup);
@@ -55472,31 +55942,38 @@
};
ApplyRedirects.prototype.expandSegmentAgainstRouteUsingRedirect = function (injector, segmentGroup, routes, route, segments, outlet) {
if (route.path === '**') {
- return this.expandWildCardWithParamsAgainstRouteUsingRedirect(route);
+ return this.expandWildCardWithParamsAgainstRouteUsingRedirect(injector, routes, route, outlet);
}
else {
return this.expandRegularSegmentAgainstRouteUsingRedirect(injector, segmentGroup, routes, route, segments, outlet);
}
};
- ApplyRedirects.prototype.expandWildCardWithParamsAgainstRouteUsingRedirect = function (route) {
- var newSegments = applyRedirectCommands([], route.redirectTo, {});
+ ApplyRedirects.prototype.expandWildCardWithParamsAgainstRouteUsingRedirect = function (injector, routes, route, outlet) {
+ var _this = this;
+ var newTree = this.applyRedirectCommands([], route.redirectTo, {});
if (route.redirectTo.startsWith('/')) {
- return absoluteRedirect(newSegments);
+ return absoluteRedirect(newTree);
}
else {
- return rxjs_observable_of.of(new UrlSegmentGroup(newSegments, {}));
+ return rxjs_operator_mergeMap.mergeMap.call(this.lineralizeSegments(route, newTree), function (newSegments) {
+ var group = new UrlSegmentGroup(newSegments, {});
+ return _this.expandSegment(injector, group, routes, newSegments, outlet, false);
+ });
}
};
ApplyRedirects.prototype.expandRegularSegmentAgainstRouteUsingRedirect = function (injector, segmentGroup, routes, route, segments, outlet) {
+ var _this = this;
var _a = match(segmentGroup, route, segments), matched = _a.matched, consumedSegments = _a.consumedSegments, lastChild = _a.lastChild, positionalParamSegments = _a.positionalParamSegments;
if (!matched)
return noMatch(segmentGroup);
- var newSegments = applyRedirectCommands(consumedSegments, route.redirectTo, positionalParamSegments);
+ var newTree = this.applyRedirectCommands(consumedSegments, route.redirectTo, positionalParamSegments);
if (route.redirectTo.startsWith('/')) {
- return absoluteRedirect(newSegments);
+ return absoluteRedirect(newTree);
}
else {
- return this.expandSegment(injector, segmentGroup, routes, newSegments.concat(segments.slice(lastChild)), outlet, false);
+ return rxjs_operator_mergeMap.mergeMap.call(this.lineralizeSegments(route, newTree), function (newSegments) {
+ return _this.expandSegment(injector, segmentGroup, routes, newSegments.concat(segments.slice(lastChild)), outlet, false);
+ });
}
};
ApplyRedirects.prototype.matchSegmentAgainstRoute = function (injector, rawSegmentGroup, route, segments) {
@@ -55539,7 +56016,7 @@
ApplyRedirects.prototype.getChildConfig = function (injector, route) {
var _this = this;
if (route.children) {
- return rxjs_observable_of.of(new LoadedRouterConfig(route.children, injector, null));
+ return rxjs_observable_of.of(new LoadedRouterConfig(route.children, injector, null, null));
}
else if (route.loadChildren) {
return rxjs_operator_mergeMap.mergeMap.call(runGuards(injector, route), function (shouldLoad) {
@@ -55560,9 +56037,77 @@
});
}
else {
- return rxjs_observable_of.of(new LoadedRouterConfig([], injector, null));
+ return rxjs_observable_of.of(new LoadedRouterConfig([], injector, null, null));
}
};
+ ApplyRedirects.prototype.lineralizeSegments = function (route, urlTree) {
+ var res = [];
+ var c = urlTree.root;
+ while (true) {
+ res = res.concat(c.segments);
+ if (c.numberOfChildren === 0) {
+ return rxjs_observable_of.of(res);
+ }
+ else if (c.numberOfChildren > 1 || !c.children[PRIMARY_OUTLET]) {
+ return namedOutletsRedirect(route.redirectTo);
+ }
+ else {
+ c = c.children[PRIMARY_OUTLET];
+ }
+ }
+ };
+ ApplyRedirects.prototype.applyRedirectCommands = function (segments, redirectTo, posParams) {
+ var t = this.urlSerializer.parse(redirectTo);
+ return this.applyRedirectCreatreUrlTree(redirectTo, this.urlSerializer.parse(redirectTo), segments, posParams);
+ };
+ ApplyRedirects.prototype.applyRedirectCreatreUrlTree = function (redirectTo, urlTree, segments, posParams) {
+ var newRoot = this.createSegmentGroup(redirectTo, urlTree.root, segments, posParams);
+ return new UrlTree(newRoot, this.createQueryParams(urlTree.queryParams, this.urlTree.queryParams), urlTree.fragment);
+ };
+ ApplyRedirects.prototype.createQueryParams = function (redirectToParams, actualParams) {
+ var res = {};
+ forEach(redirectToParams, function (v, k) {
+ if (v.startsWith(':')) {
+ res[k] = actualParams[v.substring(1)];
+ }
+ else {
+ res[k] = v;
+ }
+ });
+ return res;
+ };
+ ApplyRedirects.prototype.createSegmentGroup = function (redirectTo, group, segments, posParams) {
+ var _this = this;
+ var updatedSegments = this.createSegments(redirectTo, group.segments, segments, posParams);
+ var children = {};
+ forEach(group.children, function (child, name) {
+ children[name] = _this.createSegmentGroup(redirectTo, child, segments, posParams);
+ });
+ return new UrlSegmentGroup(updatedSegments, children);
+ };
+ ApplyRedirects.prototype.createSegments = function (redirectTo, redirectToSegments, actualSegments, posParams) {
+ var _this = this;
+ return redirectToSegments.map(function (s) { return s.path.startsWith(':') ? _this.findPosParam(redirectTo, s, posParams) :
+ _this.findOrReturn(s, actualSegments); });
+ };
+ ApplyRedirects.prototype.findPosParam = function (redirectTo, redirectToUrlSegment, posParams) {
+ var pos = posParams[redirectToUrlSegment.path.substring(1)];
+ if (!pos)
+ throw new Error("Cannot redirect to '" + redirectTo + "'. Cannot find '" + redirectToUrlSegment.path + "'.");
+ return pos;
+ };
+ ApplyRedirects.prototype.findOrReturn = function (redirectToUrlSegment, actualSegments) {
+ var idx = 0;
+ for (var _i = 0, actualSegments_1 = actualSegments; _i < actualSegments_1.length; _i++) {
+ var s = actualSegments_1[_i];
+ if (s.path === redirectToUrlSegment.path) {
+ actualSegments.splice(idx);
+ return s;
+ }
+ idx++;
+ }
+ return redirectToUrlSegment;
+ };
return ApplyRedirects;
}());
function runGuards(injector, route) {
@@ -55590,62 +56135,16 @@
return { matched: true, consumedSegments: [], lastChild: 0, positionalParamSegments: {} };
}
}
- var path = route.path;
- var parts = path.split('/');
- var positionalParamSegments = {};
- var consumedSegments = [];
- var currentIndex = 0;
- for (var i = 0; i < parts.length; ++i) {
- if (currentIndex >= segments.length)
- return noMatch;
- var current = segments[currentIndex];
- var p = parts[i];
- var isPosParam = p.startsWith(':');
- if (!isPosParam && p !== current.path)
- return noMatch;
- if (isPosParam) {
- positionalParamSegments[p.substring(1)] = current;
- }
- consumedSegments.push(current);
- currentIndex++;
- }
- if (route.pathMatch === 'full' &&
- (segmentGroup.hasChildren() || currentIndex < segments.length)) {
- return { matched: false, consumedSegments: [], lastChild: 0, positionalParamSegments: {} };
- }
- return { matched: true, consumedSegments: consumedSegments, lastChild: currentIndex, positionalParamSegments: positionalParamSegments };
- }
- function applyRedirectCommands(segments, redirectTo, posParams) {
- var r = redirectTo.startsWith('/') ? redirectTo.substring(1) : redirectTo;
- if (r === '') {
- return [];
- }
- else {
- return createSegments(redirectTo, r.split('/'), segments, posParams);
- }
- }
- function createSegments(redirectTo, parts, segments, posParams) {
- return parts.map(function (p) { return p.startsWith(':') ? findPosParam(p, posParams, redirectTo) :
- findOrCreateSegment(p, segments); });
- }
- function findPosParam(part, posParams, redirectTo) {
- var paramName = part.substring(1);
- var pos = posParams[paramName];
- if (!pos)
- throw new Error("Cannot redirect to '" + redirectTo + "'. Cannot find '" + part + "'.");
- return pos;
- }
- function findOrCreateSegment(part, segments) {
- var idx = 0;
- for (var _i = 0, segments_1 = segments; _i < segments_1.length; _i++) {
- var s = segments_1[_i];
- if (s.path === part) {
- segments.splice(idx);
- return s;
- }
- idx++;
- }
- return new UrlSegment(part, {});
+ var matcher = route.matcher || defaultUrlMatcher;
+ var res = matcher(segments, segmentGroup, route);
+ if (!res)
+ return noMatch;
+ return {
+ matched: true,
+ consumedSegments: res.consumed,
+ lastChild: res.consumed.length,
+ positionalParamSegments: res.posParams
+ };
}
function split(segmentGroup, consumedSegments, slicedSegments, config) {
if (slicedSegments.length > 0 &&
@@ -55710,20 +56209,22 @@
return route.outlet ? route.outlet : PRIMARY_OUTLET;
}
- /**
- * @license
- * Copyright Google Inc. All Rights Reserved.
- *
- * Use of this source code is governed by an MIT-style license that can be
- * found in the LICENSE file at https://angular.io/license
- */
function validateConfig(config) {
- config.forEach(validateNode);
+ // forEach doesn't iterate undefined values
+ for (var i = 0; i < config.length; i++) {
+ validateNode(config[i]);
+ }
}
function validateNode(route) {
+ if (!route) {
+ throw new Error("\n Invalid route configuration: Encountered undefined route.\n The reason might be an extra comma.\n \n Example: \n const routes: Routes = [\n { path: '', redirectTo: '/dashboard', pathMatch: 'full' },\n { path: 'dashboard', component: DashboardComponent },, << two commas\n { path: 'detail/:id', component: HeroDetailComponent }\n ];\n ");
+ }
if (Array.isArray(route)) {
throw new Error("Invalid route configuration: Array cannot be specified");
}
+ if (route.component === undefined && (route.outlet && route.outlet !== PRIMARY_OUTLET)) {
+ throw new Error("Invalid route configuration of route '" + route.path + "': a componentless route cannot have a named outlet set");
+ }
if (!!route.redirectTo && !!route.children) {
throw new Error("Invalid configuration of route '" + route.path + "': redirectTo and children cannot be used together");
}
@@ -55736,6 +56237,9 @@
if (!!route.redirectTo && !!route.component) {
throw new Error("Invalid configuration of route '" + route.path + "': redirectTo and component cannot be used together");
}
+ if (!!route.path && !!route.matcher) {
+ throw new Error("Invalid configuration of route '" + route.path + "': path and matcher cannot be used together");
+ }
if (route.redirectTo === undefined && !route.component && !route.children &&
!route.loadChildren) {
throw new Error("Invalid configuration of route '" + route.path + "': one of the following must be provided (component or redirectTo or children or loadChildren)");
@@ -55885,7 +56389,7 @@
/**
* @internal
*/
- function RouterState(root,
+ function RouterState(root,
/**
* The current snapshot of the router state.
*/
@@ -55913,7 +56417,7 @@
var emptyData = {};
var emptyQueryParams = {};
var fragment = '';
- var activated = new ActivatedRouteSnapshot([], emptyParams, emptyQueryParams, fragment, emptyData, PRIMARY_OUTLET, rootComponent, null, urlTree.root, -1, InheritedResolve.empty);
+ var activated = new ActivatedRouteSnapshot([], emptyParams, emptyQueryParams, fragment, emptyData, PRIMARY_OUTLET, rootComponent, null, urlTree.root, -1, {});
return new RouterStateSnapshot('', new TreeNode(activated, []));
}
/**
@@ -55945,31 +56449,31 @@
* The URL segments matched by this route. The observable will emit a new value when
* the array of segments changes.
*/
- url,
+ url,
/**
* The matrix parameters scoped to this route. The observable will emit a new value when
* the set of the parameters changes.
*/
- params,
+ params,
/**
* The query parameters shared by all the routes. The observable will emit a new value when
* the set of the parameters changes.
*/
- queryParams,
+ queryParams,
/**
* The URL fragment shared by all the routes. The observable will emit a new value when
* the URL fragment changes.
*/
- fragment,
+ fragment,
/**
* The static and resolved data of this route. The observable will emit a new value when
* any of the resolvers returns a new object.
*/
- data,
+ data,
/**
* The outlet name of the route. It's a constant.
*/
- outlet,
+ outlet,
/**
* The component of the route. It's a constant.
*/
@@ -56043,33 +56547,30 @@
/**
* @internal
*/
- var InheritedResolve = (function () {
- function InheritedResolve(parent, current) {
- this.parent = parent;
- this.current = current;
- /**
- * @internal
- */
- this.resolvedData = {};
+ function inheritedParamsDataResolve(route) {
+ var pathToRoot = route.pathFromRoot;
+ var inhertingStartingFrom = pathToRoot.length - 1;
+ while (inhertingStartingFrom >= 1) {
+ var current = pathToRoot[inhertingStartingFrom];
+ var parent_1 = pathToRoot[inhertingStartingFrom - 1];
+ // current route is an empty path => inherits its parent's params and data
+ if (current.routeConfig && current.routeConfig.path === '') {
+ inhertingStartingFrom--;
+ }
+ else if (!parent_1.component) {
+ inhertingStartingFrom--;
+ }
+ else {
+ break;
+ }
}
- Object.defineProperty(InheritedResolve.prototype, "flattenedResolvedData", {
- /**
- * @internal
- */
- get: function () {
- return this.parent ? merge(this.parent.flattenedResolvedData, this.resolvedData) :
- this.resolvedData;
- },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(InheritedResolve, "empty", {
- get: function () { return new InheritedResolve(null, {}); },
- enumerable: true,
- configurable: true
- });
- return InheritedResolve;
- }());
+ return pathToRoot.slice(inhertingStartingFrom).reduce(function (res, curr) {
+ var params = merge(res.params, curr.params);
+ var data = merge(res.data, curr.data);
+ var resolve = merge(res.resolve, curr._resolvedData);
+ return { params: params, data: data, resolve: resolve };
+ }, { params: {}, data: {}, resolve: {} });
+ }
/**
* @whatItDoes Contains the information about a route associated with a component loaded in an
* outlet
@@ -56099,27 +56600,27 @@
/**
* The URL segments matched by this route.
*/
- url,
+ url,
/**
* The matrix parameters scoped to this route.
*/
- params,
+ params,
/**
* The query parameters shared by all the routes.
*/
- queryParams,
+ queryParams,
/**
* The URL fragment shared by all the routes.
*/
- fragment,
+ fragment,
/**
* The static and resolved data of this route.
*/
- data,
+ data,
/**
* The outlet name of the route.
*/
- outlet,
+ outlet,
/**
* The component of the route.
*/
@@ -56257,11 +56758,13 @@
}
if (!shallowEqual(route.snapshot.params, route._futureSnapshot.params)) {
route.params.next(route._futureSnapshot.params);
- route.data.next(route._futureSnapshot.data);
}
if (!shallowEqualArrays(route.snapshot.url, route._futureSnapshot.url)) {
route.url.next(route._futureSnapshot.url);
}
+ if (!equalParamsAndUrlSegments(route.snapshot, route._futureSnapshot)) {
+ route.data.next(route._futureSnapshot.data);
+ }
route.snapshot = route._futureSnapshot;
}
else {
@@ -56270,6 +56773,9 @@
route.data.next(route._futureSnapshot.data);
}
}
+ function equalParamsAndUrlSegments(a, b) {
+ return shallowEqual(a.params, b.params) && equalSegments(a.url, b.url);
+ }
function createRouterState(curr, prevState) {
var root = createNode(curr._root, prevState ? prevState._root : undefined);
@@ -56458,6 +56964,8 @@
return new Position(g, false, ci - dd);
}
function getPath(command) {
+ if (typeof command === 'object' && command.outlets)
+ return command.outlets[PRIMARY_OUTLET];
return "" + command;
}
function getOutlets(commands) {
@@ -56476,8 +56984,14 @@
return updateSegmentGroupChildren(segmentGroup, startIndex, commands);
}
var m = prefixedWith(segmentGroup, startIndex, commands);
- var slicedCommands = commands.slice(m.lastIndex);
- if (m.match && slicedCommands.length === 0) {
+ var slicedCommands = commands.slice(m.commandIndex);
+ if (m.match && m.pathIndex < segmentGroup.segments.length) {
+ var g = new UrlSegmentGroup(segmentGroup.segments.slice(0, m.pathIndex), {});
+ g.children[PRIMARY_OUTLET] =
+ new UrlSegmentGroup(segmentGroup.segments.slice(m.pathIndex), segmentGroup.children);
+ return updateSegmentGroupChildren(g, 0, slicedCommands);
+ }
+ else if (m.match && slicedCommands.length === 0) {
return new UrlSegmentGroup(segmentGroup.segments, {});
}
else if (m.match && !segmentGroup.hasChildren()) {
@@ -56513,13 +57027,15 @@
function prefixedWith(segmentGroup, startIndex, commands) {
var currentCommandIndex = 0;
var currentPathIndex = startIndex;
- var noMatch = { match: false, lastIndex: 0 };
+ var noMatch = { match: false, pathIndex: 0, commandIndex: 0 };
while (currentPathIndex < segmentGroup.segments.length) {
if (currentCommandIndex >= commands.length)
return noMatch;
var path = segmentGroup.segments[currentPathIndex];
var curr = getPath(commands[currentCommandIndex]);
var next = currentCommandIndex < commands.length - 1 ? commands[currentCommandIndex + 1] : null;
+ if (currentPathIndex > 0 && curr === undefined)
+ break;
if (curr && next && (typeof next === 'object') && next.outlets === undefined) {
if (!compare(curr, next, path))
return noMatch;
@@ -56532,7 +57048,7 @@
}
currentPathIndex++;
}
- return { match: true, lastIndex: currentCommandIndex };
+ return { match: true, pathIndex: currentPathIndex, commandIndex: currentCommandIndex };
}
function createNewSegmentGroup(segmentGroup, startIndex, commands) {
var paths = segmentGroup.segments.slice(0, startIndex);
@@ -56585,31 +57101,6 @@
}
return NoMatch;
}());
- var InheritedFromParent = (function () {
- function InheritedFromParent(parent, snapshot, params, data, resolve) {
- this.parent = parent;
- this.snapshot = snapshot;
- this.params = params;
- this.data = data;
- this.resolve = resolve;
- }
- Object.defineProperty(InheritedFromParent.prototype, "allParams", {
- get: function () {
- return this.parent ? merge(this.parent.allParams, this.params) : this.params;
- },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(InheritedFromParent.prototype, "allData", {
- get: function () { return this.parent ? merge(this.parent.allData, this.data) : this.data; },
- enumerable: true,
- configurable: true
- });
- InheritedFromParent.empty = function (snapshot) {
- return new InheritedFromParent(null, snapshot, {}, {}, new InheritedResolve(null, {}));
- };
- return InheritedFromParent;
- }());
function recognize(rootComponentType, config, urlTree, url) {
return new Recognizer(rootComponentType, config, urlTree, url).recognize();
}
@@ -56623,71 +57114,85 @@
Recognizer.prototype.recognize = function () {
try {
var rootSegmentGroup = split$1(this.urlTree.root, [], [], this.config).segmentGroup;
- var children = this.processSegmentGroup(this.config, rootSegmentGroup, InheritedFromParent.empty(null), PRIMARY_OUTLET);
- var root = new ActivatedRouteSnapshot([], Object.freeze({}), Object.freeze(this.urlTree.queryParams), this.urlTree.fragment, {}, PRIMARY_OUTLET, this.rootComponentType, null, this.urlTree.root, -1, InheritedResolve.empty);
+ var children = this.processSegmentGroup(this.config, rootSegmentGroup, PRIMARY_OUTLET);
+ var root = new ActivatedRouteSnapshot([], Object.freeze({}), Object.freeze(this.urlTree.queryParams), this.urlTree.fragment, {}, PRIMARY_OUTLET, this.rootComponentType, null, this.urlTree.root, -1, {});
var rootNode = new TreeNode(root, children);
- return rxjs_observable_of.of(new RouterStateSnapshot(this.url, rootNode));
+ var routeState = new RouterStateSnapshot(this.url, rootNode);
+ this.inheriteParamsAndData(routeState._root);
+ return rxjs_observable_of.of(routeState);
}
catch (e) {
return new rxjs_Observable.Observable(function (obs) { return obs.error(e); });
}
};
- Recognizer.prototype.processSegmentGroup = function (config, segmentGroup, inherited, outlet) {
+ Recognizer.prototype.inheriteParamsAndData = function (routeNode) {
+ var _this = this;
+ var route = routeNode.value;
+ var i = inheritedParamsDataResolve(route);
+ route.params = Object.freeze(i.params);
+ route.data = Object.freeze(i.data);
+ routeNode.children.forEach(function (n) { return _this.inheriteParamsAndData(n); });
+ };
+ Recognizer.prototype.processSegmentGroup = function (config, segmentGroup, outlet) {
if (segmentGroup.segments.length === 0 && segmentGroup.hasChildren()) {
- return this.processChildren(config, segmentGroup, inherited);
+ return this.processChildren(config, segmentGroup);
}
else {
- return this.processSegment(config, segmentGroup, 0, segmentGroup.segments, inherited, outlet);
+ return this.processSegment(config, segmentGroup, 0, segmentGroup.segments, outlet);
}
};
- Recognizer.prototype.processChildren = function (config, segmentGroup, inherited) {
+ Recognizer.prototype.processChildren = function (config, segmentGroup) {
var _this = this;
- var children = mapChildrenIntoArray(segmentGroup, function (child, childOutlet) { return _this.processSegmentGroup(config, child, inherited, childOutlet); });
+ var children = mapChildrenIntoArray(segmentGroup, function (child, childOutlet) { return _this.processSegmentGroup(config, child, childOutlet); });
checkOutletNameUniqueness(children);
sortActivatedRouteSnapshots(children);
return children;
};
- Recognizer.prototype.processSegment = function (config, segmentGroup, pathIndex, segments, inherited, outlet) {
+ Recognizer.prototype.processSegment = function (config, segmentGroup, pathIndex, segments, outlet) {
for (var _i = 0, config_1 = config; _i < config_1.length; _i++) {
var r = config_1[_i];
try {
- return this.processSegmentAgainstRoute(r, segmentGroup, pathIndex, segments, inherited, outlet);
+ return this.processSegmentAgainstRoute(r, segmentGroup, pathIndex, segments, outlet);
}
catch (e) {
if (!(e instanceof NoMatch$1))
throw e;
}
}
- throw new NoMatch$1();
+ if (this.noLeftoversInUrl(segmentGroup, segments, outlet)) {
+ return [];
+ }
+ else {
+ throw new NoMatch$1();
+ }
};
- Recognizer.prototype.processSegmentAgainstRoute = function (route, rawSegment, pathIndex, segments, inherited, outlet) {
+ Recognizer.prototype.noLeftoversInUrl = function (segmentGroup, segments, outlet) {
+ return segments.length === 0 && !segmentGroup.children[outlet];
+ };
+ Recognizer.prototype.processSegmentAgainstRoute = function (route, rawSegment, pathIndex, segments, outlet) {
if (route.redirectTo)
throw new NoMatch$1();
if ((route.outlet ? route.outlet : PRIMARY_OUTLET) !== outlet)
throw new NoMatch$1();
- var newInheritedResolve = new InheritedResolve(inherited.resolve, getResolve(route));
if (route.path === '**') {
var params = segments.length > 0 ? last(segments).parameters : {};
- var snapshot_1 = new ActivatedRouteSnapshot(segments, Object.freeze(merge(inherited.allParams, params)), Object.freeze(this.urlTree.queryParams), this.urlTree.fragment, merge(inherited.allData, getData(route)), outlet, route.component, route, getSourceSegmentGroup(rawSegment), getPathIndexShift(rawSegment) + segments.length, newInheritedResolve);
+ var snapshot_1 = new ActivatedRouteSnapshot(segments, params, Object.freeze(this.urlTree.queryParams), this.urlTree.fragment, getData(route), outlet, route.component, route, getSourceSegmentGroup(rawSegment), getPathIndexShift(rawSegment) + segments.length, getResolve(route));
return [new TreeNode(snapshot_1, [])];
}
- var _a = match$1(rawSegment, route, segments, inherited.snapshot), consumedSegments = _a.consumedSegments, parameters = _a.parameters, lastChild = _a.lastChild;
+ var _a = match$1(rawSegment, route, segments), consumedSegments = _a.consumedSegments, parameters = _a.parameters, lastChild = _a.lastChild;
var rawSlicedSegments = segments.slice(lastChild);
var childConfig = getChildConfig(route);
var _b = split$1(rawSegment, consumedSegments, rawSlicedSegments, childConfig), segmentGroup = _b.segmentGroup, slicedSegments = _b.slicedSegments;
- var snapshot = new ActivatedRouteSnapshot(consumedSegments, Object.freeze(merge(inherited.allParams, parameters)), Object.freeze(this.urlTree.queryParams), this.urlTree.fragment, merge(inherited.allData, getData(route)), outlet, route.component, route, getSourceSegmentGroup(rawSegment), getPathIndexShift(rawSegment) + consumedSegments.length, newInheritedResolve);
- var newInherited = route.component ?
- InheritedFromParent.empty(snapshot) :
- new InheritedFromParent(inherited, snapshot, parameters, getData(route), newInheritedResolve);
+ var snapshot = new ActivatedRouteSnapshot(consumedSegments, parameters, Object.freeze(this.urlTree.queryParams), this.urlTree.fragment, getData(route), outlet, route.component, route, getSourceSegmentGroup(rawSegment), getPathIndexShift(rawSegment) + consumedSegments.length, getResolve(route));
if (slicedSegments.length === 0 && segmentGroup.hasChildren()) {
- var children = this.processChildren(childConfig, segmentGroup, newInherited);
+ var children = this.processChildren(childConfig, segmentGroup);
return [new TreeNode(snapshot, children)];
}
else if (childConfig.length === 0 && slicedSegments.length === 0) {
return [new TreeNode(snapshot, [])];
}
else {
- var children = this.processSegment(childConfig, segmentGroup, pathIndex + lastChild, slicedSegments, newInherited, PRIMARY_OUTLET);
+ var children = this.processSegment(childConfig, segmentGroup, pathIndex + lastChild, slicedSegments, PRIMARY_OUTLET);
return [new TreeNode(snapshot, children)];
}
};
@@ -56713,41 +57218,23 @@
return [];
}
}
- function match$1(segmentGroup, route, segments, parent) {
+ function match$1(segmentGroup, route, segments) {
if (route.path === '') {
if (route.pathMatch === 'full' && (segmentGroup.hasChildren() || segments.length > 0)) {
throw new NoMatch$1();
}
else {
- var params = parent ? parent.params : {};
- return { consumedSegments: [], lastChild: 0, parameters: params };
+ return { consumedSegments: [], lastChild: 0, parameters: {} };
}
}
- var path = route.path;
- var parts = path.split('/');
- var posParameters = {};
- var consumedSegments = [];
- var currentIndex = 0;
- for (var i = 0; i < parts.length; ++i) {
- if (currentIndex >= segments.length)
- throw new NoMatch$1();
- var current = segments[currentIndex];
- var p = parts[i];
- var isPosParam = p.startsWith(':');
- if (!isPosParam && p !== current.path)
- throw new NoMatch$1();
- if (isPosParam) {
- posParameters[p.substring(1)] = current.path;
- }
- consumedSegments.push(current);
- currentIndex++;
- }
- if (route.pathMatch === 'full' &&
- (segmentGroup.hasChildren() || currentIndex < segments.length)) {
+ var matcher = route.matcher || defaultUrlMatcher;
+ var res = matcher(segments, segmentGroup, route);
+ if (!res)
throw new NoMatch$1();
- }
- var parameters = merge(posParameters, consumedSegments[consumedSegments.length - 1].parameters);
- return { consumedSegments: consumedSegments, lastChild: currentIndex, parameters: parameters };
+ var posParams = {};
+ forEach(res.posParams, function (v, k) { posParams[k] = v.path; });
+ var parameters = merge(posParams, res.consumed[res.consumed.length - 1].parameters);
+ return { consumedSegments: res.consumed, lastChild: res.consumed.length, parameters: parameters };
}
function checkOutletNameUniqueness(nodes) {
var names = {};
@@ -56880,6 +57367,35 @@
return RouterOutletMap;
}());
+ /**
+ * @license
+ * Copyright Google Inc. All Rights Reserved.
+ *
+ * Use of this source code is governed by an MIT-style license that can be
+ * found in the LICENSE file at https://angular.io/license
+ */
+ /**
+ * @whatItDoes Provides a way to migrate Angular 1 applications to Angular 2.
+ *
+ * @experimental
+ */
+ var UrlHandlingStrategy = (function () {
+ function UrlHandlingStrategy() {
+ }
+ return UrlHandlingStrategy;
+ }());
+ /**
+ * @experimental
+ */
+ var DefaultUrlHandlingStrategy = (function () {
+ function DefaultUrlHandlingStrategy() {
+ }
+ DefaultUrlHandlingStrategy.prototype.shouldProcessUrl = function (url) { return true; };
+ DefaultUrlHandlingStrategy.prototype.extract = function (url) { return url; };
+ DefaultUrlHandlingStrategy.prototype.merge = function (newUrlPart, wholeUrl) { return newUrlPart; };
+ return DefaultUrlHandlingStrategy;
+ }());
+
/**
* @whatItDoes Represents an event triggered when a navigation starts.
*
@@ -56889,7 +57405,7 @@
// TODO: vsavkin: make internal
function NavigationStart(
/** @docsNotRequired */
- id,
+ id,
/** @docsNotRequired */
url) {
this.id = id;
@@ -56908,9 +57424,9 @@
// TODO: vsavkin: make internal
function NavigationEnd(
/** @docsNotRequired */
- id,
+ id,
/** @docsNotRequired */
- url,
+ url,
/** @docsNotRequired */
urlAfterRedirects) {
this.id = id;
@@ -56932,9 +57448,9 @@
// TODO: vsavkin: make internal
function NavigationCancel(
/** @docsNotRequired */
- id,
+ id,
/** @docsNotRequired */
- url,
+ url,
/** @docsNotRequired */
reason) {
this.id = id;
@@ -56954,9 +57470,9 @@
// TODO: vsavkin: make internal
function NavigationError(
/** @docsNotRequired */
- id,
+ id,
/** @docsNotRequired */
- url,
+ url,
/** @docsNotRequired */
error) {
this.id = id;
@@ -56978,11 +57494,11 @@
// TODO: vsavkin: make internal
function RoutesRecognized(
/** @docsNotRequired */
- id,
+ id,
/** @docsNotRequired */
- url,
+ url,
/** @docsNotRequired */
- urlAfterRedirects,
+ urlAfterRedirects,
/** @docsNotRequired */
state) {
this.id = id;
@@ -57020,6 +57536,8 @@
this.location = location;
this.injector = injector;
this.config = config;
+ this.navigations = new rxjs_BehaviorSubject.BehaviorSubject(null);
+ this.routerEvents = new rxjs_Subject.Subject();
this.navigationId = 0;
/**
* Error handler that is invoked when a navigation errors.
@@ -57031,11 +57549,16 @@
* Indicates if at least one navigation happened.
*/
this.navigated = false;
+ /**
+ * Extracts and merges URLs. Used for Angular 1 to Angular 2 migrations.
+ */
+ this.urlHandlingStrategy = new DefaultUrlHandlingStrategy();
this.resetConfig(config);
- this.routerEvents = new rxjs_Subject.Subject();
this.currentUrlTree = createEmptyUrlTree();
+ this.rawUrlTree = this.currentUrlTree;
this.configLoader = new RouterConfigLoader(loader, compiler);
this.currentRouterState = createEmptyState(this.currentUrlTree, this.rootComponentType);
+ this.processNavigations();
}
/**
* @internal
@@ -57062,12 +57585,10 @@
// Zone.current.wrap is needed because of the issue with RxJS scheduler,
// which does not work properly with zone.js in IE and Safari
this.locationSubscription = this.location.subscribe(Zone.current.wrap(function (change) {
- var tree = _this.urlSerializer.parse(change['url']);
- // we fire multiple events for a single URL change
- // we should navigate only once
- return _this.currentUrlTree.toString() !== tree.toString() ?
- _this.scheduleNavigation(tree, { skipLocationChange: change['pop'], replaceUrl: true }) :
- null;
+ var rawUrlTree = _this.urlSerializer.parse(change['url']);
+ setTimeout(function () {
+ _this.scheduleNavigation(rawUrlTree, { skipLocationChange: change['pop'], replaceUrl: true });
+ }, 0);
}));
};
Object.defineProperty(Router.prototype, "routerState", {
@@ -57191,11 +57712,11 @@
Router.prototype.navigateByUrl = function (url, extras) {
if (extras === void 0) { extras = { skipLocationChange: false }; }
if (url instanceof UrlTree) {
- return this.scheduleNavigation(url, extras);
+ return this.scheduleNavigation(this.urlHandlingStrategy.merge(url, this.rawUrlTree), extras);
}
else {
var urlTree = this.urlSerializer.parse(url);
- return this.scheduleNavigation(urlTree, extras);
+ return this.scheduleNavigation(this.urlHandlingStrategy.merge(urlTree, this.rawUrlTree), extras);
}
};
/**
@@ -57221,7 +57742,10 @@
*/
Router.prototype.navigate = function (commands, extras) {
if (extras === void 0) { extras = { skipLocationChange: false }; }
- return this.scheduleNavigation(this.createUrlTree(commands, extras), extras);
+ if (typeof extras.queryParams === 'object' && extras.queryParams !== null) {
+ extras.queryParams = this.removeEmptyProps(extras.queryParams);
+ }
+ return this.navigateByUrl(this.createUrlTree(commands, extras), extras);
};
/**
* Serializes a {@link UrlTree} into a string.
@@ -57243,13 +57767,72 @@
return containsTree(this.currentUrlTree, urlTree, exact);
}
};
- Router.prototype.scheduleNavigation = function (url, extras) {
- var _this = this;
- var id = ++this.navigationId;
- this.routerEvents.next(new NavigationStart(id, this.serializeUrl(url)));
- return Promise.resolve().then(function (_) { return _this.runNavigate(url, extras.skipLocationChange, extras.replaceUrl, id); });
+ Router.prototype.removeEmptyProps = function (params) {
+ return Object.keys(params).reduce(function (result, key) {
+ var value = params[key];
+ if (value !== null && value !== undefined) {
+ result[key] = value;
+ }
+ return result;
+ }, {});
};
- Router.prototype.runNavigate = function (url, shouldPreventPushState, shouldReplaceUrl, id) {
+ Router.prototype.processNavigations = function () {
+ var _this = this;
+ rxjs_operator_concatMap.concatMap
+ .call(this.navigations, function (nav) {
+ if (nav) {
+ _this.executeScheduledNavigation(nav);
+ // a failed navigation should not stop the router from processing
+ // further navigations => the catch
+ return nav.promise.catch(function () { });
+ }
+ else {
+ return rxjs_observable_of.of(null);
+ }
+ })
+ .subscribe(function () { });
+ };
+ Router.prototype.scheduleNavigation = function (rawUrl, extras) {
+ var prevRawUrl = this.navigations.value ? this.navigations.value.rawUrl : null;
+ if (prevRawUrl && prevRawUrl.toString() === rawUrl.toString()) {
+ return this.navigations.value.promise;
+ }
+ var resolve = null;
+ var reject = null;
+ var promise = new Promise(function (res, rej) {
+ resolve = res;
+ reject = rej;
+ });
+ var id = ++this.navigationId;
+ this.navigations.next({ id: id, rawUrl: rawUrl, prevRawUrl: prevRawUrl, extras: extras, resolve: resolve, reject: reject, promise: promise });
+ // Make sure that the error is propagated even though `processNavigations` catch
+ // handler does not rethrow
+ return promise.catch(function (e) { return Promise.reject(e); });
+ };
+ Router.prototype.executeScheduledNavigation = function (_a) {
+ var _this = this;
+ var id = _a.id, rawUrl = _a.rawUrl, prevRawUrl = _a.prevRawUrl, extras = _a.extras, resolve = _a.resolve, reject = _a.reject;
+ var url = this.urlHandlingStrategy.extract(rawUrl);
+ var prevUrl = prevRawUrl ? this.urlHandlingStrategy.extract(prevRawUrl) : null;
+ var urlTransition = !prevUrl || url.toString() !== prevUrl.toString();
+ if (urlTransition && this.urlHandlingStrategy.shouldProcessUrl(rawUrl)) {
+ this.routerEvents.next(new NavigationStart(id, this.serializeUrl(url)));
+ Promise.resolve()
+ .then(function (_) { return _this.runNavigate(url, rawUrl, extras.skipLocationChange, extras.replaceUrl, id, null); })
+ .then(resolve, reject);
+ }
+ else if (urlTransition && prevRawUrl && this.urlHandlingStrategy.shouldProcessUrl(prevRawUrl)) {
+ this.routerEvents.next(new NavigationStart(id, this.serializeUrl(url)));
+ Promise.resolve()
+ .then(function (_) { return _this.runNavigate(url, rawUrl, false, false, id, createEmptyState(url, _this.rootComponentType).snapshot); })
+ .then(resolve, reject);
+ }
+ else {
+ this.rawUrlTree = rawUrl;
+ resolve(null);
+ }
+ };
+ Router.prototype.runNavigate = function (url, rawUrl, shouldPreventPushState, shouldReplaceUrl, id, precreatedState) {
var _this = this;
if (id !== this.navigationId) {
this.location.go(this.urlSerializer.serialize(this.currentUrlTree));
@@ -57257,49 +57840,77 @@
return Promise.resolve(false);
}
return new Promise(function (resolvePromise, rejectPromise) {
- var state;
- var navigationIsSuccessful;
+ // create an observable of the url and route state snapshot
+ // this operation do not result in any side effects
+ var urlAndSnapshot$;
+ if (!precreatedState) {
+ var redirectsApplied$ = applyRedirects(_this.injector, _this.configLoader, _this.urlSerializer, url, _this.config);
+ urlAndSnapshot$ = rxjs_operator_mergeMap.mergeMap.call(redirectsApplied$, function (appliedUrl) {
+ return rxjs_operator_map.map.call(recognize(_this.rootComponentType, _this.config, appliedUrl, _this.serializeUrl(appliedUrl)), function (snapshot) {
+ _this.routerEvents.next(new RoutesRecognized(id, _this.serializeUrl(url), _this.serializeUrl(appliedUrl), snapshot));
+ return { appliedUrl: appliedUrl, snapshot: snapshot };
+ });
+ });
+ }
+ else {
+ urlAndSnapshot$ = rxjs_observable_of.of({ appliedUrl: url, snapshot: precreatedState });
+ }
+ // run preactivation: guards and data resolvers
var preActivation;
- var appliedUrl;
- var storedState = _this.currentRouterState;
- var storedUrl = _this.currentUrlTree;
- var redirectsApplied$ = applyRedirects(_this.injector, _this.configLoader, url, _this.config);
- var snapshot$ = rxjs_operator_mergeMap.mergeMap.call(redirectsApplied$, function (u) {
- appliedUrl = u;
- return recognize(_this.rootComponentType, _this.config, appliedUrl, _this.serializeUrl(appliedUrl));
- });
- var emitRecognzied$ = rxjs_operator_map.map.call(snapshot$, function (newRouterStateSnapshot) {
- _this.routerEvents.next(new RoutesRecognized(id, _this.serializeUrl(url), _this.serializeUrl(appliedUrl), newRouterStateSnapshot));
- return newRouterStateSnapshot;
- });
- var routerState$ = rxjs_operator_map.map.call(emitRecognzied$, function (routerStateSnapshot) {
- return createRouterState(routerStateSnapshot, _this.currentRouterState);
- });
- var preactivation$ = rxjs_operator_map.map.call(routerState$, function (newState) {
- state = newState;
+ var preactivationTraverse$ = rxjs_operator_map.map.call(urlAndSnapshot$, function (_a) {
+ var appliedUrl = _a.appliedUrl, snapshot = _a.snapshot;
preActivation =
- new PreActivation(state.snapshot, _this.currentRouterState.snapshot, _this.injector);
+ new PreActivation(snapshot, _this.currentRouterState.snapshot, _this.injector);
preActivation.traverse(_this.outletMap);
+ return { appliedUrl: appliedUrl, snapshot: snapshot };
});
- var preactivation2$ = rxjs_operator_mergeMap.mergeMap.call(preactivation$, function () { return preActivation.checkGuards(); });
- var resolveData$ = rxjs_operator_mergeMap.mergeMap.call(preactivation2$, function (shouldActivate) {
- if (shouldActivate) {
- return rxjs_operator_map.map.call(preActivation.resolveData(), function () { return shouldActivate; });
+ var preactivationCheckGuards = rxjs_operator_mergeMap.mergeMap.call(preactivationTraverse$, function (_a) {
+ var appliedUrl = _a.appliedUrl, snapshot = _a.snapshot;
+ if (_this.navigationId !== id)
+ return rxjs_observable_of.of(false);
+ return rxjs_operator_map.map.call(preActivation.checkGuards(), function (shouldActivate) {
+ return { appliedUrl: appliedUrl, snapshot: snapshot, shouldActivate: shouldActivate };
+ });
+ });
+ var preactivationResolveData$ = rxjs_operator_mergeMap.mergeMap.call(preactivationCheckGuards, function (p) {
+ if (_this.navigationId !== id)
+ return rxjs_observable_of.of(false);
+ if (p.shouldActivate) {
+ return rxjs_operator_map.map.call(preActivation.resolveData(), function () { return p; });
}
else {
- return rxjs_observable_of.of(shouldActivate);
+ return rxjs_observable_of.of(p);
}
});
- resolveData$
- .forEach(function (shouldActivate) {
+ // create router state
+ // this operation has side effects => route state is being affected
+ var routerState$ = rxjs_operator_map.map.call(preactivationResolveData$, function (_a) {
+ var appliedUrl = _a.appliedUrl, snapshot = _a.snapshot, shouldActivate = _a.shouldActivate;
+ if (shouldActivate) {
+ var state = createRouterState(snapshot, _this.currentRouterState);
+ return { appliedUrl: appliedUrl, state: state, shouldActivate: shouldActivate };
+ }
+ else {
+ return { appliedUrl: appliedUrl, state: null, shouldActivate: shouldActivate };
+ }
+ });
+ // applied the new router state
+ // this operation has side effects
+ var navigationIsSuccessful;
+ var storedState = _this.currentRouterState;
+ var storedUrl = _this.currentUrlTree;
+ routerState$
+ .forEach(function (_a) {
+ var appliedUrl = _a.appliedUrl, state = _a.state, shouldActivate = _a.shouldActivate;
if (!shouldActivate || id !== _this.navigationId) {
navigationIsSuccessful = false;
return;
}
_this.currentUrlTree = appliedUrl;
+ _this.rawUrlTree = _this.urlHandlingStrategy.merge(_this.currentUrlTree, rawUrl);
_this.currentRouterState = state;
if (!shouldPreventPushState) {
- var path = _this.urlSerializer.serialize(appliedUrl);
+ var path = _this.urlSerializer.serialize(_this.rawUrlTree);
if (_this.location.isCurrentPathEqualTo(path) || shouldReplaceUrl) {
_this.location.replaceState(path);
}
@@ -57313,15 +57924,17 @@
.then(function () {
_this.navigated = true;
if (navigationIsSuccessful) {
- _this.routerEvents.next(new NavigationEnd(id, _this.serializeUrl(url), _this.serializeUrl(appliedUrl)));
+ _this.routerEvents.next(new NavigationEnd(id, _this.serializeUrl(url), _this.serializeUrl(_this.currentUrlTree)));
resolvePromise(true);
}
else {
+ _this.resetUrlToCurrentUrlTree();
_this.routerEvents.next(new NavigationCancel(id, _this.serializeUrl(url), ''));
resolvePromise(false);
}
}, function (e) {
if (e instanceof NavigationCancelingError) {
+ _this.resetUrlToCurrentUrlTree();
_this.navigated = true;
_this.routerEvents.next(new NavigationCancel(id, _this.serializeUrl(url), e.message));
resolvePromise(false);
@@ -57335,14 +57948,17 @@
rejectPromise(ee);
}
}
- if (id === _this.navigationId) {
- _this.currentRouterState = storedState;
- _this.currentUrlTree = storedUrl;
- _this.location.replaceState(_this.serializeUrl(storedUrl));
- }
+ _this.currentRouterState = storedState;
+ _this.currentUrlTree = storedUrl;
+ _this.rawUrlTree = _this.urlHandlingStrategy.merge(_this.currentUrlTree, rawUrl);
+ _this.location.replaceState(_this.serializeUrl(_this.rawUrlTree));
});
});
};
+ Router.prototype.resetUrlToCurrentUrlTree = function () {
+ var path = this.urlSerializer.serialize(this.rawUrlTree);
+ this.location.replaceState(path);
+ };
return Router;
}());
var CanActivate = (function () {
@@ -57380,7 +57996,7 @@
if (this.checks.length === 0)
return rxjs_observable_of.of(true);
var checks$ = rxjs_observable_from.from(this.checks);
- var runningChecks$ = rxjs_operator_map.map.call(checks$, function (s) {
+ var runningChecks$ = rxjs_operator_mergeMap.mergeMap.call(checks$, function (s) {
if (s instanceof CanActivate) {
return andObservables(rxjs_observable_from.from([_this.runCanActivateChild(s.path), _this.runCanActivate(s.route)]));
}
@@ -57393,8 +58009,7 @@
throw new Error('Cannot be reached');
}
});
- var mergedChecks$ = rxjs_operator_mergeAll.mergeAll.call(runningChecks$);
- return rxjs_operator_every.every.call(mergedChecks$, function (result) { return result === true; });
+ return rxjs_operator_every.every.call(runningChecks$, function (result) { return result === true; });
};
PreActivation.prototype.resolveData = function () {
var _this = this;
@@ -57418,7 +58033,7 @@
_this.traverseRoutes(c, prevChildren[c.value.outlet], outletMap, futurePath.concat([c.value]));
delete prevChildren[c.value.outlet];
});
- forEach(prevChildren, function (v, k) { return _this.deactivateOutletAndItChildren(v, outletMap._outlets[k]); });
+ forEach(prevChildren, function (v, k) { return _this.deactiveRouteAndItsChildren(v, outletMap._outlets[k]); });
};
PreActivation.prototype.traverseRoutes = function (futureNode, currNode, parentOutletMap, futurePath) {
var future = futureNode.value;
@@ -57426,12 +58041,13 @@
var outlet = parentOutletMap ? parentOutletMap._outlets[futureNode.value.outlet] : null;
// reusing the node
if (curr && future._routeConfig === curr._routeConfig) {
- if (!shallowEqual(future.params, curr.params)) {
+ if (!equalParamsAndUrlSegments(future, curr)) {
this.checks.push(new CanDeactivate(outlet.component, curr), new CanActivate(futurePath));
}
else {
// we need to set the data
future.data = curr.data;
+ future._resolvedData = curr._resolvedData;
}
// If we have a component, we need to go through an outlet.
if (future.component) {
@@ -57443,13 +58059,7 @@
}
else {
if (curr) {
- // if we had a normal route, we need to deactivate only that outlet.
- if (curr.component) {
- this.deactivateOutletAndItChildren(curr, outlet);
- }
- else {
- this.deactivateOutletMap(parentOutletMap);
- }
+ this.deactiveRouteAndItsChildren(currNode, outlet);
}
this.checks.push(new CanActivate(futurePath));
// If we have a component, we need to go through an outlet.
@@ -57461,19 +58071,30 @@
}
}
};
- PreActivation.prototype.deactivateOutletAndItChildren = function (route, outlet) {
- if (outlet && outlet.isActivated) {
- this.deactivateOutletMap(outlet.outletMap);
- this.checks.push(new CanDeactivate(outlet.component, route));
- }
- };
- PreActivation.prototype.deactivateOutletMap = function (outletMap) {
+ PreActivation.prototype.deactiveRouteAndItsChildren = function (route, outlet) {
var _this = this;
- forEach(outletMap._outlets, function (v) {
- if (v.isActivated) {
- _this.deactivateOutletAndItChildren(v.activatedRoute.snapshot, v);
+ var prevChildren = nodeChildrenAsMap(route);
+ var r = route.value;
+ forEach(prevChildren, function (v, k) {
+ if (!r.component) {
+ _this.deactiveRouteAndItsChildren(v, outlet);
+ }
+ else if (!!outlet) {
+ _this.deactiveRouteAndItsChildren(v, outlet.outletMap._outlets[k]);
+ }
+ else {
+ _this.deactiveRouteAndItsChildren(v, null);
}
});
+ if (!r.component) {
+ this.checks.push(new CanDeactivate(null, r));
+ }
+ else if (outlet && outlet.isActivated) {
+ this.checks.push(new CanDeactivate(outlet.component, r));
+ }
+ else {
+ this.checks.push(new CanDeactivate(null, r));
+ }
};
PreActivation.prototype.runCanActivate = function (future) {
var _this = this;
@@ -57482,12 +58103,14 @@
return rxjs_observable_of.of(true);
var obs = rxjs_operator_map.map.call(rxjs_observable_from.from(canActivate), function (c) {
var guard = _this.getToken(c, future);
+ var observable;
if (guard.canActivate) {
- return wrapIntoObservable(guard.canActivate(future, _this.future));
+ observable = wrapIntoObservable(guard.canActivate(future, _this.future));
}
else {
- return wrapIntoObservable(guard(future, _this.future));
+ observable = wrapIntoObservable(guard(future, _this.future));
}
+ return rxjs_operator_first.first.call(observable);
});
return andObservables(obs);
};
@@ -57501,12 +58124,14 @@
return andObservables(rxjs_operator_map.map.call(rxjs_observable_from.from(canActivateChildGuards), function (d) {
var obs = rxjs_operator_map.map.call(rxjs_observable_from.from(d.guards), function (c) {
var guard = _this.getToken(c, c.node);
+ var observable;
if (guard.canActivateChild) {
- return wrapIntoObservable(guard.canActivateChild(future, _this.future));
+ observable = wrapIntoObservable(guard.canActivateChild(future, _this.future));
}
else {
- return wrapIntoObservable(guard(future, _this.future));
+ observable = wrapIntoObservable(guard(future, _this.future));
}
+ return rxjs_operator_first.first.call(observable);
});
return andObservables(obs);
}));
@@ -57522,23 +58147,24 @@
var canDeactivate = curr && curr._routeConfig ? curr._routeConfig.canDeactivate : null;
if (!canDeactivate || canDeactivate.length === 0)
return rxjs_observable_of.of(true);
- var canDeactivate$ = rxjs_operator_map.map.call(rxjs_observable_from.from(canDeactivate), function (c) {
+ var canDeactivate$ = rxjs_operator_mergeMap.mergeMap.call(rxjs_observable_from.from(canDeactivate), function (c) {
var guard = _this.getToken(c, curr);
+ var observable;
if (guard.canDeactivate) {
- return wrapIntoObservable(guard.canDeactivate(component, curr, _this.curr));
+ observable = wrapIntoObservable(guard.canDeactivate(component, curr, _this.curr));
}
else {
- return wrapIntoObservable(guard(component, curr, _this.curr));
+ observable = wrapIntoObservable(guard(component, curr, _this.curr));
}
+ return rxjs_operator_first.first.call(observable);
});
- var merged$ = rxjs_operator_mergeAll.mergeAll.call(canDeactivate$);
- return rxjs_operator_every.every.call(merged$, function (result) { return result === true; });
+ return rxjs_operator_every.every.call(canDeactivate$, function (result) { return result === true; });
};
PreActivation.prototype.runResolve = function (future) {
var resolve = future._resolve;
- return rxjs_operator_map.map.call(this.resolveNode(resolve.current, future), function (resolvedData) {
- resolve.resolvedData = resolvedData;
- future.data = merge(future.data, resolve.flattenedResolvedData);
+ return rxjs_operator_map.map.call(this.resolveNode(resolve, future), function (resolvedData) {
+ future._resolvedData = resolvedData;
+ future.data = merge(future.data, inheritedParamsDataResolve(future).resolve);
return null;
});
};
@@ -57565,17 +58191,43 @@
ActivateRoutes.prototype.activate = function (parentOutletMap) {
var futureRoot = this.futureState._root;
var currRoot = this.currState ? this.currState._root : null;
+ this.deactivateChildRoutes(futureRoot, currRoot, parentOutletMap);
advanceActivatedRoute(this.futureState.root);
this.activateChildRoutes(futureRoot, currRoot, parentOutletMap);
};
+ ActivateRoutes.prototype.deactivateChildRoutes = function (futureNode, currNode, outletMap) {
+ var _this = this;
+ var prevChildren = nodeChildrenAsMap(currNode);
+ futureNode.children.forEach(function (c) {
+ _this.deactivateRoutes(c, prevChildren[c.value.outlet], outletMap);
+ delete prevChildren[c.value.outlet];
+ });
+ forEach(prevChildren, function (v, k) { return _this.deactiveRouteAndItsChildren(v, outletMap); });
+ };
ActivateRoutes.prototype.activateChildRoutes = function (futureNode, currNode, outletMap) {
var _this = this;
var prevChildren = nodeChildrenAsMap(currNode);
- futureNode.children.forEach(function (c) {
- _this.activateRoutes(c, prevChildren[c.value.outlet], outletMap);
- delete prevChildren[c.value.outlet];
- });
- forEach(prevChildren, function (v, k) { return _this.deactivateOutletAndItChildren(outletMap._outlets[k]); });
+ futureNode.children.forEach(function (c) { _this.activateRoutes(c, prevChildren[c.value.outlet], outletMap); });
+ };
+ ActivateRoutes.prototype.deactivateRoutes = function (futureNode, currNode, parentOutletMap) {
+ var future = futureNode.value;
+ var curr = currNode ? currNode.value : null;
+ // reusing the node
+ if (future === curr) {
+ // If we have a normal route, we need to go through an outlet.
+ if (future.component) {
+ var outlet = getOutlet(parentOutletMap, future);
+ this.deactivateChildRoutes(futureNode, currNode, outlet.outletMap);
+ }
+ else {
+ this.deactivateChildRoutes(futureNode, currNode, parentOutletMap);
+ }
+ }
+ else {
+ if (curr) {
+ this.deactiveRouteAndItsChildren(currNode, parentOutletMap);
+ }
+ }
};
ActivateRoutes.prototype.activateRoutes = function (futureNode, currNode, parentOutletMap) {
var future = futureNode.value;
@@ -57586,7 +58238,7 @@
advanceActivatedRoute(future);
// If we have a normal route, we need to go through an outlet.
if (future.component) {
- var outlet = getOutlet(parentOutletMap, futureNode.value);
+ var outlet = getOutlet(parentOutletMap, future);
this.activateChildRoutes(futureNode, currNode, outlet.outletMap);
}
else {
@@ -57594,16 +58246,6 @@
}
}
else {
- if (curr) {
- // if we had a normal route, we need to deactivate only that outlet.
- if (curr.component) {
- var outlet = getOutlet(parentOutletMap, futureNode.value);
- this.deactivateOutletAndItChildren(outlet);
- }
- else {
- this.deactivateOutletMap(parentOutletMap);
- }
- }
// if we have a normal route, we need to advance the route
// and place the component into the outlet. After that recurse.
if (future.component) {
@@ -57625,25 +58267,44 @@
useValue: outletMap
}];
var config = parentLoadedConfig(future.snapshot);
- var loadedFactoryResolver = null;
- var loadedInjector = null;
+ var resolver = null;
+ var injector = null;
if (config) {
- loadedFactoryResolver = config.factoryResolver;
- loadedInjector = config.injector;
- resolved.push({ provide: _angular_core.ComponentFactoryResolver, useValue: loadedFactoryResolver });
+ injector = config.injectorFactory(outlet.locationInjector);
+ resolver = config.factoryResolver;
+ resolved.push({ provide: _angular_core.ComponentFactoryResolver, useValue: resolver });
}
- outlet.activate(future, loadedFactoryResolver, loadedInjector, _angular_core.ReflectiveInjector.resolve(resolved), outletMap);
+ else {
+ injector = outlet.locationInjector;
+ resolver = outlet.locationFactoryResolver;
+ }
+ outlet.activate(future, resolver, injector, _angular_core.ReflectiveInjector.resolve(resolved), outletMap);
};
- ActivateRoutes.prototype.deactivateOutletAndItChildren = function (outlet) {
+ ActivateRoutes.prototype.deactiveRouteAndItsChildren = function (route, parentOutletMap) {
+ var _this = this;
+ var prevChildren = nodeChildrenAsMap(route);
+ var outlet = null;
+ // getOutlet throws when cannot find the right outlet,
+ // which can happen if an outlet was in an NgIf and was removed
+ try {
+ outlet = getOutlet(parentOutletMap, route.value);
+ }
+ catch (e) {
+ return;
+ }
+ var childOutletMap = outlet.outletMap;
+ forEach(prevChildren, function (v, k) {
+ if (route.value.component) {
+ _this.deactiveRouteAndItsChildren(v, childOutletMap);
+ }
+ else {
+ _this.deactiveRouteAndItsChildren(v, parentOutletMap);
+ }
+ });
if (outlet && outlet.isActivated) {
- this.deactivateOutletMap(outlet.outletMap);
outlet.deactivate();
}
};
- ActivateRoutes.prototype.deactivateOutletMap = function (outletMap) {
- var _this = this;
- forEach(outletMap._outlets, function (v) { return _this.deactivateOutletAndItChildren(v); });
- };
return ActivateRoutes;
}());
function parentLoadedConfig(snapshot) {
@@ -57781,12 +58442,9 @@
enumerable: true,
configurable: true
});
- RouterLink.prototype.onClick = function (button, ctrlKey, metaKey) {
- if (button !== 0 || ctrlKey || metaKey) {
- return true;
- }
+ RouterLink.prototype.onClick = function () {
this.router.navigateByUrl(this.urlTree);
- return false;
+ return true;
};
Object.defineProperty(RouterLink.prototype, "urlTree", {
get: function () {
@@ -57816,7 +58474,7 @@
'preserveQueryParams': [{ type: _angular_core.Input },],
'preserveFragment': [{ type: _angular_core.Input },],
'routerLink': [{ type: _angular_core.Input },],
- 'onClick': [{ type: _angular_core.HostListener, args: ['click', ['$event.button', '$event.ctrlKey', '$event.metaKey'],] },],
+ 'onClick': [{ type: _angular_core.HostListener, args: ['click', [],] },],
};
return RouterLink;
}());
@@ -57917,7 +58575,7 @@
* @howToUse
*
* ```
- * Bob
+ * Bob
* ```
*
* @description
@@ -57928,7 +58586,7 @@
* Consider the following example:
*
* ```
- * Bob
+ * Bob
* ```
*
* When the url is either '/user' or '/user/bob', the active-link class will
@@ -57937,24 +58595,32 @@
* You can set more than one class, as follows:
*
* ```
- * Bob
- * Bob
+ * Bob
+ * Bob
* ```
*
* You can configure RouterLinkActive by passing `exact: true`. This will add the classes
* only when the url matches the link exactly.
*
* ```
- * Bob
* ```
*
+ * You can assign the RouterLinkActive instance to a template variable and directly check
+ * the `isActive` status.
+ * ```
+ *
+ * Bob {{ rla.isActive ? '(already open)' : ''}}
+ *
+ * ```
+ *
* Finally, you can apply the RouterLinkActive directive to an ancestor of a RouterLink.
*
* ```
*
* ```
*
@@ -57980,6 +58646,11 @@
}
});
}
+ Object.defineProperty(RouterLinkActive.prototype, "isActive", {
+ get: function () { return this.hasActiveLink(); },
+ enumerable: true,
+ configurable: true
+ });
RouterLinkActive.prototype.ngAfterContentInit = function () {
var _this = this;
this.links.changes.subscribe(function (s) { return _this.update(); });
@@ -58005,7 +58676,11 @@
if (!this.links || !this.linksWithHrefs || !this.router.navigated)
return;
var isActive = this.hasActiveLink();
- this.classes.forEach(function (c) { return _this.renderer.setElementClass(_this.element.nativeElement, c, isActive); });
+ this.classes.forEach(function (c) {
+ if (c) {
+ _this.renderer.setElementClass(_this.element.nativeElement, c, isActive);
+ }
+ });
};
RouterLinkActive.prototype.isLinkActive = function (router) {
var _this = this;
@@ -58018,7 +58693,10 @@
this.linksWithHrefs.some(this.isLinkActive(this.router));
};
RouterLinkActive.decorators = [
- { type: _angular_core.Directive, args: [{ selector: '[routerLinkActive]' },] },
+ { type: _angular_core.Directive, args: [{
+ selector: '[routerLinkActive]',
+ exportAs: 'routerLinkActive',
+ },] },
];
/** @nocollapse */
RouterLinkActive.ctorParameters = [
@@ -58071,6 +58749,16 @@
parentOutletMap.registerOutlet(name ? name : PRIMARY_OUTLET, this);
}
RouterOutlet.prototype.ngOnDestroy = function () { this.parentOutletMap.removeOutlet(this.name ? this.name : PRIMARY_OUTLET); };
+ Object.defineProperty(RouterOutlet.prototype, "locationInjector", {
+ get: function () { return this.location.injector; },
+ enumerable: true,
+ configurable: true
+ });
+ Object.defineProperty(RouterOutlet.prototype, "locationFactoryResolver", {
+ get: function () { return this.resolver; },
+ enumerable: true,
+ configurable: true
+ });
Object.defineProperty(RouterOutlet.prototype, "isActivated", {
get: function () { return !!this.activated; },
enumerable: true,
@@ -58102,19 +58790,15 @@
this.deactivateEvents.emit(c);
}
};
- RouterOutlet.prototype.activate = function (activatedRoute, loadedResolver, loadedInjector, providers, outletMap) {
+ RouterOutlet.prototype.activate = function (activatedRoute, resolver, injector, providers, outletMap) {
+ if (this.isActivated) {
+ throw new Error('Cannot activate an already activated outlet');
+ }
this.outletMap = outletMap;
this._activatedRoute = activatedRoute;
var snapshot = activatedRoute._futureSnapshot;
var component = snapshot._routeConfig.component;
- var factory;
- if (loadedResolver) {
- factory = loadedResolver.resolveComponentFactory(component);
- }
- else {
- factory = this.resolver.resolveComponentFactory(component);
- }
- var injector = loadedInjector ? loadedInjector : this.location.parentInjector;
+ var factory = resolver.resolveComponentFactory(component);
var inj = _angular_core.ReflectiveInjector.fromResolvedProviders(providers, injector);
this.activated = this.location.createComponent(factory, this.location.length, inj, []);
this.activated.changeDetectorRef.detectChanges();
@@ -58137,6 +58821,8 @@
return RouterOutlet;
}());
+ var getDOM = _angular_platformBrowser.__platform_browser_private__.getDOM;
+
/**
* @whatItDoes Provides a preloading strategy.
*
@@ -58190,6 +58876,8 @@
* will check if any configurations can be loaded lazily.
*
* If a route is protected by `canLoad` guards, the preloaded will not load it.
+ *
+ * @stable
*/
var RouterPreloader = (function () {
function RouterPreloader(router, moduleLoader, compiler, injector, preloadingStrategy) {
@@ -58269,7 +58957,7 @@
useFactory: setupRouter,
deps: [
_angular_core.ApplicationRef, UrlSerializer, RouterOutletMap, _angular_common.Location, _angular_core.Injector, _angular_core.NgModuleFactoryLoader,
- _angular_core.Compiler, ROUTES, ROUTER_CONFIGURATION
+ _angular_core.Compiler, ROUTES, ROUTER_CONFIGURATION, [UrlHandlingStrategy, new _angular_core.Optional()]
]
},
RouterOutletMap, { provide: ActivatedRoute, useFactory: rootRoute, deps: [Router] },
@@ -58414,27 +59102,34 @@
{ provide: ROUTES, multi: true, useValue: routes }
];
}
- function setupRouter(ref, urlSerializer, outletMap, location, injector, loader, compiler, config, opts) {
+ function setupRouter(ref, urlSerializer, outletMap, location, injector, loader, compiler, config, opts, urlHandlingStrategy) {
if (opts === void 0) { opts = {}; }
- var r = new Router(null, urlSerializer, outletMap, location, injector, loader, compiler, flatten(config));
+ var router = new Router(null, urlSerializer, outletMap, location, injector, loader, compiler, flatten(config));
+ if (urlHandlingStrategy) {
+ router.urlHandlingStrategy = urlHandlingStrategy;
+ }
if (opts.errorHandler) {
- r.errorHandler = opts.errorHandler;
+ router.errorHandler = opts.errorHandler;
}
if (opts.enableTracing) {
- r.events.subscribe(function (e) {
- console.group("Router Event: " + e.constructor.name);
- console.log(e.toString());
- console.log(e);
- console.groupEnd();
+ var dom_1 = getDOM();
+ router.events.subscribe(function (e) {
+ dom_1.logGroup("Router Event: " + e.constructor.name);
+ dom_1.log(e.toString());
+ dom_1.log(e);
+ dom_1.logGroupEnd();
});
}
- return r;
+ return router;
}
function rootRoute(router) {
return router.routerState.root;
}
function initialRouterNavigation(router, ref, preloader, opts) {
- return function () {
+ return function (bootstrappedComponentRef) {
+ if (bootstrappedComponentRef !== ref.components[0]) {
+ return;
+ }
router.resetRootComponentType(ref.componentTypes[0]);
preloader.setUpPreloading();
if (opts.initialNavigation === false) {
@@ -58445,13 +59140,21 @@
}
};
}
+ /**
+ * A token for the router initializer that will be called after the app is bootstrapped.
+ *
+ * @experimental
+ */
+ var ROUTER_INITIALIZER = new _angular_core.OpaqueToken('Router Initializer');
function provideRouterInitializer() {
- return {
- provide: _angular_core.APP_BOOTSTRAP_LISTENER,
- multi: true,
- useFactory: initialRouterNavigation,
- deps: [Router, _angular_core.ApplicationRef, RouterPreloader, ROUTER_CONFIGURATION]
- };
+ return [
+ {
+ provide: ROUTER_INITIALIZER,
+ useFactory: initialRouterNavigation,
+ deps: [Router, _angular_core.ApplicationRef, RouterPreloader, ROUTER_CONFIGURATION]
+ },
+ { provide: _angular_core.APP_BOOTSTRAP_LISTENER, multi: true, useExisting: ROUTER_INITIALIZER }
+ ];
}
var __router_private__ = {
@@ -58470,37 +59173,41 @@
exports.NavigationStart = NavigationStart;
exports.Router = Router;
exports.RoutesRecognized = RoutesRecognized;
+ exports.ROUTER_CONFIGURATION = ROUTER_CONFIGURATION;
+ exports.ROUTER_INITIALIZER = ROUTER_INITIALIZER;
exports.RouterModule = RouterModule;
exports.provideRoutes = provideRoutes;
exports.RouterOutletMap = RouterOutletMap;
exports.NoPreloading = NoPreloading;
exports.PreloadAllModules = PreloadAllModules;
exports.PreloadingStrategy = PreloadingStrategy;
+ exports.RouterPreloader = RouterPreloader;
exports.ActivatedRoute = ActivatedRoute;
exports.ActivatedRouteSnapshot = ActivatedRouteSnapshot;
exports.RouterState = RouterState;
exports.RouterStateSnapshot = RouterStateSnapshot;
exports.PRIMARY_OUTLET = PRIMARY_OUTLET;
+ exports.UrlHandlingStrategy = UrlHandlingStrategy;
exports.DefaultUrlSerializer = DefaultUrlSerializer;
exports.UrlSegment = UrlSegment;
+ exports.UrlSegmentGroup = UrlSegmentGroup;
exports.UrlSerializer = UrlSerializer;
exports.UrlTree = UrlTree;
exports.__router_private__ = __router_private__;
}));
-
/***/ },
-/* 403 */
+/* 402 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
- var FromObservable_1 = __webpack_require__(404);
+ var FromObservable_1 = __webpack_require__(403);
exports.from = FromObservable_1.FromObservable.create;
//# sourceMappingURL=from.js.map
/***/ },
-/* 404 */
+/* 403 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -58512,9 +59219,9 @@
var isArray_1 = __webpack_require__(321);
var isPromise_1 = __webpack_require__(348);
var PromiseObservable_1 = __webpack_require__(337);
- var IteratorObservable_1 = __webpack_require__(405);
+ var IteratorObservable_1 = __webpack_require__(404);
var ArrayObservable_1 = __webpack_require__(341);
- var ArrayLikeObservable_1 = __webpack_require__(406);
+ var ArrayLikeObservable_1 = __webpack_require__(405);
var iterator_1 = __webpack_require__(349);
var Observable_1 = __webpack_require__(315);
var observeOn_1 = __webpack_require__(361);
@@ -58621,7 +59328,7 @@
//# sourceMappingURL=FromObservable.js.map
/***/ },
-/* 405 */
+/* 404 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -58783,7 +59490,7 @@
//# sourceMappingURL=IteratorObservable.js.map
/***/ },
-/* 406 */
+/* 405 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -58858,7 +59565,7 @@
//# sourceMappingURL=ArrayLikeObservable.js.map
/***/ },
-/* 407 */
+/* 406 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -58867,11 +59574,11 @@
//# sourceMappingURL=of.js.map
/***/ },
-/* 408 */
+/* 407 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
- var mergeMap_1 = __webpack_require__(409);
+ var mergeMap_1 = __webpack_require__(408);
/**
* Projects each source value to an Observable which is merged in the output
* Observable, in a serialized fashion waiting for each one to complete before
@@ -58935,7 +59642,7 @@
//# sourceMappingURL=concatMap.js.map
/***/ },
-/* 409 */
+/* 408 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -59101,7 +59808,7 @@
//# sourceMappingURL=mergeMap.js.map
/***/ },
-/* 410 */
+/* 409 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -59174,7 +59881,7 @@
//# sourceMappingURL=every.js.map
/***/ },
-/* 411 */
+/* 410 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -59184,248 +59891,7 @@
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Subscriber_1 = __webpack_require__(318);
- /**
- * Applies an accumulator function over the source Observable, and returns the
- * accumulated result when the source completes, given an optional seed value.
- *
- * Combines together all values emitted on the source,
- * using an accumulator function that knows how to join a new source value into
- * the accumulation from the past.
- *
- *
- *
- * Like
- * [Array.prototype.reduce()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce),
- * `reduce` applies an `accumulator` function against an accumulation and each
- * value of the source Observable (from the past) to reduce it to a single
- * value, emitted on the output Observable. Note that `reduce` will only emit
- * one value, only when the source Observable completes. It is equivalent to
- * applying operator {@link scan} followed by operator {@link last}.
- *
- * Returns an Observable that applies a specified `accumulator` function to each
- * item emitted by the source Observable. If a `seed` value is specified, then
- * that value will be used as the initial value for the accumulator. If no seed
- * value is specified, the first item of the source is used as the seed.
- *
- * @example Count the number of click events that happened in 5 seconds
- * var clicksInFiveSeconds = Rx.Observable.fromEvent(document, 'click')
- * .takeUntil(Rx.Observable.interval(5000));
- * var ones = clicksInFiveSeconds.mapTo(1);
- * var seed = 0;
- * var count = ones.reduce((acc, one) => acc + one, seed);
- * count.subscribe(x => console.log(x));
- *
- * @see {@link count}
- * @see {@link expand}
- * @see {@link mergeScan}
- * @see {@link scan}
- *
- * @param {function(acc: R, value: T): R} accumulator The accumulator function
- * called on each source value.
- * @param {R} [seed] The initial accumulation value.
- * @return {Observable} An observable of the accumulated values.
- * @return {Observable} An Observable that emits a single value that is the
- * result of accumulating the values emitted by the source Observable.
- * @method reduce
- * @owner Observable
- */
- function reduce(accumulator, seed) {
- return this.lift(new ReduceOperator(accumulator, seed));
- }
- exports.reduce = reduce;
- var ReduceOperator = (function () {
- function ReduceOperator(accumulator, seed) {
- this.accumulator = accumulator;
- this.seed = seed;
- }
- ReduceOperator.prototype.call = function (subscriber, source) {
- return source._subscribe(new ReduceSubscriber(subscriber, this.accumulator, this.seed));
- };
- return ReduceOperator;
- }());
- exports.ReduceOperator = ReduceOperator;
- /**
- * We need this JSDoc comment for affecting ESDoc.
- * @ignore
- * @extends {Ignored}
- */
- var ReduceSubscriber = (function (_super) {
- __extends(ReduceSubscriber, _super);
- function ReduceSubscriber(destination, accumulator, seed) {
- _super.call(this, destination);
- this.accumulator = accumulator;
- this.hasValue = false;
- this.acc = seed;
- this.accumulator = accumulator;
- this.hasSeed = typeof seed !== 'undefined';
- }
- ReduceSubscriber.prototype._next = function (value) {
- if (this.hasValue || (this.hasValue = this.hasSeed)) {
- this._tryReduce(value);
- }
- else {
- this.acc = value;
- this.hasValue = true;
- }
- };
- ReduceSubscriber.prototype._tryReduce = function (value) {
- var result;
- try {
- result = this.accumulator(this.acc, value);
- }
- catch (err) {
- this.destination.error(err);
- return;
- }
- this.acc = result;
- };
- ReduceSubscriber.prototype._complete = function () {
- if (this.hasValue || this.hasSeed) {
- this.destination.next(this.acc);
- }
- this.destination.complete();
- };
- return ReduceSubscriber;
- }(Subscriber_1.Subscriber));
- exports.ReduceSubscriber = ReduceSubscriber;
- //# sourceMappingURL=reduce.js.map
-
-/***/ },
-/* 412 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __extends = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- var OuterSubscriber_1 = __webpack_require__(346);
- var subscribeToResult_1 = __webpack_require__(347);
- /**
- * Catches errors on the observable to be handled by returning a new observable or throwing an error.
- * @param {function} selector a function that takes as arguments `err`, which is the error, and `caught`, which
- * is the source observable, in case you'd like to "retry" that observable by returning it again. Whatever observable
- * is returned by the `selector` will be used to continue the observable chain.
- * @return {Observable} an observable that originates from either the source or the observable returned by the
- * catch `selector` function.
- * @method catch
- * @owner Observable
- */
- function _catch(selector) {
- var operator = new CatchOperator(selector);
- var caught = this.lift(operator);
- return (operator.caught = caught);
- }
- exports._catch = _catch;
- var CatchOperator = (function () {
- function CatchOperator(selector) {
- this.selector = selector;
- }
- CatchOperator.prototype.call = function (subscriber, source) {
- return source._subscribe(new CatchSubscriber(subscriber, this.selector, this.caught));
- };
- return CatchOperator;
- }());
- /**
- * We need this JSDoc comment for affecting ESDoc.
- * @ignore
- * @extends {Ignored}
- */
- var CatchSubscriber = (function (_super) {
- __extends(CatchSubscriber, _super);
- function CatchSubscriber(destination, selector, caught) {
- _super.call(this, destination);
- this.selector = selector;
- this.caught = caught;
- }
- // NOTE: overriding `error` instead of `_error` because we don't want
- // to have this flag this subscriber as `isStopped`.
- CatchSubscriber.prototype.error = function (err) {
- if (!this.isStopped) {
- var result = void 0;
- try {
- result = this.selector(err, this.caught);
- }
- catch (err) {
- this.destination.error(err);
- return;
- }
- this.unsubscribe();
- this.destination.remove(this);
- subscribeToResult_1.subscribeToResult(this, result);
- }
- };
- return CatchSubscriber;
- }(OuterSubscriber_1.OuterSubscriber));
- //# sourceMappingURL=catch.js.map
-
-/***/ },
-/* 413 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var mergeAll_1 = __webpack_require__(345);
- /**
- * Converts a higher-order Observable into a first-order Observable by
- * concatenating the inner Observables in order.
- *
- * Flattens an Observable-of-Observables by putting one
- * inner Observable after the other.
- *
- *
- *
- * Joins every Observable emitted by the source (a higher-order Observable), in
- * a serial fashion. It subscribes to each inner Observable only after the
- * previous inner Observable has completed, and merges all of their values into
- * the returned observable.
- *
- * __Warning:__ If the source Observable emits Observables quickly and
- * endlessly, and the inner Observables it emits generally complete slower than
- * the source emits, you can run into memory issues as the incoming Observables
- * collect in an unbounded buffer.
- *
- * Note: `concatAll` is equivalent to `mergeAll` with concurrency parameter set
- * to `1`.
- *
- * @example For each click event, tick every second from 0 to 3, with no concurrency
- * var clicks = Rx.Observable.fromEvent(document, 'click');
- * var higherOrder = clicks.map(ev => Rx.Observable.interval(1000).take(4));
- * var firstOrder = higherOrder.concatAll();
- * firstOrder.subscribe(x => console.log(x));
- *
- * @see {@link combineAll}
- * @see {@link concat}
- * @see {@link concatMap}
- * @see {@link concatMapTo}
- * @see {@link exhaust}
- * @see {@link mergeAll}
- * @see {@link switch}
- * @see {@link zipAll}
- *
- * @return {Observable} An Observable emitting values from all the inner
- * Observables concatenated.
- * @method concatAll
- * @owner Observable
- */
- function concatAll() {
- return this.lift(new mergeAll_1.MergeAllOperator(1));
- }
- exports.concatAll = concatAll;
- //# sourceMappingURL=concatAll.js.map
-
-/***/ },
-/* 414 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __extends = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- var Subscriber_1 = __webpack_require__(318);
- var EmptyError_1 = __webpack_require__(415);
+ var EmptyError_1 = __webpack_require__(411);
/**
* Emits only the first value (or the first value that meets some condition)
* emitted by the source Observable.
@@ -59568,7 +60034,7 @@
//# sourceMappingURL=first.js.map
/***/ },
-/* 415 */
+/* 411 */
/***/ function(module, exports) {
"use strict";
@@ -59601,7 +60067,7 @@
//# sourceMappingURL=EmptyError.js.map
/***/ },
-/* 416 */
+/* 412 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -59611,7 +60077,248 @@
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
var Subscriber_1 = __webpack_require__(318);
- var EmptyError_1 = __webpack_require__(415);
+ /**
+ * Applies an accumulator function over the source Observable, and returns the
+ * accumulated result when the source completes, given an optional seed value.
+ *
+ * Combines together all values emitted on the source,
+ * using an accumulator function that knows how to join a new source value into
+ * the accumulation from the past.
+ *
+ *
+ *
+ * Like
+ * [Array.prototype.reduce()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce),
+ * `reduce` applies an `accumulator` function against an accumulation and each
+ * value of the source Observable (from the past) to reduce it to a single
+ * value, emitted on the output Observable. Note that `reduce` will only emit
+ * one value, only when the source Observable completes. It is equivalent to
+ * applying operator {@link scan} followed by operator {@link last}.
+ *
+ * Returns an Observable that applies a specified `accumulator` function to each
+ * item emitted by the source Observable. If a `seed` value is specified, then
+ * that value will be used as the initial value for the accumulator. If no seed
+ * value is specified, the first item of the source is used as the seed.
+ *
+ * @example Count the number of click events that happened in 5 seconds
+ * var clicksInFiveSeconds = Rx.Observable.fromEvent(document, 'click')
+ * .takeUntil(Rx.Observable.interval(5000));
+ * var ones = clicksInFiveSeconds.mapTo(1);
+ * var seed = 0;
+ * var count = ones.reduce((acc, one) => acc + one, seed);
+ * count.subscribe(x => console.log(x));
+ *
+ * @see {@link count}
+ * @see {@link expand}
+ * @see {@link mergeScan}
+ * @see {@link scan}
+ *
+ * @param {function(acc: R, value: T): R} accumulator The accumulator function
+ * called on each source value.
+ * @param {R} [seed] The initial accumulation value.
+ * @return {Observable} An observable of the accumulated values.
+ * @return {Observable} An Observable that emits a single value that is the
+ * result of accumulating the values emitted by the source Observable.
+ * @method reduce
+ * @owner Observable
+ */
+ function reduce(accumulator, seed) {
+ return this.lift(new ReduceOperator(accumulator, seed));
+ }
+ exports.reduce = reduce;
+ var ReduceOperator = (function () {
+ function ReduceOperator(accumulator, seed) {
+ this.accumulator = accumulator;
+ this.seed = seed;
+ }
+ ReduceOperator.prototype.call = function (subscriber, source) {
+ return source._subscribe(new ReduceSubscriber(subscriber, this.accumulator, this.seed));
+ };
+ return ReduceOperator;
+ }());
+ exports.ReduceOperator = ReduceOperator;
+ /**
+ * We need this JSDoc comment for affecting ESDoc.
+ * @ignore
+ * @extends {Ignored}
+ */
+ var ReduceSubscriber = (function (_super) {
+ __extends(ReduceSubscriber, _super);
+ function ReduceSubscriber(destination, accumulator, seed) {
+ _super.call(this, destination);
+ this.accumulator = accumulator;
+ this.hasValue = false;
+ this.acc = seed;
+ this.accumulator = accumulator;
+ this.hasSeed = typeof seed !== 'undefined';
+ }
+ ReduceSubscriber.prototype._next = function (value) {
+ if (this.hasValue || (this.hasValue = this.hasSeed)) {
+ this._tryReduce(value);
+ }
+ else {
+ this.acc = value;
+ this.hasValue = true;
+ }
+ };
+ ReduceSubscriber.prototype._tryReduce = function (value) {
+ var result;
+ try {
+ result = this.accumulator(this.acc, value);
+ }
+ catch (err) {
+ this.destination.error(err);
+ return;
+ }
+ this.acc = result;
+ };
+ ReduceSubscriber.prototype._complete = function () {
+ if (this.hasValue || this.hasSeed) {
+ this.destination.next(this.acc);
+ }
+ this.destination.complete();
+ };
+ return ReduceSubscriber;
+ }(Subscriber_1.Subscriber));
+ exports.ReduceSubscriber = ReduceSubscriber;
+ //# sourceMappingURL=reduce.js.map
+
+/***/ },
+/* 413 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __extends = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ var OuterSubscriber_1 = __webpack_require__(346);
+ var subscribeToResult_1 = __webpack_require__(347);
+ /**
+ * Catches errors on the observable to be handled by returning a new observable or throwing an error.
+ * @param {function} selector a function that takes as arguments `err`, which is the error, and `caught`, which
+ * is the source observable, in case you'd like to "retry" that observable by returning it again. Whatever observable
+ * is returned by the `selector` will be used to continue the observable chain.
+ * @return {Observable} an observable that originates from either the source or the observable returned by the
+ * catch `selector` function.
+ * @method catch
+ * @owner Observable
+ */
+ function _catch(selector) {
+ var operator = new CatchOperator(selector);
+ var caught = this.lift(operator);
+ return (operator.caught = caught);
+ }
+ exports._catch = _catch;
+ var CatchOperator = (function () {
+ function CatchOperator(selector) {
+ this.selector = selector;
+ }
+ CatchOperator.prototype.call = function (subscriber, source) {
+ return source._subscribe(new CatchSubscriber(subscriber, this.selector, this.caught));
+ };
+ return CatchOperator;
+ }());
+ /**
+ * We need this JSDoc comment for affecting ESDoc.
+ * @ignore
+ * @extends {Ignored}
+ */
+ var CatchSubscriber = (function (_super) {
+ __extends(CatchSubscriber, _super);
+ function CatchSubscriber(destination, selector, caught) {
+ _super.call(this, destination);
+ this.selector = selector;
+ this.caught = caught;
+ }
+ // NOTE: overriding `error` instead of `_error` because we don't want
+ // to have this flag this subscriber as `isStopped`.
+ CatchSubscriber.prototype.error = function (err) {
+ if (!this.isStopped) {
+ var result = void 0;
+ try {
+ result = this.selector(err, this.caught);
+ }
+ catch (err) {
+ this.destination.error(err);
+ return;
+ }
+ this.unsubscribe();
+ this.destination.remove(this);
+ subscribeToResult_1.subscribeToResult(this, result);
+ }
+ };
+ return CatchSubscriber;
+ }(OuterSubscriber_1.OuterSubscriber));
+ //# sourceMappingURL=catch.js.map
+
+/***/ },
+/* 414 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var mergeAll_1 = __webpack_require__(345);
+ /**
+ * Converts a higher-order Observable into a first-order Observable by
+ * concatenating the inner Observables in order.
+ *
+ * Flattens an Observable-of-Observables by putting one
+ * inner Observable after the other.
+ *
+ *
+ *
+ * Joins every Observable emitted by the source (a higher-order Observable), in
+ * a serial fashion. It subscribes to each inner Observable only after the
+ * previous inner Observable has completed, and merges all of their values into
+ * the returned observable.
+ *
+ * __Warning:__ If the source Observable emits Observables quickly and
+ * endlessly, and the inner Observables it emits generally complete slower than
+ * the source emits, you can run into memory issues as the incoming Observables
+ * collect in an unbounded buffer.
+ *
+ * Note: `concatAll` is equivalent to `mergeAll` with concurrency parameter set
+ * to `1`.
+ *
+ * @example For each click event, tick every second from 0 to 3, with no concurrency
+ * var clicks = Rx.Observable.fromEvent(document, 'click');
+ * var higherOrder = clicks.map(ev => Rx.Observable.interval(1000).take(4));
+ * var firstOrder = higherOrder.concatAll();
+ * firstOrder.subscribe(x => console.log(x));
+ *
+ * @see {@link combineAll}
+ * @see {@link concat}
+ * @see {@link concatMap}
+ * @see {@link concatMapTo}
+ * @see {@link exhaust}
+ * @see {@link mergeAll}
+ * @see {@link switch}
+ * @see {@link zipAll}
+ *
+ * @return {Observable} An Observable emitting values from all the inner
+ * Observables concatenated.
+ * @method concatAll
+ * @owner Observable
+ */
+ function concatAll() {
+ return this.lift(new mergeAll_1.MergeAllOperator(1));
+ }
+ exports.concatAll = concatAll;
+ //# sourceMappingURL=concatAll.js.map
+
+/***/ },
+/* 415 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __extends = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ var Subscriber_1 = __webpack_require__(318);
+ var EmptyError_1 = __webpack_require__(411);
/**
* Returns an Observable that emits only the last item emitted by the source Observable.
* It optionally takes a predicate function as a parameter, in which case, rather than emitting
@@ -59724,23 +60431,23 @@
//# sourceMappingURL=last.js.map
/***/ },
-/* 417 */
+/* 416 */
/***/ function(module, exports) {
module.exports = "\r\n
\r\n \r\n {{ name$ | async }} \r\n \r\n\r\nTo be done...";
/***/ },
-/* 418 */
+/* 417 */
/***/ function(module, exports) {
- module.exports = ""
+ module.exports = ":host {\n width: 100%;\n height: 100%;\n display: block; }\n"
/***/ },
-/* 419 */
+/* 418 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
- var add_on_component_1 = __webpack_require__(401);
+ var add_on_component_1 = __webpack_require__(400);
exports.addOnRoutes = [
{
path: 'add-on/:name',
@@ -59750,19 +60457,47 @@
/***/ },
-/* 420 */
+/* 419 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
+ __export(__webpack_require__(420));
__export(__webpack_require__(421));
- __export(__webpack_require__(454));
- __export(__webpack_require__(455));
+ __export(__webpack_require__(429));
__export(__webpack_require__(460));
+/***/ },
+/* 420 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var keymap_add_component_1 = __webpack_require__(421);
+ var keymap_edit_component_1 = __webpack_require__(429);
+ exports.keymapRoutes = [
+ {
+ path: '',
+ redirectTo: '/keymap',
+ pathMatch: 'full'
+ },
+ {
+ path: 'keymap',
+ component: keymap_edit_component_1.KeymapEditComponent
+ },
+ {
+ path: 'keymap/add',
+ component: keymap_add_component_1.KeymapAddComponent
+ },
+ {
+ path: 'keymap/:abbr',
+ component: keymap_edit_component_1.KeymapEditComponent
+ }
+ ];
+
+
/***/ },
/* 421 */
/***/ function(module, exports, __webpack_require__) {
@@ -59778,15 +60513,434 @@
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var core_1 = __webpack_require__(313);
- var router_1 = __webpack_require__(402);
- __webpack_require__(422);
var store_1 = __webpack_require__(353);
- __webpack_require__(423);
- __webpack_require__(425);
- __webpack_require__(426);
- var keymap_1 = __webpack_require__(427);
- var KeymapComponent = (function () {
- function KeymapComponent(store, route) {
+ __webpack_require__(422);
+ var BehaviorSubject_1 = __webpack_require__(354);
+ var actions_1 = __webpack_require__(424);
+ var KeymapAddComponent = (function () {
+ function KeymapAddComponent(store) {
+ var _this = this;
+ this.store = store;
+ this.presetsAll$ = store.select(function (appState) { return appState.presetKeymaps; });
+ this.filterExpression$ = new BehaviorSubject_1.BehaviorSubject('');
+ this.subscription = this.presetsAll$.combineLatest(this.filterExpression$, function (keymaps, filterExpression) {
+ return keymaps.filter(function (keymap) { return keymap.name.toLocaleLowerCase().includes(filterExpression); });
+ }).subscribe(function (keymaps) { return _this.presets = keymaps; });
+ }
+ KeymapAddComponent.prototype.ngOnDestroy = function () {
+ this.subscription.unsubscribe();
+ };
+ KeymapAddComponent.prototype.filterKeyboards = function (filterExpression) {
+ this.filterExpression$.next(filterExpression);
+ };
+ KeymapAddComponent.prototype.addKeymap = function (keymap) {
+ this.store.dispatch(actions_1.KeymapActions.addKeymap(keymap));
+ };
+ KeymapAddComponent = __decorate([
+ core_1.Component({
+ selector: 'keymap-add',
+ template: __webpack_require__(427),
+ styles: [__webpack_require__(428)],
+ host: {
+ 'class': 'container-fluid'
+ }
+ }),
+ __metadata('design:paramtypes', [store_1.Store])
+ ], KeymapAddComponent);
+ return KeymapAddComponent;
+ }());
+ exports.KeymapAddComponent = KeymapAddComponent;
+
+
+/***/ },
+/* 422 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var Observable_1 = __webpack_require__(315);
+ var combineLatest_1 = __webpack_require__(423);
+ Observable_1.Observable.prototype.combineLatest = combineLatest_1.combineLatest;
+ //# sourceMappingURL=combineLatest.js.map
+
+/***/ },
+/* 423 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __extends = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ var ArrayObservable_1 = __webpack_require__(341);
+ var isArray_1 = __webpack_require__(321);
+ var OuterSubscriber_1 = __webpack_require__(346);
+ var subscribeToResult_1 = __webpack_require__(347);
+ var none = {};
+ /**
+ * Combines multiple Observables to create an Observable whose values are
+ * calculated from the latest values of each of its input Observables.
+ *
+ * Whenever any input Observable emits a value, it
+ * computes a formula using the latest values from all the inputs, then emits
+ * the output of that formula.
+ *
+ *
+ *
+ * `combineLatest` combines the values from this Observable with values from
+ * Observables passed as arguments. This is done by subscribing to each
+ * Observable, in order, and collecting an array of each of the most recent
+ * values any time any of the input Observables emits, then either taking that
+ * array and passing it as arguments to an optional `project` function and
+ * emitting the return value of that, or just emitting the array of recent
+ * values directly if there is no `project` function.
+ *
+ * @example Dynamically calculate the Body-Mass Index from an Observable of weight and one for height
+ * var weight = Rx.Observable.of(70, 72, 76, 79, 75);
+ * var height = Rx.Observable.of(1.76, 1.77, 1.78);
+ * var bmi = weight.combineLatest(height, (w, h) => w / (h * h));
+ * bmi.subscribe(x => console.log('BMI is ' + x));
+ *
+ * @see {@link combineAll}
+ * @see {@link merge}
+ * @see {@link withLatestFrom}
+ *
+ * @param {Observable} other An input Observable to combine with the source
+ * Observable. More than one input Observables may be given as argument.
+ * @param {function} [project] An optional function to project the values from
+ * the combined latest values into a new value on the output Observable.
+ * @return {Observable} An Observable of projected values from the most recent
+ * values from each input Observable, or an array of the most recent values from
+ * each input Observable.
+ * @method combineLatest
+ * @owner Observable
+ */
+ function combineLatest() {
+ var observables = [];
+ for (var _i = 0; _i < arguments.length; _i++) {
+ observables[_i - 0] = arguments[_i];
+ }
+ var project = null;
+ if (typeof observables[observables.length - 1] === 'function') {
+ project = observables.pop();
+ }
+ // if the first and only other argument besides the resultSelector is an array
+ // assume it's been called with `combineLatest([obs1, obs2, obs3], project)`
+ if (observables.length === 1 && isArray_1.isArray(observables[0])) {
+ observables = observables[0];
+ }
+ observables.unshift(this);
+ return new ArrayObservable_1.ArrayObservable(observables).lift(new CombineLatestOperator(project));
+ }
+ exports.combineLatest = combineLatest;
+ /* tslint:enable:max-line-length */
+ var CombineLatestOperator = (function () {
+ function CombineLatestOperator(project) {
+ this.project = project;
+ }
+ CombineLatestOperator.prototype.call = function (subscriber, source) {
+ return source._subscribe(new CombineLatestSubscriber(subscriber, this.project));
+ };
+ return CombineLatestOperator;
+ }());
+ exports.CombineLatestOperator = CombineLatestOperator;
+ /**
+ * We need this JSDoc comment for affecting ESDoc.
+ * @ignore
+ * @extends {Ignored}
+ */
+ var CombineLatestSubscriber = (function (_super) {
+ __extends(CombineLatestSubscriber, _super);
+ function CombineLatestSubscriber(destination, project) {
+ _super.call(this, destination);
+ this.project = project;
+ this.active = 0;
+ this.values = [];
+ this.observables = [];
+ }
+ CombineLatestSubscriber.prototype._next = function (observable) {
+ this.values.push(none);
+ this.observables.push(observable);
+ };
+ CombineLatestSubscriber.prototype._complete = function () {
+ var observables = this.observables;
+ var len = observables.length;
+ if (len === 0) {
+ this.destination.complete();
+ }
+ else {
+ this.active = len;
+ this.toRespond = len;
+ for (var i = 0; i < len; i++) {
+ var observable = observables[i];
+ this.add(subscribeToResult_1.subscribeToResult(this, observable, observable, i));
+ }
+ }
+ };
+ CombineLatestSubscriber.prototype.notifyComplete = function (unused) {
+ if ((this.active -= 1) === 0) {
+ this.destination.complete();
+ }
+ };
+ CombineLatestSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
+ var values = this.values;
+ var oldVal = values[outerIndex];
+ var toRespond = !this.toRespond
+ ? 0
+ : oldVal === none ? --this.toRespond : this.toRespond;
+ values[outerIndex] = innerValue;
+ if (toRespond === 0) {
+ if (this.project) {
+ this._tryProject(values);
+ }
+ else {
+ this.destination.next(values.slice());
+ }
+ }
+ };
+ CombineLatestSubscriber.prototype._tryProject = function (values) {
+ var result;
+ try {
+ result = this.project.apply(this, values);
+ }
+ catch (err) {
+ this.destination.error(err);
+ return;
+ }
+ this.destination.next(result);
+ };
+ return CombineLatestSubscriber;
+ }(OuterSubscriber_1.OuterSubscriber));
+ exports.CombineLatestSubscriber = CombineLatestSubscriber;
+ //# sourceMappingURL=combineLatest.js.map
+
+/***/ },
+/* 424 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(425));
+ __export(__webpack_require__(426));
+
+
+/***/ },
+/* 425 */
+/***/ function(module, exports) {
+
+ "use strict";
+ var KeymapActions;
+ (function (KeymapActions) {
+ KeymapActions.PREFIX = '[Keymap] ';
+ KeymapActions.ADD = KeymapActions.PREFIX + 'Add keymap';
+ KeymapActions.DUPLICATE = KeymapActions.PREFIX + 'Duplicate keymap';
+ KeymapActions.EDIT_ABBR = KeymapActions.PREFIX + 'Edit keymap abbreviation';
+ KeymapActions.EDIT_NAME = KeymapActions.PREFIX + 'Edit keymap title';
+ KeymapActions.SAVE_KEY = KeymapActions.PREFIX + 'Save key action';
+ KeymapActions.SET_DEFAULT = KeymapActions.PREFIX + 'Set default option';
+ KeymapActions.REMOVE = KeymapActions.PREFIX + 'Remove keymap';
+ KeymapActions.CHECK_MACRO = KeymapActions.PREFIX + 'Check deleted macro';
+ function addKeymap(item) {
+ return {
+ type: KeymapActions.ADD,
+ payload: item
+ };
+ }
+ KeymapActions.addKeymap = addKeymap;
+ function setDefault(abbr) {
+ return {
+ type: KeymapActions.SET_DEFAULT,
+ payload: abbr
+ };
+ }
+ KeymapActions.setDefault = setDefault;
+ function removeKeymap(abbr) {
+ return {
+ type: KeymapActions.REMOVE,
+ payload: abbr
+ };
+ }
+ KeymapActions.removeKeymap = removeKeymap;
+ function duplicateKeymap(keymap) {
+ return {
+ type: KeymapActions.DUPLICATE,
+ payload: keymap
+ };
+ }
+ KeymapActions.duplicateKeymap = duplicateKeymap;
+ function editKeymapName(abbr, name) {
+ return {
+ type: KeymapActions.EDIT_NAME,
+ payload: {
+ abbr: abbr,
+ name: name
+ }
+ };
+ }
+ KeymapActions.editKeymapName = editKeymapName;
+ function editKeymapAbbr(abbr, newAbbr) {
+ return {
+ type: KeymapActions.EDIT_ABBR,
+ payload: {
+ abbr: abbr,
+ newAbbr: newAbbr
+ }
+ };
+ }
+ KeymapActions.editKeymapAbbr = editKeymapAbbr;
+ function saveKey(keymap, layer, module, key, keyAction) {
+ return {
+ type: KeymapActions.SAVE_KEY,
+ payload: {
+ keymap: keymap,
+ layer: layer,
+ module: module,
+ key: key,
+ keyAction: keyAction
+ }
+ };
+ }
+ KeymapActions.saveKey = saveKey;
+ function checkMacro(macro) {
+ return {
+ type: KeymapActions.CHECK_MACRO,
+ payload: macro
+ };
+ }
+ KeymapActions.checkMacro = checkMacro;
+ })(KeymapActions = exports.KeymapActions || (exports.KeymapActions = {}));
+
+
+/***/ },
+/* 426 */
+/***/ function(module, exports) {
+
+ "use strict";
+ var MacroActions;
+ (function (MacroActions) {
+ MacroActions.PREFIX = '[Macro] ';
+ MacroActions.DUPLICATE = MacroActions.PREFIX + 'Duplicate macro';
+ MacroActions.EDIT_NAME = MacroActions.PREFIX + 'Edit macro title';
+ MacroActions.REMOVE = MacroActions.PREFIX + 'Remove macro';
+ MacroActions.ADD = MacroActions.PREFIX + 'Add macro';
+ MacroActions.ADD_ACTION = MacroActions.PREFIX + 'Add macro action';
+ MacroActions.SAVE_ACTION = MacroActions.PREFIX + 'Save macro action';
+ MacroActions.DELETE_ACTION = MacroActions.PREFIX + 'Delete macro action';
+ MacroActions.REORDER_ACTION = MacroActions.PREFIX + 'Reorder macro action';
+ function addMacro() {
+ return {
+ type: MacroActions.ADD
+ };
+ }
+ MacroActions.addMacro = addMacro;
+ function removeMacro(id) {
+ return {
+ type: MacroActions.REMOVE,
+ payload: id
+ };
+ }
+ MacroActions.removeMacro = removeMacro;
+ function duplicateMacro(macro) {
+ return {
+ type: MacroActions.DUPLICATE,
+ payload: macro
+ };
+ }
+ MacroActions.duplicateMacro = duplicateMacro;
+ function editMacroName(id, name) {
+ return {
+ type: MacroActions.EDIT_NAME,
+ payload: {
+ id: id,
+ name: name
+ }
+ };
+ }
+ MacroActions.editMacroName = editMacroName;
+ function addMacroAction(id, action) {
+ return {
+ type: MacroActions.ADD_ACTION,
+ payload: {
+ id: id,
+ action: action
+ }
+ };
+ }
+ MacroActions.addMacroAction = addMacroAction;
+ function saveMacroAction(id, index, action) {
+ return {
+ type: MacroActions.SAVE_ACTION,
+ payload: {
+ id: id,
+ index: index,
+ action: action
+ }
+ };
+ }
+ MacroActions.saveMacroAction = saveMacroAction;
+ function deleteMacroAction(id, index, action) {
+ return {
+ type: MacroActions.DELETE_ACTION,
+ payload: {
+ id: id,
+ index: index,
+ action: action
+ }
+ };
+ }
+ MacroActions.deleteMacroAction = deleteMacroAction;
+ function reorderMacroAction(id, oldIndex, newIndex) {
+ return {
+ type: MacroActions.REORDER_ACTION,
+ payload: {
+ id: id,
+ oldIndex: oldIndex,
+ newIndex: newIndex
+ }
+ };
+ }
+ MacroActions.reorderMacroAction = reorderMacroAction;
+ })(MacroActions = exports.MacroActions || (exports.MacroActions = {}));
+
+
+/***/ },
+/* 427 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n \r\n Add new keymap \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {{ presets.length }} / {{ (presetsAll$ | async).length }} keymaps shown\r\n
\r\n
\r\n\r\n
\r\n
{{ keymap.name }} \r\n
\r\n {{ keymap.description }}\r\n
\r\n
\r\n \r\n
\r\n Add keymap \r\n
\r\n
\r\n
\r\n\r\n Sorry, no keyboard found under this search query.\r\n
";
+
+/***/ },
+/* 428 */
+/***/ function(module, exports) {
+
+ module.exports = ":host {\n overflow-y: auto;\n display: block;\n height: 100%; }\n\n.uhk__layer-switcher--wrapper {\n position: relative; }\n .uhk__layer-switcher--wrapper:before {\n content: attr(data-title);\n display: inline-block;\n position: absolute;\n bottom: -0.3em;\n right: 100%;\n font-size: 2.4rem;\n padding-right: 0.25em;\n margin: 0; }\n\n.keymap__search {\n margin-top: 10px; }\n .keymap__search .input-group {\n width: 100%;\n max-width: 350px;\n float: left; }\n .keymap__search_amount {\n float: left;\n margin: 7px 0 0 20px; }\n\n.keymap__description {\n margin-bottom: 20px; }\n\n.keymap__list {\n margin-top: 40px; }\n .keymap__list_item {\n margin-bottom: 50px; }\n .keymap__list .btn-group-lg {\n margin: 30px 0 0;\n width: 100%;\n text-align: center; }\n .keymap__list .btn-group-lg .btn {\n float: none;\n padding-left: 50px;\n padding-right: 50px; }\n"
+
+/***/ },
+/* 429 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var router_1 = __webpack_require__(401);
+ __webpack_require__(430);
+ var store_1 = __webpack_require__(353);
+ __webpack_require__(431);
+ __webpack_require__(433);
+ __webpack_require__(435);
+ var keymap_1 = __webpack_require__(436);
+ var KeymapEditComponent = (function () {
+ function KeymapEditComponent(store, route) {
this.store = store;
this.route = route;
var keymapConnectable = route
@@ -59796,43 +60950,48 @@
.publishReplay();
this.keymap$ = keymapConnectable;
keymapConnectable.connect();
+ this.deletable$ = store.let(keymap_1.getKeymapEntities())
+ .map(function (keymaps) { return keymaps.length > 1; });
}
- KeymapComponent = __decorate([
+ KeymapEditComponent = __decorate([
core_1.Component({
- selector: 'keymap',
- template: __webpack_require__(452),
- styles: [__webpack_require__(453)]
+ selector: 'keymap-edit',
+ template: __webpack_require__(458),
+ styles: [__webpack_require__(459)],
+ host: {
+ 'class': 'container-fluid'
+ }
}),
__metadata('design:paramtypes', [store_1.Store, router_1.ActivatedRoute])
- ], KeymapComponent);
- return KeymapComponent;
+ ], KeymapEditComponent);
+ return KeymapEditComponent;
}());
- exports.KeymapComponent = KeymapComponent;
+ exports.KeymapEditComponent = KeymapEditComponent;
/***/ },
-/* 422 */
+/* 430 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(315);
- var select_1 = __webpack_require__(383);
+ var select_1 = __webpack_require__(382);
Observable_1.Observable.prototype.select = select_1.select;
/***/ },
-/* 423 */
+/* 431 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(315);
- var let_1 = __webpack_require__(424);
+ var let_1 = __webpack_require__(432);
Observable_1.Observable.prototype.let = let_1.letProto;
Observable_1.Observable.prototype.letBind = let_1.letProto;
//# sourceMappingURL=let.js.map
/***/ },
-/* 424 */
+/* 432 */
/***/ function(module, exports) {
"use strict";
@@ -59849,40 +61008,67 @@
//# sourceMappingURL=let.js.map
/***/ },
-/* 425 */
+/* 433 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(315);
- var publishReplay_1 = __webpack_require__(372);
+ var publishReplay_1 = __webpack_require__(434);
Observable_1.Observable.prototype.publishReplay = publishReplay_1.publishReplay;
//# sourceMappingURL=publishReplay.js.map
/***/ },
-/* 426 */
+/* 434 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var ReplaySubject_1 = __webpack_require__(372);
+ var multicast_1 = __webpack_require__(376);
+ /**
+ * @param bufferSize
+ * @param windowTime
+ * @param scheduler
+ * @return {ConnectableObservable}
+ * @method publishReplay
+ * @owner Observable
+ */
+ function publishReplay(bufferSize, windowTime, scheduler) {
+ if (bufferSize === void 0) { bufferSize = Number.POSITIVE_INFINITY; }
+ if (windowTime === void 0) { windowTime = Number.POSITIVE_INFINITY; }
+ return multicast_1.multicast.call(this, new ReplaySubject_1.ReplaySubject(bufferSize, windowTime, scheduler));
+ }
+ exports.publishReplay = publishReplay;
+ //# sourceMappingURL=publishReplay.js.map
+
+/***/ },
+/* 435 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
var Observable_1 = __webpack_require__(315);
- var switchMap_1 = __webpack_require__(380);
+ var switchMap_1 = __webpack_require__(379);
Observable_1.Observable.prototype.switchMap = switchMap_1.switchMap;
//# sourceMappingURL=switchMap.js.map
/***/ },
-/* 427 */
+/* 436 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
- __webpack_require__(422);
- __webpack_require__(428);
- var Keymap_1 = __webpack_require__(429);
- var actions_1 = __webpack_require__(449);
+ __webpack_require__(430);
+ __webpack_require__(437);
+ var key_action_1 = __webpack_require__(438);
+ var Keymap_1 = __webpack_require__(455);
+ var Layer_1 = __webpack_require__(456);
+ var Module_1 = __webpack_require__(457);
+ var actions_1 = __webpack_require__(424);
var initialState = {
entities: []
};
function default_1(state, action) {
if (state === void 0) { state = initialState; }
var newState;
+ var changedKeymap = new Keymap_1.Keymap();
switch (action.type) {
case actions_1.KeymapActions.ADD:
case actions_1.KeymapActions.DUPLICATE:
@@ -59918,7 +61104,12 @@
};
case actions_1.KeymapActions.SET_DEFAULT:
newState = state.entities.map(function (keymap) {
- keymap.isDefault = (keymap.abbreviation === action.payload);
+ if (keymap.abbreviation === action.payload || keymap.isDefault) {
+ var newKeymap_1 = new Keymap_1.Keymap();
+ Object.assign(newKeymap_1, keymap);
+ keymap = newKeymap_1;
+ keymap.isDefault = keymap.abbreviation === action.payload;
+ }
return keymap;
});
return {
@@ -59937,20 +61128,50 @@
if (isDefault_1 && filtered.length > 0) {
filtered[0].isDefault = true;
}
+ // Check for the deleted keymap in other keymaps
+ newState = filtered.map(function (keymap) {
+ changedKeymap = new Keymap_1.Keymap();
+ Object.assign(changedKeymap, keymap);
+ changedKeymap.layers = checkExistence(changedKeymap.layers, 'keymapAbbreviation', action.payload);
+ return changedKeymap;
+ });
return {
- entities: filtered
+ entities: newState
};
case actions_1.KeymapActions.SAVE_KEY:
- var changedKeymap_1 = new Keymap_1.Keymap;
+ var keymap = action.payload.keymap;
+ Object.assign(changedKeymap, keymap);
+ var layerIndex = action.payload.layer;
+ var layer = changedKeymap.layers[layerIndex];
+ var changedLayer = new Layer_1.Layer();
+ Object.assign(changedLayer, layer);
+ changedKeymap.layers[layerIndex] = changedLayer;
+ var moduleIndex = action.payload.module;
+ var module_1 = changedLayer.modules[moduleIndex];
+ var changedModule = new Module_1.Module();
+ Object.assign(changedModule, module_1);
+ changedLayer.modules[moduleIndex] = changedModule;
+ var keyIndex = action.payload.key;
+ changedModule.keyActions[keyIndex] = key_action_1.Helper.createKeyAction(action.payload.keyAction);
newState = state.entities.map(function (keymap) {
- if (keymap.abbreviation === action.payload.abbreviation) {
- keymap = Object.assign(changedKeymap_1, action.payload);
+ if (keymap.abbreviation === changedKeymap.abbreviation) {
+ keymap = changedKeymap;
}
return keymap;
});
return {
entities: newState
};
+ case actions_1.KeymapActions.CHECK_MACRO:
+ newState = state.entities.map(function (keymap) {
+ changedKeymap = new Keymap_1.Keymap();
+ Object.assign(changedKeymap, keymap);
+ changedKeymap.layers = checkExistence(changedKeymap.layers, '_macroId', action.payload);
+ return changedKeymap;
+ });
+ return {
+ entities: newState
+ };
default: {
return state;
}
@@ -60000,10 +61221,25 @@
}
return name;
}
+ function checkExistence(layers, property, value) {
+ var newLayers = layers.map(function (layer) {
+ var newLayer = new Layer_1.Layer(layer);
+ newLayer.modules = layer.modules.map(function (module) {
+ module.keyActions.forEach(function (action, index) {
+ if (action && action.hasOwnProperty(property) && action[property] === value) {
+ module.keyActions[index] = undefined;
+ }
+ });
+ return module;
+ });
+ return newLayer;
+ });
+ return newLayers;
+ }
/***/ },
-/* 428 */
+/* 437 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -60013,72 +61249,93 @@
//# sourceMappingURL=map.js.map
/***/ },
-/* 429 */
+/* 438 */
/***/ function(module, exports, __webpack_require__) {
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(439));
+ __export(__webpack_require__(441));
+ __export(__webpack_require__(444));
+ __export(__webpack_require__(445));
+ __export(__webpack_require__(446));
+ __export(__webpack_require__(447));
+ __export(__webpack_require__(448));
+ __export(__webpack_require__(449));
+
+
+/***/ },
+/* 439 */
+/***/ function(module, exports, __webpack_require__) {
+
+ ///
"use strict";
var __extends = (this && this.__extends) || function (d, b) {
for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
- var Serializable_1 = __webpack_require__(430);
- var Layer_1 = __webpack_require__(431);
- var Keymap = (function (_super) {
- __extends(Keymap, _super);
- function Keymap(keymap) {
- _super.call(this);
- if (!keymap) {
- return;
- }
- this.name = keymap.name;
- this.description = keymap.description;
- this.abbreviation = keymap.abbreviation;
- this.isDefault = keymap.isDefault;
- this.layers = keymap.layers.map(function (layer) { return new Layer_1.Layer(layer); });
+ var Serializable_1 = __webpack_require__(440);
+ (function (KeyActionId) {
+ KeyActionId[KeyActionId["NoneAction"] = 0] = "NoneAction";
+ KeyActionId[KeyActionId["KeystrokeAction"] = 1] = "KeystrokeAction";
+ /*
+ 1 - 7 are reserved for KeystrokeAction
+ 3 bits:
+ 1: Do we have scancode?
+ 2: Do we have modifiers?
+ 3: Do we have longpress?
+ */
+ KeyActionId[KeyActionId["LastKeystrokeAction"] = 7] = "LastKeystrokeAction";
+ KeyActionId[KeyActionId["SwitchLayerAction"] = 8] = "SwitchLayerAction";
+ KeyActionId[KeyActionId["SwitchKeymapAction"] = 9] = "SwitchKeymapAction";
+ KeyActionId[KeyActionId["MouseAction"] = 10] = "MouseAction";
+ KeyActionId[KeyActionId["PlayMacroAction"] = 11] = "PlayMacroAction";
+ })(exports.KeyActionId || (exports.KeyActionId = {}));
+ var KeyActionId = exports.KeyActionId;
+ exports.keyActionType = {
+ NoneAction: 'none',
+ KeystrokeAction: 'keystroke',
+ SwitchLayerAction: 'switchLayer',
+ SwitchKeymapAction: 'switchKeymap',
+ MouseAction: 'mouse',
+ PlayMacroAction: 'playMacro'
+ };
+ var KeyAction = (function (_super) {
+ __extends(KeyAction, _super);
+ function KeyAction() {
+ _super.apply(this, arguments);
}
- Keymap.prototype._fromJsObject = function (jsObject) {
- this.isDefault = jsObject.isDefault;
- this.abbreviation = jsObject.abbreviation;
- this.name = jsObject.name;
- this.description = jsObject.description;
- this.layers = jsObject.layers.map(function (layer) { return new Layer_1.Layer().fromJsObject(layer); });
- return this;
+ KeyAction.prototype.assertKeyActionType = function (jsObject) {
+ var keyActionClassname = this.constructor.name;
+ var keyActionTypeString = exports.keyActionType[keyActionClassname];
+ if (jsObject.keyActionType !== keyActionTypeString) {
+ throw "Invalid " + keyActionClassname + ".keyActionType: " + jsObject.keyActionType;
+ }
};
- Keymap.prototype._fromBinary = function (buffer) {
- this.isDefault = buffer.readBoolean();
- this.abbreviation = buffer.readString();
- this.name = buffer.readString();
- this.description = buffer.readString();
- this.layers = buffer.readArray(Layer_1.Layer);
- return this;
+ KeyAction.prototype.readAndAssertKeyActionId = function (buffer) {
+ var classname = this.constructor.name;
+ var readKeyActionId = buffer.readUInt8();
+ var keyActionId = KeyActionId[classname];
+ if (keyActionId === KeyActionId.KeystrokeAction) {
+ if (readKeyActionId < KeyActionId.KeystrokeAction || readKeyActionId > KeyActionId.LastKeystrokeAction) {
+ throw "Invalid " + classname + " first byte: " + readKeyActionId;
+ }
+ }
+ else if (readKeyActionId !== keyActionId) {
+ throw "Invalid " + classname + " first byte: " + readKeyActionId;
+ }
+ return readKeyActionId;
};
- Keymap.prototype._toJsObject = function () {
- return {
- isDefault: this.isDefault,
- abbreviation: this.abbreviation,
- name: this.name,
- description: this.description,
- layers: this.layers.map(function (layer) { return layer.toJsObject(); })
- };
- };
- Keymap.prototype._toBinary = function (buffer) {
- buffer.writeBoolean(this.isDefault);
- buffer.writeString(this.abbreviation);
- buffer.writeString(this.name);
- buffer.writeString(this.description);
- buffer.writeArray(this.layers);
- };
- Keymap.prototype.toString = function () {
- return "";
- };
- return Keymap;
+ return KeyAction;
}(Serializable_1.Serializable));
- exports.Keymap = Keymap;
+ exports.KeyAction = KeyAction;
/***/ },
-/* 430 */
+/* 440 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {///
@@ -60148,54 +61405,7 @@
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(309)))
/***/ },
-/* 431 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __extends = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- var Serializable_1 = __webpack_require__(430);
- var Module_1 = __webpack_require__(432);
- var Layer = (function (_super) {
- __extends(Layer, _super);
- function Layer(layers) {
- _super.call(this);
- if (!layers) {
- this.animation = 'none';
- return;
- }
- this.modules = layers.modules.map(function (module) { return new Module_1.Module(module); });
- this.animation = layers.animation;
- }
- Layer.prototype._fromJsObject = function (jsObject) {
- this.modules = jsObject.modules.map(function (module) { return new Module_1.Module().fromJsObject(module); });
- return this;
- };
- Layer.prototype._fromBinary = function (buffer) {
- this.modules = buffer.readArray(Module_1.Module);
- return this;
- };
- Layer.prototype._toJsObject = function () {
- return {
- modules: this.modules.map(function (module) { return module.toJsObject(); })
- };
- };
- Layer.prototype._toBinary = function (buffer) {
- buffer.writeArray(this.modules);
- };
- Layer.prototype.toString = function () {
- return "";
- };
- return Layer;
- }(Serializable_1.Serializable));
- exports.Layer = Layer;
-
-
-/***/ },
-/* 432 */
+/* 441 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -60213,263 +61423,16 @@
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
- var assert_1 = __webpack_require__(433);
- var Serializable_1 = __webpack_require__(430);
- var key_action_1 = __webpack_require__(434);
- var PointerRole;
- (function (PointerRole) {
- PointerRole[PointerRole["none"] = 0] = "none";
- PointerRole[PointerRole["move"] = 1] = "move";
- PointerRole[PointerRole["scroll"] = 2] = "scroll";
- })(PointerRole || (PointerRole = {}));
- var Module = (function (_super) {
- __extends(Module, _super);
- function Module(other) {
- _super.call(this);
- if (!other) {
- return;
- }
- this.id = other.id;
- this.keyActions = other.keyActions.map(function (keyAction) { return key_action_1.Helper.createKeyAction(keyAction); });
- this.pointerRole = other.pointerRole;
- }
- Module.prototype._fromJsObject = function (jsObject) {
- this.id = jsObject.id;
- this.pointerRole = PointerRole[jsObject.pointerRole];
- this.keyActions = jsObject.keyActions.map(function (keyAction) { return key_action_1.Helper.createKeyAction(keyAction); });
- return this;
- };
- Module.prototype._fromBinary = function (buffer) {
- this.id = buffer.readUInt8();
- this.pointerRole = buffer.readUInt8();
- var keyActionsLength = buffer.readCompactLength();
- this.keyActions = [];
- for (var i = 0; i < keyActionsLength; ++i) {
- this.keyActions.push(key_action_1.Helper.createKeyAction(buffer));
- }
- return this;
- };
- Module.prototype._toJsObject = function () {
- return {
- id: this.id,
- pointerRole: PointerRole[this.pointerRole],
- keyActions: this.keyActions.map(function (keyAction) { return keyAction.toJsObject(); })
- };
- };
- Module.prototype._toBinary = function (buffer) {
- buffer.writeUInt8(this.id);
- buffer.writeUInt8(this.pointerRole);
- buffer.writeArray(this.keyActions);
- };
- Module.prototype.toString = function () {
- return "";
- };
- __decorate([
- assert_1.assertUInt8,
- __metadata('design:type', Number)
- ], Module.prototype, "id", void 0);
- __decorate([
- assert_1.assertEnum(PointerRole),
- __metadata('design:type', Number)
- ], Module.prototype, "pointerRole", void 0);
- return Module;
- }(Serializable_1.Serializable));
- exports.Module = Module;
-
-
-/***/ },
-/* 433 */
-/***/ function(module, exports) {
-
- "use strict";
- function assertUInt8(target, key) {
- return assertInteger(target, key, 0, 0xFF);
- }
- exports.assertUInt8 = assertUInt8;
- function assertInt8(target, key) {
- return assertInteger(target, key, -0x80, 0x7F);
- }
- exports.assertInt8 = assertInt8;
- function assertUInt16(target, key) {
- return assertInteger(target, key, 0, 0xFFFF);
- }
- exports.assertUInt16 = assertUInt16;
- function assertInt16(target, key) {
- return assertInteger(target, key, -0x8000, 0x7FFF);
- }
- exports.assertInt16 = assertInt16;
- function assertUInt32(target, key) {
- return assertInteger(target, key, 0, 0xFFFFFFFF);
- }
- exports.assertUInt32 = assertUInt32;
- function assertInt32(target, key) {
- return assertInteger(target, key, -0x80000000, 0x7FFFFFFF);
- }
- exports.assertInt32 = assertInt32;
- function assertCompactLength(target, key) {
- return assertUInt16(target, key);
- }
- exports.assertCompactLength = assertCompactLength;
- function assertInteger(target, key, min, max) {
- var priv = '_' + key;
- function getter() {
- return this[priv];
- }
- function setter(newVal) {
- if (this[priv] !== newVal) {
- if (newVal < min || newVal > max) {
- throw (target.constructor.name + "." + key + ": ") +
- ("Integer " + newVal + " is outside the valid [" + min + ", " + max + "] interval");
- }
- this[priv] = newVal;
- }
- }
- Object.defineProperty(target, key, {
- get: getter,
- set: setter,
- enumerable: true,
- configurable: true
- });
- }
- function assertEnum(enumerated) {
- return function (target, key) {
- var priv = '_' + key;
- function getter() {
- return this[priv];
- }
- function setter(newVal) {
- if (this[priv] !== newVal) {
- if (enumerated[newVal] === undefined) {
- throw target.constructor.name + "." + key + ": " + newVal + " is not enum";
- }
- this[priv] = newVal;
- }
- }
- Object.defineProperty(target, key, {
- get: getter,
- set: setter,
- enumerable: true,
- configurable: true
- });
- };
- }
- exports.assertEnum = assertEnum;
-
-
-/***/ },
-/* 434 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(435));
- __export(__webpack_require__(436));
- __export(__webpack_require__(438));
- __export(__webpack_require__(439));
- __export(__webpack_require__(440));
- __export(__webpack_require__(441));
- __export(__webpack_require__(442));
- __export(__webpack_require__(443));
-
-
-/***/ },
-/* 435 */
-/***/ function(module, exports, __webpack_require__) {
-
- ///
- "use strict";
- var __extends = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- var Serializable_1 = __webpack_require__(430);
- (function (KeyActionId) {
- KeyActionId[KeyActionId["NoneAction"] = 0] = "NoneAction";
- KeyActionId[KeyActionId["KeystrokeAction"] = 1] = "KeystrokeAction";
- /*
- 1 - 7 are reserved for KeystrokeAction
- 3 bits:
- 1: Do we have scancode?
- 2: Do we have modifiers?
- 3: Do we have longpress?
- */
- KeyActionId[KeyActionId["LastKeystrokeAction"] = 7] = "LastKeystrokeAction";
- KeyActionId[KeyActionId["SwitchLayerAction"] = 8] = "SwitchLayerAction";
- KeyActionId[KeyActionId["SwitchKeymapAction"] = 9] = "SwitchKeymapAction";
- KeyActionId[KeyActionId["MouseAction"] = 10] = "MouseAction";
- KeyActionId[KeyActionId["PlayMacroAction"] = 11] = "PlayMacroAction";
- })(exports.KeyActionId || (exports.KeyActionId = {}));
- var KeyActionId = exports.KeyActionId;
- exports.keyActionType = {
- NoneAction: 'none',
- KeystrokeAction: 'keystroke',
- SwitchLayerAction: 'switchLayer',
- SwitchKeymapAction: 'switchKeymap',
- MouseAction: 'mouse',
- PlayMacroAction: 'playMacro'
- };
- var KeyAction = (function (_super) {
- __extends(KeyAction, _super);
- function KeyAction() {
- _super.apply(this, arguments);
- }
- KeyAction.prototype.assertKeyActionType = function (jsObject) {
- var keyActionClassname = this.constructor.name;
- var keyActionTypeString = exports.keyActionType[keyActionClassname];
- if (jsObject.keyActionType !== keyActionTypeString) {
- throw "Invalid " + keyActionClassname + ".keyActionType: " + jsObject.keyActionType;
- }
- };
- KeyAction.prototype.readAndAssertKeyActionId = function (buffer) {
- var classname = this.constructor.name;
- var readKeyActionId = buffer.readUInt8();
- var keyActionId = KeyActionId[classname];
- if (keyActionId === KeyActionId.KeystrokeAction) {
- if (readKeyActionId < KeyActionId.KeystrokeAction || readKeyActionId > KeyActionId.LastKeystrokeAction) {
- throw "Invalid " + classname + " first byte: " + readKeyActionId;
- }
- }
- else if (readKeyActionId !== keyActionId) {
- throw "Invalid " + classname + " first byte: " + readKeyActionId;
- }
- return readKeyActionId;
- };
- return KeyAction;
- }(Serializable_1.Serializable));
- exports.KeyAction = KeyAction;
-
-
-/***/ },
-/* 436 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __extends = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var assert_1 = __webpack_require__(433);
- var LongPressAction_1 = __webpack_require__(437);
- var KeyAction_1 = __webpack_require__(435);
+ var assert_1 = __webpack_require__(442);
+ var LongPressAction_1 = __webpack_require__(443);
+ var KeyAction_1 = __webpack_require__(439);
(function (KeystrokeActionFlag) {
KeystrokeActionFlag[KeystrokeActionFlag["scancode"] = 1] = "scancode";
KeystrokeActionFlag[KeystrokeActionFlag["modifierMask"] = 2] = "modifierMask";
KeystrokeActionFlag[KeystrokeActionFlag["longPressAction"] = 4] = "longPressAction";
})(exports.KeystrokeActionFlag || (exports.KeystrokeActionFlag = {}));
var KeystrokeActionFlag = exports.KeystrokeActionFlag;
+ var MODIFIERS = ['LCtrl', 'LShift', 'LAlt', 'LSuper', 'RCtrl', 'RShift', 'RAlt', 'RSuper'];
var KeystrokeAction = (function (_super) {
__extends(KeystrokeAction, _super);
function KeystrokeAction(other) {
@@ -60565,6 +61528,16 @@
KeystrokeAction.prototype.hasOnlyOneActiveModifier = function () {
return this.modifierMask !== 0 && !(this.modifierMask & this.modifierMask - 1);
};
+ KeystrokeAction.prototype.getModifierList = function () {
+ var modifierList = [];
+ var modifierMask = this.modifierMask;
+ for (var i = 0; modifierMask !== 0; ++i, modifierMask >>= 1) {
+ if (modifierMask & 1) {
+ modifierList.push(MODIFIERS[i]);
+ }
+ }
+ return modifierList;
+ };
__decorate([
assert_1.assertUInt8,
__metadata('design:type', Number)
@@ -60583,7 +61556,86 @@
/***/ },
-/* 437 */
+/* 442 */
+/***/ function(module, exports) {
+
+ "use strict";
+ function assertUInt8(target, key) {
+ return assertInteger(target, key, 0, 0xFF);
+ }
+ exports.assertUInt8 = assertUInt8;
+ function assertInt8(target, key) {
+ return assertInteger(target, key, -0x80, 0x7F);
+ }
+ exports.assertInt8 = assertInt8;
+ function assertUInt16(target, key) {
+ return assertInteger(target, key, 0, 0xFFFF);
+ }
+ exports.assertUInt16 = assertUInt16;
+ function assertInt16(target, key) {
+ return assertInteger(target, key, -0x8000, 0x7FFF);
+ }
+ exports.assertInt16 = assertInt16;
+ function assertUInt32(target, key) {
+ return assertInteger(target, key, 0, 0xFFFFFFFF);
+ }
+ exports.assertUInt32 = assertUInt32;
+ function assertInt32(target, key) {
+ return assertInteger(target, key, -0x80000000, 0x7FFFFFFF);
+ }
+ exports.assertInt32 = assertInt32;
+ function assertCompactLength(target, key) {
+ return assertUInt16(target, key);
+ }
+ exports.assertCompactLength = assertCompactLength;
+ function assertInteger(target, key, min, max) {
+ var priv = '_' + key;
+ function getter() {
+ return this[priv];
+ }
+ function setter(newVal) {
+ if (this[priv] !== newVal) {
+ if (newVal < min || newVal > max) {
+ throw (target.constructor.name + "." + key + ": ") +
+ ("Integer " + newVal + " is outside the valid [" + min + ", " + max + "] interval");
+ }
+ this[priv] = newVal;
+ }
+ }
+ Object.defineProperty(target, key, {
+ get: getter,
+ set: setter,
+ enumerable: true,
+ configurable: true
+ });
+ }
+ function assertEnum(enumerated) {
+ return function (target, key) {
+ var priv = '_' + key;
+ function getter() {
+ return this[priv];
+ }
+ function setter(newVal) {
+ if (this[priv] !== newVal) {
+ if (enumerated[newVal] === undefined) {
+ throw target.constructor.name + "." + key + ": " + newVal + " is not enum";
+ }
+ this[priv] = newVal;
+ }
+ }
+ Object.defineProperty(target, key, {
+ get: getter,
+ set: setter,
+ enumerable: true,
+ configurable: true
+ });
+ };
+ }
+ exports.assertEnum = assertEnum;
+
+
+/***/ },
+/* 443 */
/***/ function(module, exports) {
"use strict";
@@ -60605,7 +61657,7 @@
/***/ },
-/* 438 */
+/* 444 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -60623,8 +61675,8 @@
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
- var assert_1 = __webpack_require__(433);
- var KeyAction_1 = __webpack_require__(435);
+ var assert_1 = __webpack_require__(442);
+ var KeyAction_1 = __webpack_require__(439);
(function (MouseActionParam) {
MouseActionParam[MouseActionParam["leftClick"] = 0] = "leftClick";
MouseActionParam[MouseActionParam["middleClick"] = 1] = "middleClick";
@@ -60683,7 +61735,7 @@
/***/ },
-/* 439 */
+/* 445 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -60692,7 +61744,12 @@
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
- var KeyAction_1 = __webpack_require__(435);
+ var KeyAction_1 = __webpack_require__(439);
+ /**
+ * NoneAction is only intended for binary serialization of undefined key actions
+ * DO NOT use it as a real KeyAction
+ *
+ */
var NoneAction = (function (_super) {
__extends(NoneAction, _super);
function NoneAction() {
@@ -60723,7 +61780,7 @@
/***/ },
-/* 440 */
+/* 446 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -60741,8 +61798,8 @@
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
- var assert_1 = __webpack_require__(433);
- var KeyAction_1 = __webpack_require__(435);
+ var assert_1 = __webpack_require__(442);
+ var KeyAction_1 = __webpack_require__(439);
var PlayMacroAction = (function (_super) {
__extends(PlayMacroAction, _super);
function PlayMacroAction(other) {
@@ -60785,7 +61842,7 @@
/***/ },
-/* 441 */
+/* 447 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -60794,7 +61851,7 @@
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
- var KeyAction_1 = __webpack_require__(435);
+ var KeyAction_1 = __webpack_require__(439);
var SwitchKeymapAction = (function (_super) {
__extends(SwitchKeymapAction, _super);
function SwitchKeymapAction(other) {
@@ -60833,7 +61890,7 @@
/***/ },
-/* 442 */
+/* 448 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -60851,8 +61908,8 @@
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
- var assert_1 = __webpack_require__(433);
- var KeyAction_1 = __webpack_require__(435);
+ var assert_1 = __webpack_require__(442);
+ var KeyAction_1 = __webpack_require__(439);
(function (LayerName) {
LayerName[LayerName["mod"] = 0] = "mod";
LayerName[LayerName["fn"] = 1] = "fn";
@@ -60906,12 +61963,12 @@
/***/ },
-/* 443 */
+/* 449 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
- var UhkBuffer_1 = __webpack_require__(444);
- var index_1 = __webpack_require__(434);
+ var UhkBuffer_1 = __webpack_require__(450);
+ var index_1 = __webpack_require__(438);
var Helper = (function () {
function Helper() {
}
@@ -60934,7 +61991,8 @@
}
switch (keyActionFirstByte) {
case index_1.KeyActionId.NoneAction:
- return new index_1.NoneAction().fromBinary(buffer);
+ buffer.readUInt8(); // Read type just to skip it
+ return undefined;
case index_1.KeyActionId.SwitchLayerAction:
return new index_1.SwitchLayerAction().fromBinary(buffer);
case index_1.KeyActionId.SwitchKeymapAction:
@@ -60964,15 +62022,13 @@
else if (keyAction instanceof index_1.PlayMacroAction) {
newKeyAction = new index_1.PlayMacroAction(keyAction);
}
- else {
- newKeyAction = new index_1.NoneAction();
- }
return newKeyAction;
};
Helper.fromJSONObject = function (keyAction) {
+ if (!keyAction) {
+ return;
+ }
switch (keyAction.keyActionType) {
- case index_1.keyActionType.NoneAction:
- return new index_1.NoneAction().fromJsObject(keyAction);
case index_1.keyActionType.KeystrokeAction:
return new index_1.KeystrokeAction().fromJsObject(keyAction);
case index_1.keyActionType.SwitchLayerAction:
@@ -60993,7 +62049,7 @@
/***/ },
-/* 444 */
+/* 450 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(Buffer, process) {"use strict";
@@ -61174,10 +62230,10 @@
}());
exports.UhkBuffer = UhkBuffer;
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(445).Buffer, __webpack_require__(309)))
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(451).Buffer, __webpack_require__(309)))
/***/ },
-/* 445 */
+/* 451 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(Buffer, global) {/*!
@@ -61190,9 +62246,9 @@
'use strict'
- var base64 = __webpack_require__(446)
- var ieee754 = __webpack_require__(447)
- var isArray = __webpack_require__(448)
+ var base64 = __webpack_require__(452)
+ var ieee754 = __webpack_require__(453)
+ var isArray = __webpack_require__(454)
exports.Buffer = Buffer
exports.SlowBuffer = SlowBuffer
@@ -62970,10 +64026,10 @@
return val !== val // eslint-disable-line no-self-compare
}
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(445).Buffer, (function() { return this; }())))
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(451).Buffer, (function() { return this; }())))
/***/ },
-/* 446 */
+/* 452 */
/***/ function(module, exports) {
'use strict'
@@ -63093,7 +64149,7 @@
/***/ },
-/* 447 */
+/* 453 */
/***/ function(module, exports) {
exports.read = function (buffer, offset, isLE, mLen, nBytes) {
@@ -63183,7 +64239,7 @@
/***/ },
-/* 448 */
+/* 454 */
/***/ function(module, exports) {
var toString = {}.toString;
@@ -63193,265 +64249,69 @@
};
-/***/ },
-/* 449 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(450));
- __export(__webpack_require__(451));
-
-
-/***/ },
-/* 450 */
-/***/ function(module, exports) {
-
- "use strict";
- var KeymapActions;
- (function (KeymapActions) {
- KeymapActions.PREFIX = '[Keymap] ';
- KeymapActions.ADD = KeymapActions.PREFIX + 'Add keymap';
- KeymapActions.DUPLICATE = KeymapActions.PREFIX + 'Duplicate keymap';
- KeymapActions.EDIT_ABBR = KeymapActions.PREFIX + 'Edit keymap abbreviation';
- KeymapActions.EDIT_NAME = KeymapActions.PREFIX + 'Edit keymap title';
- KeymapActions.SAVE_KEY = KeymapActions.PREFIX + 'Save key action';
- KeymapActions.SET_DEFAULT = KeymapActions.PREFIX + 'Set default option';
- KeymapActions.REMOVE = KeymapActions.PREFIX + 'Remove keymap';
- function addKeymap(item) {
- return {
- type: KeymapActions.ADD,
- payload: item
- };
- }
- KeymapActions.addKeymap = addKeymap;
- function setDefault(abbr) {
- return {
- type: KeymapActions.SET_DEFAULT,
- payload: abbr
- };
- }
- KeymapActions.setDefault = setDefault;
- function removeKeymap(abbr) {
- return {
- type: KeymapActions.REMOVE,
- payload: abbr
- };
- }
- KeymapActions.removeKeymap = removeKeymap;
- function duplicateKeymap(keymap) {
- return {
- type: KeymapActions.DUPLICATE,
- payload: keymap
- };
- }
- KeymapActions.duplicateKeymap = duplicateKeymap;
- function editKeymapName(abbr, name) {
- return {
- type: KeymapActions.EDIT_NAME,
- payload: {
- abbr: abbr,
- name: name
- }
- };
- }
- KeymapActions.editKeymapName = editKeymapName;
- function editKeymapAbbr(abbr, newAbbr) {
- return {
- type: KeymapActions.EDIT_ABBR,
- payload: {
- abbr: abbr,
- newAbbr: newAbbr
- }
- };
- }
- KeymapActions.editKeymapAbbr = editKeymapAbbr;
- function saveKey(keymap) {
- return {
- type: KeymapActions.SAVE_KEY,
- payload: keymap
- };
- }
- KeymapActions.saveKey = saveKey;
- })(KeymapActions = exports.KeymapActions || (exports.KeymapActions = {}));
-
-
-/***/ },
-/* 451 */
-/***/ function(module, exports) {
-
- "use strict";
- var MacroActions;
- (function (MacroActions) {
- MacroActions.PREFIX = '[Macro] ';
- MacroActions.DUPLICATE = MacroActions.PREFIX + 'Duplicate macro';
- MacroActions.EDIT_NAME = MacroActions.PREFIX + 'Edit macro title';
- MacroActions.REMOVE = MacroActions.PREFIX + 'Remove macro';
- MacroActions.ADD_ACTION = MacroActions.PREFIX + 'Add macro action';
- MacroActions.SAVE_ACTION = MacroActions.PREFIX + 'Save macro action';
- MacroActions.DELETE_ACTION = MacroActions.PREFIX + 'Delete macro action';
- MacroActions.REORDER_ACTION = MacroActions.PREFIX + 'Reorder macro action';
- function removeMacro(id) {
- return {
- type: MacroActions.REMOVE,
- payload: id
- };
- }
- MacroActions.removeMacro = removeMacro;
- function duplicateMacro(macro) {
- return {
- type: MacroActions.DUPLICATE,
- payload: macro
- };
- }
- MacroActions.duplicateMacro = duplicateMacro;
- function editMacroName(id, name) {
- return {
- type: MacroActions.EDIT_NAME,
- payload: {
- id: id,
- name: name
- }
- };
- }
- MacroActions.editMacroName = editMacroName;
- function addMacroAction(id, action) {
- return {
- type: MacroActions.ADD_ACTION,
- payload: {
- id: id,
- action: action
- }
- };
- }
- MacroActions.addMacroAction = addMacroAction;
- function saveMacroAction(id, index, action) {
- return {
- type: MacroActions.SAVE_ACTION,
- payload: {
- id: id,
- index: index,
- action: action
- }
- };
- }
- MacroActions.saveMacroAction = saveMacroAction;
- function deleteMacroAction(id, index, action) {
- return {
- type: MacroActions.DELETE_ACTION,
- payload: {
- id: id,
- index: index,
- action: action
- }
- };
- }
- MacroActions.deleteMacroAction = deleteMacroAction;
- function reorderMacroAction(id, oldIndex, newIndex) {
- return {
- type: MacroActions.REORDER_ACTION,
- payload: {
- id: id,
- oldIndex: oldIndex,
- newIndex: newIndex
- }
- };
- }
- MacroActions.reorderMacroAction = reorderMacroAction;
- })(MacroActions = exports.MacroActions || (exports.MacroActions = {}));
-
-
-/***/ },
-/* 452 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n \r\n \r\n \r\n\r\n\r\n Sorry, there is no keymap with this abbreviation.\r\n
";
-
-/***/ },
-/* 453 */
-/***/ function(module, exports) {
-
- module.exports = ":host {\n width: 100%;\n height: 100%;\n display: block; }\n\n.not-found {\n margin-top: 30px;\n font-size: 16px;\n text-align: center; }\n"
-
-/***/ },
-/* 454 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var keymap_add_component_1 = __webpack_require__(455);
- var keymap_component_1 = __webpack_require__(421);
- exports.keymapRoutes = [
- {
- path: '',
- redirectTo: '/keymap',
- pathMatch: 'full'
- },
- {
- path: 'keymap',
- component: keymap_component_1.KeymapComponent
- },
- {
- path: 'keymap/add',
- component: keymap_add_component_1.KeymapAddComponent
- },
- {
- path: 'keymap/:abbr',
- component: keymap_component_1.KeymapComponent
- }
- ];
-
-
/***/ },
/* 455 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
+ var __extends = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var store_1 = __webpack_require__(353);
- __webpack_require__(456);
- var BehaviorSubject_1 = __webpack_require__(354);
- var actions_1 = __webpack_require__(449);
- var KeymapAddComponent = (function () {
- function KeymapAddComponent(store) {
- var _this = this;
- this.store = store;
- this.presetsAll$ = store.select(function (appState) { return appState.presetKeymaps; });
- this.filterExpression$ = new BehaviorSubject_1.BehaviorSubject('');
- this.subscription = this.presetsAll$.combineLatest(this.filterExpression$, function (keymaps, filterExpression) {
- return keymaps.filter(function (keymap) { return keymap.name.toLocaleLowerCase().includes(filterExpression); });
- }).subscribe(function (keymaps) { return _this.presets = keymaps; });
+ var Serializable_1 = __webpack_require__(440);
+ var Layer_1 = __webpack_require__(456);
+ var Keymap = (function (_super) {
+ __extends(Keymap, _super);
+ function Keymap(keymap) {
+ _super.call(this);
+ if (!keymap) {
+ return;
+ }
+ this.name = keymap.name;
+ this.description = keymap.description;
+ this.abbreviation = keymap.abbreviation;
+ this.isDefault = keymap.isDefault;
+ this.layers = keymap.layers.map(function (layer) { return new Layer_1.Layer(layer); });
}
- KeymapAddComponent.prototype.ngOnDestroy = function () {
- this.subscription.unsubscribe();
+ Keymap.prototype._fromJsObject = function (jsObject) {
+ this.isDefault = jsObject.isDefault;
+ this.abbreviation = jsObject.abbreviation;
+ this.name = jsObject.name;
+ this.description = jsObject.description;
+ this.layers = jsObject.layers.map(function (layer) { return new Layer_1.Layer().fromJsObject(layer); });
+ return this;
};
- KeymapAddComponent.prototype.filterKeyboards = function (filterExpression) {
- this.filterExpression$.next(filterExpression);
+ Keymap.prototype._fromBinary = function (buffer) {
+ this.isDefault = buffer.readBoolean();
+ this.abbreviation = buffer.readString();
+ this.name = buffer.readString();
+ this.description = buffer.readString();
+ this.layers = buffer.readArray(Layer_1.Layer);
+ return this;
};
- KeymapAddComponent.prototype.addKeymap = function (keymap) {
- this.store.dispatch(actions_1.KeymapActions.addKeymap(keymap));
+ Keymap.prototype._toJsObject = function () {
+ return {
+ isDefault: this.isDefault,
+ abbreviation: this.abbreviation,
+ name: this.name,
+ description: this.description,
+ layers: this.layers.map(function (layer) { return layer.toJsObject(); })
+ };
};
- KeymapAddComponent = __decorate([
- core_1.Component({
- selector: 'keymap-add',
- template: __webpack_require__(458),
- styles: [__webpack_require__(459)]
- }),
- __metadata('design:paramtypes', [store_1.Store])
- ], KeymapAddComponent);
- return KeymapAddComponent;
- }());
- exports.KeymapAddComponent = KeymapAddComponent;
+ Keymap.prototype._toBinary = function (buffer) {
+ buffer.writeBoolean(this.isDefault);
+ buffer.writeString(this.abbreviation);
+ buffer.writeString(this.name);
+ buffer.writeString(this.description);
+ buffer.writeArray(this.layers);
+ };
+ Keymap.prototype.toString = function () {
+ return "";
+ };
+ return Keymap;
+ }(Serializable_1.Serializable));
+ exports.Keymap = Keymap;
/***/ },
@@ -63459,10 +64319,46 @@
/***/ function(module, exports, __webpack_require__) {
"use strict";
- var Observable_1 = __webpack_require__(315);
- var combineLatest_1 = __webpack_require__(457);
- Observable_1.Observable.prototype.combineLatest = combineLatest_1.combineLatest;
- //# sourceMappingURL=combineLatest.js.map
+ var __extends = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ var Serializable_1 = __webpack_require__(440);
+ var Module_1 = __webpack_require__(457);
+ var Layer = (function (_super) {
+ __extends(Layer, _super);
+ function Layer(layers) {
+ _super.call(this);
+ if (!layers) {
+ return;
+ }
+ this.modules = layers.modules.map(function (module) { return new Module_1.Module(module); });
+ this.animation = layers.animation;
+ }
+ Layer.prototype._fromJsObject = function (jsObject) {
+ this.modules = jsObject.modules.map(function (module) { return new Module_1.Module().fromJsObject(module); });
+ return this;
+ };
+ Layer.prototype._fromBinary = function (buffer) {
+ this.modules = buffer.readArray(Module_1.Module);
+ return this;
+ };
+ Layer.prototype._toJsObject = function () {
+ return {
+ modules: this.modules.map(function (module) { return module.toJsObject(); })
+ };
+ };
+ Layer.prototype._toBinary = function (buffer) {
+ buffer.writeArray(this.modules);
+ };
+ Layer.prototype.toString = function () {
+ return "";
+ };
+ return Layer;
+ }(Serializable_1.Serializable));
+ exports.Layer = Layer;
+
/***/ },
/* 457 */
@@ -63474,159 +64370,101 @@
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
- var ArrayObservable_1 = __webpack_require__(341);
- var isArray_1 = __webpack_require__(321);
- var OuterSubscriber_1 = __webpack_require__(346);
- var subscribeToResult_1 = __webpack_require__(347);
- var none = {};
- /**
- * Combines multiple Observables to create an Observable whose values are
- * calculated from the latest values of each of its input Observables.
- *
- * Whenever any input Observable emits a value, it
- * computes a formula using the latest values from all the inputs, then emits
- * the output of that formula.
- *
- *
- *
- * `combineLatest` combines the values from this Observable with values from
- * Observables passed as arguments. This is done by subscribing to each
- * Observable, in order, and collecting an array of each of the most recent
- * values any time any of the input Observables emits, then either taking that
- * array and passing it as arguments to an optional `project` function and
- * emitting the return value of that, or just emitting the array of recent
- * values directly if there is no `project` function.
- *
- * @example Dynamically calculate the Body-Mass Index from an Observable of weight and one for height
- * var weight = Rx.Observable.of(70, 72, 76, 79, 75);
- * var height = Rx.Observable.of(1.76, 1.77, 1.78);
- * var bmi = weight.combineLatest(height, (w, h) => w / (h * h));
- * bmi.subscribe(x => console.log('BMI is ' + x));
- *
- * @see {@link combineAll}
- * @see {@link merge}
- * @see {@link withLatestFrom}
- *
- * @param {Observable} other An input Observable to combine with the source
- * Observable. More than one input Observables may be given as argument.
- * @param {function} [project] An optional function to project the values from
- * the combined latest values into a new value on the output Observable.
- * @return {Observable} An Observable of projected values from the most recent
- * values from each input Observable, or an array of the most recent values from
- * each input Observable.
- * @method combineLatest
- * @owner Observable
- */
- function combineLatest() {
- var observables = [];
- for (var _i = 0; _i < arguments.length; _i++) {
- observables[_i - 0] = arguments[_i];
- }
- var project = null;
- if (typeof observables[observables.length - 1] === 'function') {
- project = observables.pop();
- }
- // if the first and only other argument besides the resultSelector is an array
- // assume it's been called with `combineLatest([obs1, obs2, obs3], project)`
- if (observables.length === 1 && isArray_1.isArray(observables[0])) {
- observables = observables[0];
- }
- observables.unshift(this);
- return new ArrayObservable_1.ArrayObservable(observables).lift(new CombineLatestOperator(project));
- }
- exports.combineLatest = combineLatest;
- /* tslint:enable:max-line-length */
- var CombineLatestOperator = (function () {
- function CombineLatestOperator(project) {
- this.project = project;
- }
- CombineLatestOperator.prototype.call = function (subscriber, source) {
- return source._subscribe(new CombineLatestSubscriber(subscriber, this.project));
- };
- return CombineLatestOperator;
- }());
- exports.CombineLatestOperator = CombineLatestOperator;
- /**
- * We need this JSDoc comment for affecting ESDoc.
- * @ignore
- * @extends {Ignored}
- */
- var CombineLatestSubscriber = (function (_super) {
- __extends(CombineLatestSubscriber, _super);
- function CombineLatestSubscriber(destination, project) {
- _super.call(this, destination);
- this.project = project;
- this.active = 0;
- this.values = [];
- this.observables = [];
- }
- CombineLatestSubscriber.prototype._next = function (observable) {
- this.values.push(none);
- this.observables.push(observable);
- };
- CombineLatestSubscriber.prototype._complete = function () {
- var observables = this.observables;
- var len = observables.length;
- if (len === 0) {
- this.destination.complete();
- }
- else {
- this.active = len;
- this.toRespond = len;
- for (var i = 0; i < len; i++) {
- var observable = observables[i];
- this.add(subscribeToResult_1.subscribeToResult(this, observable, observable, i));
- }
- }
- };
- CombineLatestSubscriber.prototype.notifyComplete = function (unused) {
- if ((this.active -= 1) === 0) {
- this.destination.complete();
- }
- };
- CombineLatestSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {
- var values = this.values;
- var oldVal = values[outerIndex];
- var toRespond = !this.toRespond
- ? 0
- : oldVal === none ? --this.toRespond : this.toRespond;
- values[outerIndex] = innerValue;
- if (toRespond === 0) {
- if (this.project) {
- this._tryProject(values);
- }
- else {
- this.destination.next(values.slice());
- }
- }
- };
- CombineLatestSubscriber.prototype._tryProject = function (values) {
- var result;
- try {
- result = this.project.apply(this, values);
- }
- catch (err) {
- this.destination.error(err);
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var assert_1 = __webpack_require__(442);
+ var Serializable_1 = __webpack_require__(440);
+ var key_action_1 = __webpack_require__(438);
+ var PointerRole;
+ (function (PointerRole) {
+ PointerRole[PointerRole["none"] = 0] = "none";
+ PointerRole[PointerRole["move"] = 1] = "move";
+ PointerRole[PointerRole["scroll"] = 2] = "scroll";
+ })(PointerRole || (PointerRole = {}));
+ var Module = (function (_super) {
+ __extends(Module, _super);
+ function Module(other) {
+ _super.call(this);
+ if (!other) {
return;
}
- this.destination.next(result);
+ this.id = other.id;
+ this.keyActions = other.keyActions.map(function (keyAction) { return key_action_1.Helper.createKeyAction(keyAction); });
+ this.pointerRole = other.pointerRole;
+ }
+ Module.prototype._fromJsObject = function (jsObject) {
+ this.id = jsObject.id;
+ this.pointerRole = PointerRole[jsObject.pointerRole];
+ this.keyActions = jsObject.keyActions.map(function (keyAction) { return key_action_1.Helper.createKeyAction(keyAction); });
+ return this;
};
- return CombineLatestSubscriber;
- }(OuterSubscriber_1.OuterSubscriber));
- exports.CombineLatestSubscriber = CombineLatestSubscriber;
- //# sourceMappingURL=combineLatest.js.map
+ Module.prototype._fromBinary = function (buffer) {
+ this.id = buffer.readUInt8();
+ this.pointerRole = buffer.readUInt8();
+ var keyActionsLength = buffer.readCompactLength();
+ this.keyActions = [];
+ for (var i = 0; i < keyActionsLength; ++i) {
+ this.keyActions.push(key_action_1.Helper.createKeyAction(buffer));
+ }
+ return this;
+ };
+ Module.prototype._toJsObject = function () {
+ return {
+ id: this.id,
+ pointerRole: PointerRole[this.pointerRole],
+ keyActions: this.keyActions.map(function (keyAction) {
+ if (keyAction) {
+ return keyAction.toJsObject();
+ }
+ })
+ };
+ };
+ Module.prototype._toBinary = function (buffer) {
+ buffer.writeUInt8(this.id);
+ buffer.writeUInt8(this.pointerRole);
+ var noneAction = new key_action_1.NoneAction();
+ var keyActions = this.keyActions.map(function (keyAction) {
+ if (keyAction) {
+ return keyAction;
+ }
+ return noneAction;
+ });
+ buffer.writeArray(keyActions);
+ };
+ Module.prototype.toString = function () {
+ return "";
+ };
+ __decorate([
+ assert_1.assertUInt8,
+ __metadata('design:type', Number)
+ ], Module.prototype, "id", void 0);
+ __decorate([
+ assert_1.assertEnum(PointerRole),
+ __metadata('design:type', Number)
+ ], Module.prototype, "pointerRole", void 0);
+ return Module;
+ }(Serializable_1.Serializable));
+ exports.Module = Module;
+
/***/ },
/* 458 */
/***/ function(module, exports) {
- module.exports = "\r\n \r\n Add new keymap \r\n \r\n\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {{ presets.length }} / {{ (presetsAll$ | async).length }} keymaps shown\r\n
\r\n
\r\n\r\n
\r\n
{{ keymap.name }} \r\n
\r\n {{ keymap.description }}\r\n
\r\n
\r\n \r\n
\r\n Add keymap \r\n
\r\n
\r\n
\r\n\r\n Sorry, no keyboard found under this search query.\r\n
";
+ module.exports = "\r\n \r\n \r\n \r\n\r\n\r\n Sorry, there is no keymap with this abbreviation.\r\n
";
/***/ },
/* 459 */
/***/ function(module, exports) {
- module.exports = ":host {\n overflow-y: auto;\n display: block;\n height: 100%; }\n\n.uhk__layer-switcher--wrapper {\n position: relative; }\n .uhk__layer-switcher--wrapper:before {\n content: attr(data-title);\n display: inline-block;\n position: absolute;\n bottom: -0.3em;\n right: 100%;\n font-size: 2.4rem;\n padding-right: 0.25em;\n margin: 0; }\n\n.keymap__search {\n margin-top: 10px; }\n .keymap__search .input-group {\n width: 100%;\n max-width: 350px;\n float: left; }\n .keymap__search_amount {\n float: left;\n margin: 7px 0 0 20px; }\n\n.keymap__description {\n margin-bottom: 20px; }\n\n.keymap__list {\n margin-top: 40px; }\n .keymap__list_item {\n margin-bottom: 50px; }\n .keymap__list .btn-group-lg {\n margin: 30px 0 0;\n width: 100%;\n text-align: center; }\n .keymap__list .btn-group-lg .btn {\n float: none;\n padding-left: 50px;\n padding-right: 50px; }\n"
+ module.exports = ":host {\n width: 100%;\n display: block; }\n\n.not-found {\n margin-top: 30px;\n font-size: 16px;\n text-align: center; }\n"
/***/ },
/* 460 */
@@ -63644,41 +64482,81 @@
};
var core_1 = __webpack_require__(313);
var store_1 = __webpack_require__(353);
- var Keymap_1 = __webpack_require__(429);
- var actions_1 = __webpack_require__(449);
+ var Keymap_1 = __webpack_require__(455);
+ var actions_1 = __webpack_require__(424);
var KeymapHeaderComponent = (function () {
- function KeymapHeaderComponent(store) {
+ function KeymapHeaderComponent(store, renderer) {
this.store = store;
+ this.renderer = renderer;
}
+ KeymapHeaderComponent.prototype.ngOnChanges = function (changes) {
+ if (changes['keymap']) {
+ this.setKeymapTitle();
+ }
+ if (changes['deletable']) {
+ this.setTrashTitle();
+ }
+ };
KeymapHeaderComponent.prototype.setDefault = function () {
if (!this.keymap.isDefault) {
this.store.dispatch(actions_1.KeymapActions.setDefault(this.keymap.abbreviation));
}
};
KeymapHeaderComponent.prototype.removeKeymap = function () {
- this.store.dispatch(actions_1.KeymapActions.removeKeymap(this.keymap.abbreviation));
+ if (this.deletable) {
+ this.store.dispatch(actions_1.KeymapActions.removeKeymap(this.keymap.abbreviation));
+ }
};
KeymapHeaderComponent.prototype.duplicateKeymap = function () {
this.store.dispatch(actions_1.KeymapActions.duplicateKeymap(this.keymap));
};
KeymapHeaderComponent.prototype.editKeymapName = function (name) {
+ if (name.length === 0) {
+ this.renderer.setElementProperty(this.keymapName.nativeElement, 'value', this.keymap.name);
+ return;
+ }
this.store.dispatch(actions_1.KeymapActions.editKeymapName(this.keymap.abbreviation, name));
};
KeymapHeaderComponent.prototype.editKeymapAbbr = function (newAbbr) {
+ if (newAbbr.length !== 3) {
+ this.renderer.setElementProperty(this.keymapAbbr.nativeElement, 'value', this.keymap.abbreviation);
+ return;
+ }
newAbbr = newAbbr.toUpperCase();
this.store.dispatch(actions_1.KeymapActions.editKeymapAbbr(this.keymap.abbreviation, newAbbr));
};
+ KeymapHeaderComponent.prototype.setKeymapTitle = function () {
+ this.starTitle = this.keymap.isDefault
+ ? 'This is the default keymap which gets activated when powering the keyboard.'
+ : 'Makes this keymap the default keymap which gets activated when powering the keyboard.';
+ };
+ KeymapHeaderComponent.prototype.setTrashTitle = function () {
+ this.trashTitle = this.deletable ? '' : 'The last keymap cannot be deleted.';
+ };
__decorate([
core_1.Input(),
__metadata('design:type', Keymap_1.Keymap)
], KeymapHeaderComponent.prototype, "keymap", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Boolean)
+ ], KeymapHeaderComponent.prototype, "deletable", void 0);
+ __decorate([
+ core_1.ViewChild('name'),
+ __metadata('design:type', core_1.ElementRef)
+ ], KeymapHeaderComponent.prototype, "keymapName", void 0);
+ __decorate([
+ core_1.ViewChild('abbr'),
+ __metadata('design:type', core_1.ElementRef)
+ ], KeymapHeaderComponent.prototype, "keymapAbbr", void 0);
KeymapHeaderComponent = __decorate([
core_1.Component({
selector: 'keymap-header',
template: __webpack_require__(461),
- styles: [__webpack_require__(462)]
+ styles: [__webpack_require__(462)],
+ changeDetection: core_1.ChangeDetectionStrategy.OnPush
}),
- __metadata('design:paramtypes', [store_1.Store])
+ __metadata('design:paramtypes', [store_1.Store, core_1.Renderer])
], KeymapHeaderComponent);
return KeymapHeaderComponent;
}());
@@ -63689,13 +64567,13 @@
/* 461 */
/***/ function(module, exports) {
- module.exports = "\r\n
\r\n \r\n keymap\r\n ( )\r\n \r\n \r\n \r\n \r\n";
+ module.exports = "\r\n
\r\n \r\n keymap\r\n ( )\r\n \r\n \r\n \r\n \r\n";
/***/ },
/* 462 */
/***/ function(module, exports) {
- module.exports = ".keymap__is-default.fa-star-o {\n cursor: pointer; }\n .keymap__is-default.fa-star-o:hover {\n color: #337ab7; }\n\n.keymap__remove {\n font-size: 0.75em;\n top: 8px; }\n .keymap__remove:hover {\n cursor: pointer;\n color: #900; }\n\n.keymap__duplicate {\n font-size: 0.75em;\n top: 7px;\n margin-right: 15px;\n position: relative; }\n .keymap__duplicate:hover {\n cursor: pointer;\n color: #337ab7; }\n\n.pane-title {\n margin-bottom: 1em; }\n .pane-title__name, .pane-title__abbrev {\n border: none;\n border-bottom: 2px dotted #999;\n padding: 0;\n margin: 0 0.25rem; }\n .pane-title__name:focus, .pane-title__abbrev:focus {\n box-shadow: 0 0 0 1px #ccc, 0 0 5px 0 #ccc;\n border-color: transparent; }\n .pane-title__name {\n width: 290px;\n text-overflow: ellipsis; }\n .pane-title__abbrev {\n width: 90px;\n text-align: center; }\n"
+ module.exports = ":host {\n display: block; }\n\n.keymap__is-default.fa-star-o {\n cursor: pointer; }\n .keymap__is-default.fa-star-o:hover {\n color: #337ab7; }\n\n.keymap__remove {\n font-size: 0.75em;\n top: 8px; }\n .keymap__remove:not(.disabled):hover {\n cursor: pointer;\n color: #900; }\n .keymap__remove.disabled {\n opacity: 0.25; }\n\n.keymap__duplicate {\n font-size: 0.75em;\n top: 7px;\n margin-right: 15px;\n position: relative; }\n .keymap__duplicate:hover {\n cursor: pointer;\n color: #337ab7; }\n\n.pane-title {\n margin-bottom: 1em; }\n .pane-title__name, .pane-title__abbrev {\n border: none;\n border-bottom: 2px dotted #999;\n padding: 0;\n margin: 0 0.25rem; }\n .pane-title__name:focus, .pane-title__abbrev:focus {\n box-shadow: 0 0 0 1px #ccc, 0 0 5px 0 #ccc;\n border-color: transparent; }\n .pane-title__name {\n width: 290px;\n text-overflow: ellipsis; }\n .pane-title__abbrev {\n width: 90px;\n text-align: center; }\n"
/***/ },
/* 463 */
@@ -63770,7 +64648,7 @@
/* 466 */
/***/ function(module, exports) {
- module.exports = ":host {\n display: block; }\n\nbutton {\n margin: 2px; }\n\n.uhk__layer-switcher--wrapper {\n position: relative;\n margin-bottom: 2rem; }\n .uhk__layer-switcher--wrapper:before {\n content: attr(data-title);\n display: inline-block;\n position: absolute;\n bottom: -0.3em;\n right: 100%;\n font-size: 2.4rem;\n padding-right: 0.25em;\n margin: 0; }\n"
+ module.exports = ":host {\n display: block; }\n :host.disabled button {\n cursor: no-drop;\n background: rgba(204, 204, 204, 0.43);\n pointer-events: none; }\n :host.disabled button.btn-primary {\n background: #7c7c7c;\n border-color: #7c7c7c; }\n\nbutton {\n margin: 2px; }\n\n.uhk__layer-switcher--wrapper {\n position: relative;\n margin-bottom: 2rem; }\n .uhk__layer-switcher--wrapper:before {\n content: attr(data-title);\n display: inline-block;\n position: absolute;\n bottom: -0.3em;\n right: 100%;\n font-size: 2.4rem;\n padding-right: 0.25em;\n margin: 0; }\n"
/***/ },
/* 467 */
@@ -63781,12 +64659,13 @@
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
__export(__webpack_require__(468));
- __export(__webpack_require__(488));
+ __export(__webpack_require__(484));
+ __export(__webpack_require__(487));
+ __export(__webpack_require__(490));
__export(__webpack_require__(491));
- __export(__webpack_require__(494));
__export(__webpack_require__(495));
- __export(__webpack_require__(496));
- __export(__webpack_require__(500));
+ __export(__webpack_require__(501));
+ __export(__webpack_require__(505));
/***/ },
@@ -63804,38 +64683,15 @@
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var core_1 = __webpack_require__(313);
- var router_1 = __webpack_require__(402);
- __webpack_require__(422);
+ var router_1 = __webpack_require__(401);
var store_1 = __webpack_require__(353);
- __webpack_require__(423);
- __webpack_require__(426);
- var ng2_dragula_1 = __webpack_require__(385);
- var macro_item_component_1 = __webpack_require__(469);
- var actions_1 = __webpack_require__(449);
- var macro_1 = __webpack_require__(484);
- var MacroComponent = (function () {
- function MacroComponent(store, route, dragulaService) {
+ var actions_1 = __webpack_require__(424);
+ var macro_1 = __webpack_require__(469);
+ var MacroEditComponent = (function () {
+ function MacroEditComponent(store, route) {
var _this = this;
this.store = store;
this.route = route;
- this.dragulaService = dragulaService;
- this.showNew = false;
- this.newMacro = undefined;
- this.activeEdit = undefined;
- /* tslint:disable:no-unused-variable: Used by Dragula. */
- dragulaService.setOptions('macroActions', {
- moves: function (el, container, handle) {
- return handle.className.includes('action--movable');
- }
- });
- dragulaService.drag.subscribe(function (value) {
- _this.dragIndex = +value[1].getAttribute('data-index');
- });
- dragulaService.drop.subscribe(function (value) {
- if (value[4]) {
- _this.store.dispatch(actions_1.MacroActions.reorderMacroAction(_this.macro.id, _this.dragIndex, +value[4].getAttribute('data-index')));
- }
- });
this.subscription = route
.params
.select('id')
@@ -63843,65 +64699,1123 @@
.subscribe(function (macro) {
_this.macro = macro;
});
+ this.isNew = this.route.snapshot.params['empty'] === 'new';
}
- MacroComponent.prototype.ngOnDestroy = function () {
+ MacroEditComponent.prototype.ngOnDestroy = function () {
this.subscription.unsubscribe();
};
- MacroComponent.prototype.showNewAction = function () {
- this.hideActiveEditor();
- this.newMacro = undefined;
- this.showNew = true;
+ MacroEditComponent.prototype.addAction = function (macroId, action) {
+ this.store.dispatch(actions_1.MacroActions.addMacroAction(macroId, action));
};
- MacroComponent.prototype.hideNewAction = function () {
- this.showNew = false;
+ MacroEditComponent.prototype.editAction = function (macroId, index, action) {
+ this.store.dispatch(actions_1.MacroActions.saveMacroAction(macroId, index, action));
};
- MacroComponent.prototype.addNewAction = function (macroAction) {
- this.store.dispatch(actions_1.MacroActions.addMacroAction(this.macro.id, macroAction));
- this.newMacro = undefined;
- this.showNew = false;
+ MacroEditComponent.prototype.deleteAction = function (macroId, index, action) {
+ this.store.dispatch(actions_1.MacroActions.deleteMacroAction(macroId, index, action));
};
- MacroComponent.prototype.editAction = function (index) {
- // Hide other editors when clicking edit button of a macro action
- this.hideActiveEditor();
- this.showNew = false;
- this.activeEdit = index;
+ MacroEditComponent.prototype.reorderAction = function (macroId, oldIndex, newIndex) {
+ this.store.dispatch(actions_1.MacroActions.reorderMacroAction(macroId, oldIndex, newIndex));
};
- MacroComponent.prototype.cancelAction = function () {
- this.activeEdit = undefined;
- };
- MacroComponent.prototype.saveAction = function (macroAction, index) {
- this.store.dispatch(actions_1.MacroActions.saveMacroAction(this.macro.id, index, macroAction));
- this.hideActiveEditor();
- };
- MacroComponent.prototype.deleteAction = function (macroAction, index) {
- this.store.dispatch(actions_1.MacroActions.deleteMacroAction(this.macro.id, index, macroAction));
- this.hideActiveEditor();
- };
- MacroComponent.prototype.hideActiveEditor = function () {
- if (this.activeEdit !== undefined) {
- this.macroItems.toArray()[this.activeEdit].cancelEdit();
- }
- };
- __decorate([
- core_1.ViewChildren(macro_item_component_1.MacroItemComponent),
- __metadata('design:type', core_1.QueryList)
- ], MacroComponent.prototype, "macroItems", void 0);
- MacroComponent = __decorate([
+ MacroEditComponent = __decorate([
core_1.Component({
- selector: 'macro',
- template: __webpack_require__(486),
- styles: [__webpack_require__(487)],
- viewProviders: [ng2_dragula_1.DragulaService]
+ selector: 'macro-edit',
+ template: __webpack_require__(482),
+ styles: [__webpack_require__(483)],
+ host: {
+ 'class': 'container-fluid'
+ }
}),
- __metadata('design:paramtypes', [store_1.Store, router_1.ActivatedRoute, ng2_dragula_1.DragulaService])
- ], MacroComponent);
- return MacroComponent;
+ __metadata('design:paramtypes', [store_1.Store, router_1.ActivatedRoute])
+ ], MacroEditComponent);
+ return MacroEditComponent;
}());
- exports.MacroComponent = MacroComponent;
+ exports.MacroEditComponent = MacroEditComponent;
/***/ },
/* 469 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ __webpack_require__(430);
+ __webpack_require__(470);
+ __webpack_require__(437);
+ var Observable_1 = __webpack_require__(315);
+ var Macro_1 = __webpack_require__(471);
+ var actions_1 = __webpack_require__(424);
+ var initialState = {
+ entities: []
+ };
+ function default_1(state, action) {
+ if (state === void 0) { state = initialState; }
+ var newMacro;
+ var newState;
+ switch (action.type) {
+ case actions_1.MacroActions.ADD:
+ newMacro = new Macro_1.Macro();
+ newMacro.id = generateId(state.entities);
+ newMacro.name = generateName(state.entities, 'New macro');
+ newMacro.isLooped = false;
+ newMacro.isPrivate = true;
+ newMacro.macroActions = [];
+ return {
+ entities: state.entities.concat([newMacro])
+ };
+ case actions_1.MacroActions.DUPLICATE:
+ newMacro = new Macro_1.Macro(action.payload);
+ newMacro.name = generateName(state.entities, newMacro.name);
+ newMacro.id = generateId(state.entities);
+ return {
+ entities: state.entities.concat([newMacro])
+ };
+ case actions_1.MacroActions.EDIT_NAME:
+ var name_1 = generateName(state.entities, action.payload.name);
+ newState = state.entities.map(function (macro) {
+ if (macro.id === action.payload.id) {
+ macro.name = name_1;
+ }
+ return macro;
+ });
+ return {
+ entities: newState
+ };
+ case actions_1.MacroActions.REMOVE:
+ newState = state.entities.filter(function (macro) { return macro.id !== action.payload; });
+ return {
+ entities: newState
+ };
+ case actions_1.MacroActions.ADD_ACTION:
+ newState = state.entities.map(function (macro) {
+ if (macro.id === action.payload.id) {
+ newMacro = new Macro_1.Macro(macro);
+ newMacro.macroActions.push(action.payload.action);
+ return newMacro;
+ }
+ return macro;
+ });
+ return {
+ entities: newState
+ };
+ case actions_1.MacroActions.SAVE_ACTION:
+ newState = state.entities.map(function (macro) {
+ if (macro.id === action.payload.id) {
+ newMacro = new Macro_1.Macro(macro);
+ newMacro.macroActions[action.payload.index] = action.payload.action;
+ return newMacro;
+ }
+ return macro;
+ });
+ return {
+ entities: newState
+ };
+ case actions_1.MacroActions.DELETE_ACTION:
+ newState = state.entities.map(function (macro) {
+ if (macro.id === action.payload.id) {
+ newMacro = new Macro_1.Macro(macro);
+ newMacro.macroActions.splice(action.payload.index, 1);
+ return newMacro;
+ }
+ return macro;
+ });
+ return {
+ entities: newState
+ };
+ case actions_1.MacroActions.REORDER_ACTION:
+ newState = state.entities.map(function (macro) {
+ if (macro.id === action.payload.id) {
+ var newIndex = action.payload.newIndex;
+ // We need to reduce the new index for one when we are moving action down
+ if (newIndex > action.payload.oldIndex) {
+ --newIndex;
+ }
+ newMacro = new Macro_1.Macro(macro);
+ newMacro.macroActions.splice(newIndex, 0, newMacro.macroActions.splice(action.payload.oldIndex, 1)[0]);
+ return newMacro;
+ }
+ return macro;
+ });
+ return {
+ entities: newState
+ };
+ default:
+ return state;
+ }
+ }
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.default = default_1;
+ function getMacroEntities() {
+ return function (state$) { return state$
+ .select(function (state) { return state.macros.entities; }); };
+ }
+ exports.getMacroEntities = getMacroEntities;
+ function getMacro(id) {
+ if (isNaN(id)) {
+ return function () { return Observable_1.Observable.of(undefined); };
+ }
+ else {
+ return function (state$) { return state$
+ .select(function (appState) { return appState.macros.entities; })
+ .map(function (macros) { return macros.find(function (macro) { return macro.id === id; }); }); };
+ }
+ }
+ exports.getMacro = getMacro;
+ function generateName(macros, name) {
+ var suffix = 2;
+ var oldName = name;
+ while (macros.some(function (macro) { return macro.name === name; })) {
+ name = oldName + (" (" + suffix + ")");
+ ++suffix;
+ }
+ return name;
+ }
+ function generateId(macros) {
+ var newId = 0;
+ macros.forEach(function (macro) {
+ if (macro.id > newId) {
+ newId = macro.id;
+ }
+ });
+ return ++newId;
+ }
+
+
+/***/ },
+/* 470 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var Observable_1 = __webpack_require__(315);
+ var of_1 = __webpack_require__(406);
+ Observable_1.Observable.of = of_1.of;
+ //# sourceMappingURL=of.js.map
+
+/***/ },
+/* 471 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __extends = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var assert_1 = __webpack_require__(442);
+ var Serializable_1 = __webpack_require__(440);
+ var macro_action_1 = __webpack_require__(472);
+ var Macro = (function (_super) {
+ __extends(Macro, _super);
+ function Macro(other) {
+ _super.call(this);
+ if (!other) {
+ return;
+ }
+ this.id = other.id;
+ this.isLooped = other.isLooped;
+ this.isPrivate = other.isPrivate;
+ this.name = other.name;
+ this.macroActions = other.macroActions.map(function (macroAction) { return macro_action_1.Helper.createMacroAction(macroAction); });
+ }
+ Macro.prototype._fromJsObject = function (jsObject) {
+ this.id = jsObject.id;
+ this.isLooped = jsObject.isLooped;
+ this.isPrivate = jsObject.isPrivate;
+ this.name = jsObject.name;
+ this.macroActions = jsObject.macroActions.map(function (macroAction) { return macro_action_1.Helper.createMacroAction(macroAction); });
+ return this;
+ };
+ Macro.prototype._fromBinary = function (buffer) {
+ this.id = buffer.readUInt8();
+ this.isLooped = buffer.readBoolean();
+ this.isPrivate = buffer.readBoolean();
+ this.name = buffer.readString();
+ var macroActionsLength = buffer.readCompactLength();
+ this.macroActions = [];
+ for (var i = 0; i < macroActionsLength; ++i) {
+ this.macroActions.push(macro_action_1.Helper.createMacroAction(buffer));
+ }
+ return this;
+ };
+ Macro.prototype._toJsObject = function () {
+ return {
+ id: this.id,
+ isLooped: this.isLooped,
+ isPrivate: this.isPrivate,
+ name: this.name,
+ macroActions: this.macroActions.map(function (macroAction) { return macroAction.toJsObject(); })
+ };
+ };
+ Macro.prototype._toBinary = function (buffer) {
+ buffer.writeUInt8(this.id);
+ buffer.writeBoolean(this.isLooped);
+ buffer.writeBoolean(this.isPrivate);
+ buffer.writeString(this.name);
+ buffer.writeArray(this.macroActions);
+ };
+ Macro.prototype.toString = function () {
+ return "";
+ };
+ __decorate([
+ assert_1.assertUInt8,
+ __metadata('design:type', Number)
+ ], Macro.prototype, "id", void 0);
+ return Macro;
+ }(Serializable_1.Serializable));
+ exports.Macro = Macro;
+
+
+/***/ },
+/* 472 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(473));
+ __export(__webpack_require__(475));
+ __export(__webpack_require__(476));
+ __export(__webpack_require__(474));
+ __export(__webpack_require__(478));
+ __export(__webpack_require__(477));
+ __export(__webpack_require__(479));
+ __export(__webpack_require__(480));
+ __export(__webpack_require__(481));
+
+
+/***/ },
+/* 473 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __extends = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var assert_1 = __webpack_require__(442);
+ var MacroAction_1 = __webpack_require__(474);
+ var DelayMacroAction = (function (_super) {
+ __extends(DelayMacroAction, _super);
+ function DelayMacroAction(other) {
+ _super.call(this);
+ if (!other) {
+ return;
+ }
+ this.delay = other.delay;
+ }
+ DelayMacroAction.prototype._fromJsObject = function (jsObject) {
+ this.assertMacroActionType(jsObject);
+ this.delay = jsObject.delay;
+ return this;
+ };
+ DelayMacroAction.prototype._fromBinary = function (buffer) {
+ this.readAndAssertMacroActionId(buffer);
+ this.delay = buffer.readUInt16();
+ return this;
+ };
+ DelayMacroAction.prototype._toJsObject = function () {
+ return {
+ macroActionType: MacroAction_1.macroActionType.DelayMacroAction,
+ delay: this.delay
+ };
+ };
+ DelayMacroAction.prototype._toBinary = function (buffer) {
+ buffer.writeUInt8(MacroAction_1.MacroActionId.DelayMacroAction);
+ buffer.writeUInt16(this.delay);
+ };
+ DelayMacroAction.prototype.toString = function () {
+ return "";
+ };
+ __decorate([
+ assert_1.assertUInt16,
+ __metadata('design:type', Number)
+ ], DelayMacroAction.prototype, "delay", void 0);
+ return DelayMacroAction;
+ }(MacroAction_1.MacroAction));
+ exports.DelayMacroAction = DelayMacroAction;
+
+
+/***/ },
+/* 474 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __extends = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ var Serializable_1 = __webpack_require__(440);
+ (function (MacroActionId) {
+ MacroActionId[MacroActionId["KeyMacroAction"] = 0] = "KeyMacroAction";
+ /*
+ 0 - 8 are reserved for KeyMacroAction
+ PressKeyMacroAction with scancode: 0
+ PressKeyMacroAction with modifiers: 1
+ PressKeyMacroAction with scancode and modifiers 2
+ HoldKeyMacroAction with scancode: 3
+ HoldKeyMacroAction with modifiers: 4
+ HoldKeyMacroAction with scancode and modifiers 5
+ ReleaseKeyMacroAction with scancode: 6
+ ReleaseKeyMacroAction with modifiers: 7
+ ReleaseKeyMacroAction with scancode and modifiers 8
+ */
+ MacroActionId[MacroActionId["LastKeyMacroAction"] = 8] = "LastKeyMacroAction";
+ MacroActionId[MacroActionId["MouseButtonMacroAction"] = 9] = "MouseButtonMacroAction";
+ /*
+ 9 - 11 are reserved for MouseButtonMacroAction
+ PressMouseButtonsMacroAction = 9,
+ HoldMouseButtonsMacroAction = 10,
+ ReleaseMouseButtonsMacroAction = 11,
+ */
+ MacroActionId[MacroActionId["LastMouseButtonMacroAction"] = 11] = "LastMouseButtonMacroAction";
+ MacroActionId[MacroActionId["MoveMouseMacroAction"] = 12] = "MoveMouseMacroAction";
+ MacroActionId[MacroActionId["ScrollMouseMacroAction"] = 13] = "ScrollMouseMacroAction";
+ MacroActionId[MacroActionId["DelayMacroAction"] = 14] = "DelayMacroAction";
+ MacroActionId[MacroActionId["TextMacroAction"] = 15] = "TextMacroAction";
+ })(exports.MacroActionId || (exports.MacroActionId = {}));
+ var MacroActionId = exports.MacroActionId;
+ (function (MacroSubAction) {
+ MacroSubAction[MacroSubAction["press"] = 0] = "press";
+ MacroSubAction[MacroSubAction["hold"] = 1] = "hold";
+ MacroSubAction[MacroSubAction["release"] = 2] = "release";
+ })(exports.MacroSubAction || (exports.MacroSubAction = {}));
+ var MacroSubAction = exports.MacroSubAction;
+ exports.macroActionType = {
+ KeyMacroAction: 'key',
+ MouseButtonMacroAction: 'mouseButton',
+ MoveMouseMacroAction: 'moveMouse',
+ ScrollMouseMacroAction: 'scrollMouse',
+ DelayMacroAction: 'delay',
+ TextMacroAction: 'text'
+ };
+ var MacroAction = (function (_super) {
+ __extends(MacroAction, _super);
+ function MacroAction() {
+ _super.apply(this, arguments);
+ }
+ MacroAction.prototype.assertMacroActionType = function (jsObject) {
+ var macroActionClassname = this.constructor.name;
+ var macroActionTypeString = exports.macroActionType[macroActionClassname];
+ if (jsObject.macroActionType !== macroActionTypeString) {
+ throw "Invalid " + macroActionClassname + ".macroActionType: " + jsObject.macroActionType;
+ }
+ };
+ MacroAction.prototype.readAndAssertMacroActionId = function (buffer) {
+ var classname = this.constructor.name;
+ var readMacroActionId = buffer.readUInt8();
+ var macroActionId = MacroActionId[classname];
+ if (macroActionId === MacroActionId.KeyMacroAction) {
+ if (readMacroActionId < MacroActionId.KeyMacroAction || readMacroActionId > MacroActionId.LastKeyMacroAction) {
+ throw "Invalid " + classname + " first byte: " + readMacroActionId;
+ }
+ }
+ else if (macroActionId === MacroActionId.MouseButtonMacroAction) {
+ if (readMacroActionId < MacroActionId.MouseButtonMacroAction ||
+ readMacroActionId > MacroActionId.LastMouseButtonMacroAction) {
+ throw "Invalid " + classname + " first byte: " + readMacroActionId;
+ }
+ }
+ else if (readMacroActionId !== macroActionId) {
+ throw "Invalid " + classname + " first byte: " + readMacroActionId;
+ }
+ return readMacroActionId;
+ };
+ return MacroAction;
+ }(Serializable_1.Serializable));
+ exports.MacroAction = MacroAction;
+
+
+/***/ },
+/* 475 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var key_action_1 = __webpack_require__(438);
+ var DelayMacroAction_1 = __webpack_require__(473);
+ var KeyMacroAction_1 = __webpack_require__(476);
+ var MacroAction_1 = __webpack_require__(474);
+ var MouseButtonMacroAction_1 = __webpack_require__(477);
+ var MoveMouseMacroAction_1 = __webpack_require__(478);
+ var ScrollMouseMacroAction_1 = __webpack_require__(479);
+ var TextMacroAction_1 = __webpack_require__(480);
+ var EditableMacroAction = (function () {
+ function EditableMacroAction(jsObject) {
+ if (!jsObject) {
+ return;
+ }
+ this.macroActionType = jsObject.macroActionType;
+ switch (this.macroActionType) {
+ case MacroAction_1.macroActionType.KeyMacroAction:
+ this.action = MacroAction_1.MacroSubAction[jsObject.action];
+ this.scancode = jsObject.scancode;
+ this.modifierMask = jsObject.modifierMask;
+ break;
+ case MacroAction_1.macroActionType.MouseButtonMacroAction:
+ this.action = MacroAction_1.MacroSubAction[jsObject.action];
+ this.mouseButtonsMask = jsObject.mouseButtonsMask;
+ break;
+ case MacroAction_1.macroActionType.MoveMouseMacroAction:
+ this.moveX = jsObject.x;
+ this.moveY = jsObject.y;
+ break;
+ case MacroAction_1.macroActionType.ScrollMouseMacroAction:
+ this.scrollX = jsObject.x;
+ this.scrollY = jsObject.y;
+ break;
+ case MacroAction_1.macroActionType.TextMacroAction:
+ this.text = jsObject.text;
+ break;
+ case MacroAction_1.macroActionType.DelayMacroAction:
+ this.delay = jsObject.delay;
+ break;
+ default:
+ break;
+ }
+ }
+ EditableMacroAction.prototype.toJsObject = function () {
+ return {
+ macroActionType: this.macroActionType,
+ action: this.action,
+ delay: this.delay,
+ text: this.text,
+ scancode: this.scancode,
+ modifierMask: this.modifierMask,
+ mouseButtonsMask: this.mouseButtonsMask,
+ mouseMove: {
+ x: this.moveX,
+ y: this.moveY
+ },
+ mouseScroll: {
+ x: this.scrollX,
+ y: this.scrollY
+ }
+ };
+ };
+ EditableMacroAction.prototype.fromKeyAction = function (keyAction) {
+ var data = keyAction.toJsObject();
+ this.scancode = data.scancode;
+ this.modifierMask = data.modifierMask;
+ };
+ EditableMacroAction.prototype.toKeystrokeAction = function () {
+ var data = this.toJsObject();
+ data.keyActionType = key_action_1.keyActionType.KeystrokeAction;
+ return (new key_action_1.KeystrokeAction().fromJsObject(data));
+ };
+ EditableMacroAction.prototype.setMouseButtons = function (buttonStates) {
+ var bitmask = 0;
+ for (var i = 0; i < buttonStates.length; i++) {
+ bitmask |= Number(buttonStates[i]) << i;
+ }
+ this.mouseButtonsMask = bitmask;
+ };
+ EditableMacroAction.prototype.getMouseButtons = function () {
+ var enabledMouseButtons = [];
+ for (var bitmask = this.mouseButtonsMask; bitmask; bitmask >>>= 1) {
+ enabledMouseButtons.push(Boolean(bitmask & 1));
+ }
+ return enabledMouseButtons;
+ };
+ EditableMacroAction.prototype.toClass = function () {
+ switch (this.macroActionType) {
+ // Delay action
+ case MacroAction_1.macroActionType.DelayMacroAction:
+ return new DelayMacroAction_1.DelayMacroAction().fromJsObject({
+ macroActionType: this.macroActionType,
+ delay: this.delay
+ });
+ // Text action
+ case MacroAction_1.macroActionType.TextMacroAction:
+ return new TextMacroAction_1.TextMacroAction().fromJsObject({
+ macroActionType: this.macroActionType,
+ text: this.text
+ });
+ // Keypress action
+ case MacroAction_1.macroActionType.KeyMacroAction:
+ return new KeyMacroAction_1.KeyMacroAction().fromJsObject({
+ macroActionType: this.macroActionType,
+ action: MacroAction_1.MacroSubAction[this.action],
+ scancode: this.scancode,
+ modifierMask: this.modifierMask
+ });
+ // Mouse actions
+ case MacroAction_1.macroActionType.MouseButtonMacroAction:
+ return new MouseButtonMacroAction_1.MouseButtonMacroAction().fromJsObject({
+ macroActionType: this.macroActionType,
+ action: MacroAction_1.MacroSubAction[this.action],
+ mouseButtonsMask: this.mouseButtonsMask
+ });
+ case MacroAction_1.macroActionType.MoveMouseMacroAction:
+ return new MoveMouseMacroAction_1.MoveMouseMacroAction().fromJsObject({
+ macroActionType: this.macroActionType,
+ x: this.moveX,
+ y: this.moveY
+ });
+ case MacroAction_1.macroActionType.ScrollMouseMacroAction:
+ return new ScrollMouseMacroAction_1.ScrollMouseMacroAction().fromJsObject({
+ macroActionType: this.macroActionType,
+ x: this.scrollX,
+ y: this.scrollY
+ });
+ default:
+ throw new Error('Macro action type is missing or not implemented.');
+ }
+ };
+ EditableMacroAction.prototype.isKeyAction = function () {
+ return this.macroActionType === MacroAction_1.macroActionType.KeyMacroAction;
+ };
+ EditableMacroAction.prototype.isMouseButtonAction = function () {
+ return this.macroActionType === MacroAction_1.macroActionType.MouseButtonMacroAction;
+ };
+ EditableMacroAction.prototype.isOnlyHoldAction = function () {
+ return this.action === MacroAction_1.MacroSubAction.hold;
+ };
+ EditableMacroAction.prototype.isOnlyPressAction = function () {
+ return this.action === MacroAction_1.MacroSubAction.press;
+ };
+ EditableMacroAction.prototype.isOnlyReleaseAction = function () {
+ return this.action === MacroAction_1.MacroSubAction.release;
+ };
+ return EditableMacroAction;
+ }());
+ exports.EditableMacroAction = EditableMacroAction;
+
+
+/***/ },
+/* 476 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __extends = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var assert_1 = __webpack_require__(442);
+ var MacroAction_1 = __webpack_require__(474);
+ var NUM_OF_COMBINATIONS = 3; // Cases: scancode, modifer, both
+ var KeyMacroAction = (function (_super) {
+ __extends(KeyMacroAction, _super);
+ function KeyMacroAction(other) {
+ _super.call(this);
+ if (!other) {
+ return;
+ }
+ this.action = other.action;
+ this.scancode = other.scancode;
+ this.modifierMask = other.modifierMask;
+ }
+ KeyMacroAction.prototype._fromJsObject = function (jsObject) {
+ this.assertMacroActionType(jsObject);
+ this.action = MacroAction_1.MacroSubAction[jsObject.action];
+ this.scancode = jsObject.scancode;
+ this.modifierMask = jsObject.modifierMask;
+ return this;
+ };
+ KeyMacroAction.prototype._fromBinary = function (buffer) {
+ var macroActionId = this.readAndAssertMacroActionId(buffer);
+ var keyMacroType = macroActionId - MacroAction_1.MacroActionId.KeyMacroAction;
+ this.action = Math.floor(keyMacroType / NUM_OF_COMBINATIONS);
+ keyMacroType %= NUM_OF_COMBINATIONS;
+ if (keyMacroType % 2 === 0) {
+ this.scancode = buffer.readUInt8();
+ }
+ if (keyMacroType !== 0) {
+ this.modifierMask = buffer.readUInt8();
+ }
+ return this;
+ };
+ KeyMacroAction.prototype._toJsObject = function () {
+ var jsObject = {
+ macroActionType: MacroAction_1.macroActionType.KeyMacroAction,
+ action: MacroAction_1.MacroSubAction[this.action]
+ };
+ if (this.hasScancode()) {
+ jsObject.scancode = this.scancode;
+ }
+ if (this.hasModifiers()) {
+ jsObject.modifierMask = this.modifierMask;
+ }
+ return jsObject;
+ };
+ KeyMacroAction.prototype._toBinary = function (buffer) {
+ var keyMacroType = MacroAction_1.MacroActionId.KeyMacroAction;
+ keyMacroType += NUM_OF_COMBINATIONS * this.action;
+ if (this.hasModifiers()) {
+ ++keyMacroType;
+ if (this.hasScancode()) {
+ ++keyMacroType;
+ }
+ }
+ buffer.writeUInt8(keyMacroType);
+ if (this.hasScancode()) {
+ buffer.writeUInt8(this.scancode);
+ }
+ if (this.hasModifiers()) {
+ buffer.writeUInt8(this.modifierMask);
+ }
+ };
+ KeyMacroAction.prototype.toString = function () {
+ return "";
+ };
+ KeyMacroAction.prototype.isModifierActive = function (modifier) {
+ return (this.modifierMask & modifier) > 0;
+ };
+ KeyMacroAction.prototype.hasScancode = function () {
+ return !!this.scancode;
+ };
+ KeyMacroAction.prototype.hasModifiers = function () {
+ return !!this.modifierMask;
+ };
+ KeyMacroAction.prototype.isHoldAction = function () {
+ return this.action === MacroAction_1.MacroSubAction.hold;
+ };
+ KeyMacroAction.prototype.isPressAction = function () {
+ return this.action === MacroAction_1.MacroSubAction.press;
+ };
+ KeyMacroAction.prototype.isReleaseAction = function () {
+ return this.action === MacroAction_1.MacroSubAction.release;
+ };
+ __decorate([
+ assert_1.assertEnum(MacroAction_1.MacroSubAction),
+ __metadata('design:type', Number)
+ ], KeyMacroAction.prototype, "action", void 0);
+ __decorate([
+ assert_1.assertUInt8,
+ __metadata('design:type', Number)
+ ], KeyMacroAction.prototype, "scancode", void 0);
+ __decorate([
+ assert_1.assertUInt8,
+ __metadata('design:type', Number)
+ ], KeyMacroAction.prototype, "modifierMask", void 0);
+ return KeyMacroAction;
+ }(MacroAction_1.MacroAction));
+ exports.KeyMacroAction = KeyMacroAction;
+
+
+/***/ },
+/* 477 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __extends = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var assert_1 = __webpack_require__(442);
+ var MacroAction_1 = __webpack_require__(474);
+ (function (MouseButtons) {
+ MouseButtons[MouseButtons["Left"] = 1] = "Left";
+ MouseButtons[MouseButtons["Middle"] = 2] = "Middle";
+ MouseButtons[MouseButtons["Right"] = 4] = "Right";
+ })(exports.MouseButtons || (exports.MouseButtons = {}));
+ var MouseButtons = exports.MouseButtons;
+ ;
+ var MouseButtonMacroAction = (function (_super) {
+ __extends(MouseButtonMacroAction, _super);
+ function MouseButtonMacroAction(other) {
+ _super.call(this);
+ if (!other) {
+ return;
+ }
+ this.action = other.action;
+ this.mouseButtonsMask = other.mouseButtonsMask;
+ }
+ MouseButtonMacroAction.prototype._fromJsObject = function (jsObject) {
+ this.assertMacroActionType(jsObject);
+ this.action = MacroAction_1.MacroSubAction[jsObject.action];
+ this.mouseButtonsMask = jsObject.mouseButtonsMask;
+ return this;
+ };
+ MouseButtonMacroAction.prototype._fromBinary = function (buffer) {
+ var macroActionId = this.readAndAssertMacroActionId(buffer);
+ this.action = macroActionId - MacroAction_1.MacroActionId.MouseButtonMacroAction;
+ this.mouseButtonsMask = buffer.readUInt8();
+ return this;
+ };
+ MouseButtonMacroAction.prototype._toJsObject = function () {
+ return {
+ macroActionType: MacroAction_1.macroActionType.MouseButtonMacroAction,
+ action: MacroAction_1.MacroSubAction[this.action],
+ mouseButtonsMask: this.mouseButtonsMask
+ };
+ };
+ MouseButtonMacroAction.prototype._toBinary = function (buffer) {
+ buffer.writeUInt8(MacroAction_1.MacroActionId.MouseButtonMacroAction + this.action);
+ buffer.writeUInt8(this.mouseButtonsMask);
+ };
+ MouseButtonMacroAction.prototype.setMouseButtons = function (buttonStates) {
+ var bitmask = 0;
+ for (var i = 0; i < buttonStates.length; i++) {
+ bitmask |= Number(buttonStates[i]) << i;
+ }
+ this.mouseButtonsMask = bitmask;
+ };
+ MouseButtonMacroAction.prototype.getMouseButtons = function () {
+ var enabledMouseButtons = [];
+ for (var bitmask = this.mouseButtonsMask; bitmask; bitmask >>>= 1) {
+ enabledMouseButtons.push(Boolean(bitmask & 1));
+ }
+ return enabledMouseButtons;
+ };
+ MouseButtonMacroAction.prototype.toString = function () {
+ return "";
+ };
+ MouseButtonMacroAction.prototype.hasButtons = function () {
+ return this.mouseButtonsMask !== 0;
+ };
+ MouseButtonMacroAction.prototype.isOnlyHoldAction = function () {
+ return this.action === MacroAction_1.MacroSubAction.hold;
+ };
+ MouseButtonMacroAction.prototype.isOnlyPressAction = function () {
+ return this.action === MacroAction_1.MacroSubAction.press;
+ };
+ MouseButtonMacroAction.prototype.isOnlyReleaseAction = function () {
+ return this.action === MacroAction_1.MacroSubAction.release;
+ };
+ __decorate([
+ assert_1.assertEnum(MacroAction_1.MacroSubAction),
+ __metadata('design:type', Number)
+ ], MouseButtonMacroAction.prototype, "action", void 0);
+ __decorate([
+ assert_1.assertUInt8,
+ __metadata('design:type', Number)
+ ], MouseButtonMacroAction.prototype, "mouseButtonsMask", void 0);
+ return MouseButtonMacroAction;
+ }(MacroAction_1.MacroAction));
+ exports.MouseButtonMacroAction = MouseButtonMacroAction;
+
+
+/***/ },
+/* 478 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __extends = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var assert_1 = __webpack_require__(442);
+ var MacroAction_1 = __webpack_require__(474);
+ var MoveMouseMacroAction = (function (_super) {
+ __extends(MoveMouseMacroAction, _super);
+ function MoveMouseMacroAction(other) {
+ _super.call(this);
+ if (!other) {
+ return;
+ }
+ this.x = other.x;
+ this.y = other.y;
+ }
+ MoveMouseMacroAction.prototype._fromJsObject = function (jsObject) {
+ this.assertMacroActionType(jsObject);
+ this.x = jsObject.x;
+ this.y = jsObject.y;
+ return this;
+ };
+ MoveMouseMacroAction.prototype._fromBinary = function (buffer) {
+ this.readAndAssertMacroActionId(buffer);
+ this.x = buffer.readInt16();
+ this.y = buffer.readInt16();
+ return this;
+ };
+ MoveMouseMacroAction.prototype._toJsObject = function () {
+ return {
+ macroActionType: MacroAction_1.macroActionType.MoveMouseMacroAction,
+ x: this.x,
+ y: this.y
+ };
+ };
+ MoveMouseMacroAction.prototype._toBinary = function (buffer) {
+ buffer.writeUInt8(MacroAction_1.MacroActionId.MoveMouseMacroAction);
+ buffer.writeInt16(this.x);
+ buffer.writeInt16(this.y);
+ };
+ MoveMouseMacroAction.prototype.toString = function () {
+ return "";
+ };
+ __decorate([
+ assert_1.assertInt16,
+ __metadata('design:type', Number)
+ ], MoveMouseMacroAction.prototype, "x", void 0);
+ __decorate([
+ assert_1.assertInt16,
+ __metadata('design:type', Number)
+ ], MoveMouseMacroAction.prototype, "y", void 0);
+ return MoveMouseMacroAction;
+ }(MacroAction_1.MacroAction));
+ exports.MoveMouseMacroAction = MoveMouseMacroAction;
+
+
+/***/ },
+/* 479 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __extends = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var assert_1 = __webpack_require__(442);
+ var MacroAction_1 = __webpack_require__(474);
+ var ScrollMouseMacroAction = (function (_super) {
+ __extends(ScrollMouseMacroAction, _super);
+ function ScrollMouseMacroAction(other) {
+ _super.call(this);
+ if (!other) {
+ return;
+ }
+ this.x = other.x;
+ this.y = other.y;
+ }
+ ScrollMouseMacroAction.prototype._fromJsObject = function (jsObject) {
+ this.assertMacroActionType(jsObject);
+ this.x = jsObject.x;
+ this.y = jsObject.y;
+ return this;
+ };
+ ScrollMouseMacroAction.prototype._fromBinary = function (buffer) {
+ this.readAndAssertMacroActionId(buffer);
+ this.x = buffer.readInt16();
+ this.y = buffer.readInt16();
+ return this;
+ };
+ ScrollMouseMacroAction.prototype._toJsObject = function () {
+ return {
+ macroActionType: MacroAction_1.macroActionType.ScrollMouseMacroAction,
+ x: this.x,
+ y: this.y
+ };
+ };
+ ScrollMouseMacroAction.prototype._toBinary = function (buffer) {
+ buffer.writeUInt8(MacroAction_1.MacroActionId.ScrollMouseMacroAction);
+ buffer.writeInt16(this.x);
+ buffer.writeInt16(this.y);
+ };
+ ScrollMouseMacroAction.prototype.toString = function () {
+ return "";
+ };
+ __decorate([
+ assert_1.assertInt16,
+ __metadata('design:type', Number)
+ ], ScrollMouseMacroAction.prototype, "x", void 0);
+ __decorate([
+ assert_1.assertInt16,
+ __metadata('design:type', Number)
+ ], ScrollMouseMacroAction.prototype, "y", void 0);
+ return ScrollMouseMacroAction;
+ }(MacroAction_1.MacroAction));
+ exports.ScrollMouseMacroAction = ScrollMouseMacroAction;
+
+
+/***/ },
+/* 480 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __extends = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ var MacroAction_1 = __webpack_require__(474);
+ var TextMacroAction = (function (_super) {
+ __extends(TextMacroAction, _super);
+ function TextMacroAction(other) {
+ _super.call(this);
+ if (!other) {
+ return;
+ }
+ this.text = other.text;
+ }
+ TextMacroAction.prototype._fromJsObject = function (jsObject) {
+ this.assertMacroActionType(jsObject);
+ this.text = jsObject.text;
+ return this;
+ };
+ TextMacroAction.prototype._fromBinary = function (buffer) {
+ this.readAndAssertMacroActionId(buffer);
+ this.text = buffer.readString();
+ return this;
+ };
+ TextMacroAction.prototype._toJsObject = function () {
+ return {
+ macroActionType: MacroAction_1.macroActionType.TextMacroAction,
+ text: this.text
+ };
+ };
+ TextMacroAction.prototype._toBinary = function (buffer) {
+ buffer.writeUInt8(MacroAction_1.MacroActionId.TextMacroAction);
+ buffer.writeString(this.text);
+ };
+ TextMacroAction.prototype.toString = function () {
+ return "";
+ };
+ return TextMacroAction;
+ }(MacroAction_1.MacroAction));
+ exports.TextMacroAction = TextMacroAction;
+
+
+/***/ },
+/* 481 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var UhkBuffer_1 = __webpack_require__(450);
+ var index_1 = __webpack_require__(472);
+ var Helper = (function () {
+ function Helper() {
+ }
+ Helper.createMacroAction = function (source) {
+ if (source instanceof index_1.MacroAction) {
+ return Helper.fromMacroAction(source);
+ }
+ else if (source instanceof UhkBuffer_1.UhkBuffer) {
+ return Helper.fromUhkBuffer(source);
+ }
+ else {
+ return Helper.fromJSONObject(source);
+ }
+ };
+ Helper.fromUhkBuffer = function (buffer) {
+ var macroActionFirstByte = buffer.readUInt8();
+ buffer.backtrack();
+ if (macroActionFirstByte >= index_1.MacroActionId.KeyMacroAction && macroActionFirstByte <= index_1.MacroActionId.LastKeyMacroAction) {
+ return new index_1.KeyMacroAction().fromBinary(buffer);
+ }
+ else if (macroActionFirstByte >= index_1.MacroActionId.MouseButtonMacroAction &&
+ macroActionFirstByte <= index_1.MacroActionId.LastMouseButtonMacroAction) {
+ return new index_1.MouseButtonMacroAction().fromBinary(buffer);
+ }
+ switch (macroActionFirstByte) {
+ case index_1.MacroActionId.MoveMouseMacroAction:
+ return new index_1.MoveMouseMacroAction().fromBinary(buffer);
+ case index_1.MacroActionId.ScrollMouseMacroAction:
+ return new index_1.ScrollMouseMacroAction().fromBinary(buffer);
+ case index_1.MacroActionId.DelayMacroAction:
+ return new index_1.DelayMacroAction().fromBinary(buffer);
+ case index_1.MacroActionId.TextMacroAction:
+ return new index_1.TextMacroAction().fromBinary(buffer);
+ default:
+ throw "Invalid MacroAction first byte: " + macroActionFirstByte;
+ }
+ };
+ Helper.fromMacroAction = function (macroAction) {
+ var newMacroAction;
+ if (macroAction instanceof index_1.KeyMacroAction) {
+ newMacroAction = new index_1.KeyMacroAction(macroAction);
+ }
+ else if (macroAction instanceof index_1.MouseButtonMacroAction) {
+ newMacroAction = new index_1.MouseButtonMacroAction(macroAction);
+ }
+ else if (macroAction instanceof index_1.MoveMouseMacroAction) {
+ newMacroAction = new index_1.MoveMouseMacroAction(macroAction);
+ }
+ else if (macroAction instanceof index_1.ScrollMouseMacroAction) {
+ newMacroAction = new index_1.ScrollMouseMacroAction(macroAction);
+ }
+ else if (macroAction instanceof index_1.DelayMacroAction) {
+ newMacroAction = new index_1.DelayMacroAction(macroAction);
+ }
+ else if (macroAction instanceof index_1.TextMacroAction) {
+ newMacroAction = new index_1.TextMacroAction(macroAction);
+ }
+ return newMacroAction;
+ };
+ Helper.fromJSONObject = function (macroAction) {
+ switch (macroAction.macroActionType) {
+ case index_1.macroActionType.KeyMacroAction:
+ return new index_1.KeyMacroAction().fromJsObject(macroAction);
+ case index_1.macroActionType.MouseButtonMacroAction:
+ return new index_1.MouseButtonMacroAction().fromJsObject(macroAction);
+ case index_1.macroActionType.MoveMouseMacroAction:
+ return new index_1.MoveMouseMacroAction().fromJsObject(macroAction);
+ case index_1.macroActionType.ScrollMouseMacroAction:
+ return new index_1.ScrollMouseMacroAction().fromJsObject(macroAction);
+ case index_1.macroActionType.DelayMacroAction:
+ return new index_1.DelayMacroAction().fromJsObject(macroAction);
+ case index_1.macroActionType.TextMacroAction:
+ return new index_1.TextMacroAction().fromJsObject(macroAction);
+ default:
+ throw "Invalid MacroAction.macroActionType: \"" + macroAction.macroActionType + "\"";
+ }
+ };
+ return Helper;
+ }());
+ exports.Helper = Helper;
+
+
+/***/ },
+/* 482 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n \r\n \r\n \r\n\r\n\r\n There is no macro with id {{ route.params.select('id') | async }}.\r\n
";
+
+/***/ },
+/* 483 */
+/***/ function(module, exports) {
+
+ module.exports = ":host {\n width: 100%;\n height: 100%;\n display: block; }\n\n.not-found {\n margin-top: 30px;\n font-size: 16px;\n text-align: center; }\n"
+
+/***/ },
+/* 484 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -63915,9 +65829,342 @@
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var core_1 = __webpack_require__(313);
- var KeyModifiers_1 = __webpack_require__(470);
- var macro_action_1 = __webpack_require__(471);
- var mapper_service_1 = __webpack_require__(481);
+ var ng2_dragula_1 = __webpack_require__(384);
+ var Macro_1 = __webpack_require__(471);
+ var index_1 = __webpack_require__(467);
+ var MacroListComponent = (function () {
+ function MacroListComponent(dragulaService) {
+ var _this = this;
+ this.dragulaService = dragulaService;
+ this.add = new core_1.EventEmitter();
+ this.edit = new core_1.EventEmitter();
+ this.delete = new core_1.EventEmitter();
+ this.reorder = new core_1.EventEmitter();
+ this.newMacro = undefined;
+ this.activeEdit = undefined;
+ this.showNew = false;
+ /* tslint:disable:no-unused-variable: Used by Dragula. */
+ dragulaService.setOptions('macroActions', {
+ moves: function (el, container, handle) {
+ return handle.className.includes('action--movable');
+ }
+ });
+ dragulaService.drag.subscribe(function (value) {
+ _this.dragIndex = +value[1].getAttribute('data-index');
+ });
+ dragulaService.drop.subscribe(function (value) {
+ if (value[4]) {
+ _this.reorder.emit({
+ macroId: _this.macro.id,
+ oldIndex: _this.dragIndex,
+ newIndex: +value[4].getAttribute('data-index')
+ });
+ }
+ });
+ }
+ MacroListComponent.prototype.showNewAction = function () {
+ this.hideActiveEditor();
+ this.newMacro = undefined;
+ this.showNew = true;
+ };
+ MacroListComponent.prototype.hideNewAction = function () {
+ this.showNew = false;
+ };
+ MacroListComponent.prototype.addNewAction = function (macroAction) {
+ this.add.emit({
+ macroId: this.macro.id,
+ action: macroAction
+ });
+ this.newMacro = undefined;
+ this.showNew = false;
+ };
+ MacroListComponent.prototype.editAction = function (index) {
+ // Hide other editors when clicking edit button of a macro action
+ this.hideActiveEditor();
+ this.showNew = false;
+ this.activeEdit = index;
+ };
+ MacroListComponent.prototype.cancelAction = function () {
+ this.activeEdit = undefined;
+ };
+ MacroListComponent.prototype.saveAction = function (macroAction, index) {
+ this.edit.emit({
+ macroId: this.macro.id,
+ index: index,
+ action: macroAction
+ });
+ this.hideActiveEditor();
+ };
+ MacroListComponent.prototype.deleteAction = function (macroAction, index) {
+ this.delete.emit({
+ macroId: this.macro.id,
+ index: index,
+ action: macroAction
+ });
+ this.hideActiveEditor();
+ };
+ MacroListComponent.prototype.hideActiveEditor = function () {
+ if (this.activeEdit !== undefined) {
+ this.macroItems.toArray()[this.activeEdit].cancelEdit();
+ }
+ };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Macro_1.Macro)
+ ], MacroListComponent.prototype, "macro", void 0);
+ __decorate([
+ core_1.ViewChildren(core_1.forwardRef(function () { return index_1.MacroItemComponent; })),
+ __metadata('design:type', core_1.QueryList)
+ ], MacroListComponent.prototype, "macroItems", void 0);
+ __decorate([
+ core_1.Output(),
+ __metadata('design:type', Object)
+ ], MacroListComponent.prototype, "add", void 0);
+ __decorate([
+ core_1.Output(),
+ __metadata('design:type', Object)
+ ], MacroListComponent.prototype, "edit", void 0);
+ __decorate([
+ core_1.Output(),
+ __metadata('design:type', Object)
+ ], MacroListComponent.prototype, "delete", void 0);
+ __decorate([
+ core_1.Output(),
+ __metadata('design:type', Object)
+ ], MacroListComponent.prototype, "reorder", void 0);
+ MacroListComponent = __decorate([
+ core_1.Component({
+ animations: [
+ core_1.trigger('toggler', [
+ core_1.state('inactive', core_1.style({
+ height: '0px'
+ })),
+ core_1.state('active', core_1.style({
+ height: '*'
+ })),
+ core_1.transition('inactive <=> active', core_1.animate('500ms ease-out'))
+ ]),
+ core_1.trigger('togglerNew', [
+ core_1.state('void', core_1.style({
+ height: '0px'
+ })),
+ core_1.state('active', core_1.style({
+ height: '*'
+ })),
+ core_1.transition(':enter', core_1.animate('500ms ease-out')),
+ core_1.transition(':leave', core_1.animate('500ms ease-out'))
+ ])
+ ],
+ selector: 'macro-list',
+ template: __webpack_require__(485),
+ styles: [__webpack_require__(486)],
+ viewProviders: [ng2_dragula_1.DragulaService]
+ }),
+ __metadata('design:paramtypes', [ng2_dragula_1.DragulaService])
+ ], MacroListComponent);
+ return MacroListComponent;
+ }());
+ exports.MacroListComponent = MacroListComponent;
+
+
+/***/ },
+/* 485 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
";
+
+/***/ },
+/* 486 */
+/***/ function(module, exports) {
+
+ module.exports = ":host {\n display: flex;\n flex-direction: column;\n height: 100%; }\n :host .list-container {\n display: flex;\n flex: 1; }\n\n.main-wrapper {\n width: 500px; }\n\nh1 {\n margin-bottom: 3rem; }\n\n.action--edit__form {\n background-color: #fff;\n margin-left: -0.5rem;\n margin-right: -15px;\n margin-top: 15px;\n padding-top: 15px;\n border-top: 1px solid #ddd; }\n\n.action--item {\n padding-left: 8px; }\n .action--item.active, .action--item.active:hover {\n background-color: white;\n font-weight: bold;\n color: black;\n border-color: black;\n z-index: 10; }\n\n.list-group {\n overflow: auto; }\n\n.macro__name {\n border-bottom: 2px dotted #999;\n padding: 0 0.5rem;\n margin: 0 0.25rem; }\n\n.macro-settings {\n border: 1px solid black;\n border-top-color: #999;\n z-index: 100; }\n .macro-settings .helper {\n position: absolute;\n display: block;\n height: 13px;\n background: #fff;\n width: 100%;\n left: 0;\n top: -14px; }\n\n.action--item.active.callout,\n.macro-settings.callout {\n box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.5); }\n\n.macro-actions-container {\n margin-bottom: 0;\n border-radius: 4px;\n border: 1px solid #ddd;\n border-bottom: 0; }\n\n.list-group-item .move-handle:hover {\n cursor: move; }\n\n.flex-button-wrapper {\n display: flex;\n flex-direction: row-reverse; }\n\n.flex-button {\n align-self: flex-end; }\n\n.add-new__action-container {\n overflow: hidden;\n flex-shrink: 0;\n border-top: 1px solid #ddd; }\n\n.add-new__action-item {\n border-radius: 0 0 4px 4px;\n border-top: 0;\n padding: 0; }\n .add-new__action-item:hover {\n cursor: pointer; }\n .add-new__action-item--link {\n width: 50%;\n float: left;\n padding: 10px 5px;\n text-align: center;\n color: #337ab7; }\n .add-new__action-item--link:first-of-type {\n border-right: 1px solid #ddd; }\n .add-new__action-item--link:hover {\n text-decoration: none;\n background: #e6e6e6; }\n .add-new__action-item .fa-circle {\n color: #c00; }\n\n.gu-mirror {\n position: fixed;\n margin: 0;\n z-index: 9999;\n opacity: 0.8; }\n\n.gu-hide {\n display: none; }\n\n.gu-unselectable {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n"
+
+/***/ },
+/* 487 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var store_1 = __webpack_require__(353);
+ var Macro_1 = __webpack_require__(471);
+ var actions_1 = __webpack_require__(424);
+ var MacroHeaderComponent = (function () {
+ function MacroHeaderComponent(store, renderer) {
+ this.store = store;
+ this.renderer = renderer;
+ }
+ MacroHeaderComponent.prototype.ngOnChanges = function () {
+ if (this.isNew) {
+ this.renderer.invokeElementMethod(this.macroName.nativeElement, 'select', []);
+ }
+ };
+ MacroHeaderComponent.prototype.ngAfterViewInit = function () {
+ if (this.isNew) {
+ this.renderer.invokeElementMethod(this.macroName.nativeElement, 'select', []);
+ }
+ };
+ MacroHeaderComponent.prototype.removeMacro = function () {
+ this.store.dispatch(actions_1.MacroActions.removeMacro(this.macro.id));
+ };
+ MacroHeaderComponent.prototype.duplicateMacro = function () {
+ this.store.dispatch(actions_1.MacroActions.duplicateMacro(this.macro));
+ };
+ MacroHeaderComponent.prototype.editMacroName = function (name) {
+ if (name.length === 0) {
+ this.renderer.setElementProperty(this.macroName.nativeElement, 'value', this.macro.name);
+ return;
+ }
+ this.store.dispatch(actions_1.MacroActions.editMacroName(this.macro.id, name));
+ };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Macro_1.Macro)
+ ], MacroHeaderComponent.prototype, "macro", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Boolean)
+ ], MacroHeaderComponent.prototype, "isNew", void 0);
+ __decorate([
+ core_1.ViewChild('macroName'),
+ __metadata('design:type', core_1.ElementRef)
+ ], MacroHeaderComponent.prototype, "macroName", void 0);
+ MacroHeaderComponent = __decorate([
+ core_1.Component({
+ selector: 'macro-header',
+ template: __webpack_require__(488),
+ styles: [__webpack_require__(489)],
+ changeDetection: core_1.ChangeDetectionStrategy.OnPush
+ }),
+ __metadata('design:paramtypes', [store_1.Store, core_1.Renderer])
+ ], MacroHeaderComponent);
+ return MacroHeaderComponent;
+ }());
+ exports.MacroHeaderComponent = MacroHeaderComponent;
+
+
+/***/ },
+/* 488 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n
\r\n \r\n \r\n \r\n \r\n \r\n";
+
+/***/ },
+/* 489 */
+/***/ function(module, exports) {
+
+ module.exports = ".macro__remove {\n font-size: 0.75em;\n top: 8px; }\n .macro__remove:hover {\n cursor: pointer;\n color: #900; }\n\n.macro__duplicate {\n font-size: 0.75em;\n top: 7px;\n margin-right: 15px;\n position: relative; }\n .macro__duplicate:hover {\n cursor: pointer;\n color: #337ab7; }\n\n.pane-title {\n margin-bottom: 1em; }\n .pane-title__name {\n border: none;\n border-bottom: 2px dotted #999;\n padding: 0;\n margin: 0 0.25rem;\n width: 330px;\n text-overflow: ellipsis; }\n .pane-title__name:focus {\n box-shadow: 0 0 0 1px #ccc, 0 0 5px 0 #ccc;\n border-color: transparent; }\n"
+
+/***/ },
+/* 490 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var macro_edit_component_1 = __webpack_require__(468);
+ var not_found_1 = __webpack_require__(491);
+ exports.macroRoutes = [
+ {
+ path: 'macro',
+ component: not_found_1.MacroNotFoundComponent
+ },
+ {
+ path: 'macro/:id',
+ component: macro_edit_component_1.MacroEditComponent
+ },
+ {
+ path: 'macro/:id/:empty',
+ component: macro_edit_component_1.MacroEditComponent
+ }
+ ];
+
+
+/***/ },
+/* 491 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var macro_not_found_component_1 = __webpack_require__(492);
+ exports.MacroNotFoundComponent = macro_not_found_component_1.MacroNotFoundComponent;
+
+
+/***/ },
+/* 492 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var MacroNotFoundComponent = (function () {
+ function MacroNotFoundComponent() {
+ }
+ MacroNotFoundComponent = __decorate([
+ core_1.Component({
+ selector: 'macro-not-found',
+ template: __webpack_require__(493),
+ styles: [__webpack_require__(494)]
+ }),
+ __metadata('design:paramtypes', [])
+ ], MacroNotFoundComponent);
+ return MacroNotFoundComponent;
+ }());
+ exports.MacroNotFoundComponent = MacroNotFoundComponent;
+
+
+/***/ },
+/* 493 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n You don't have any macros. Try to add one!\r\n
";
+
+/***/ },
+/* 494 */
+/***/ function(module, exports) {
+
+ module.exports = ".not-found {\n margin-top: 30px;\n font-size: 16px;\n text-align: center; }\n"
+
+/***/ },
+/* 495 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var macro_item_component_1 = __webpack_require__(496);
+ exports.MacroItemComponent = macro_item_component_1.MacroItemComponent;
+
+
+/***/ },
+/* 496 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var KeyModifiers_1 = __webpack_require__(497);
+ var macro_action_1 = __webpack_require__(472);
+ var mapper_service_1 = __webpack_require__(498);
var MacroItemComponent = (function () {
function MacroItemComponent(mapper) {
this.mapper = mapper;
@@ -63925,17 +66172,17 @@
this.cancel = new core_1.EventEmitter();
this.edit = new core_1.EventEmitter();
this.delete = new core_1.EventEmitter();
+ this.newItem = false;
}
MacroItemComponent.prototype.ngOnInit = function () {
this.updateView();
if (!this.macroAction) {
this.editing = true;
+ this.newItem = true;
}
};
MacroItemComponent.prototype.ngOnChanges = function (changes) {
- /* tslint:disable:no-string-literal */
if (changes['macroAction']) {
- /* tslint:enable:no-string-literal */
this.updateView();
}
};
@@ -64091,7 +66338,7 @@
__decorate([
core_1.Input(),
__metadata('design:type', Boolean)
- ], MacroItemComponent.prototype, "moveable", void 0);
+ ], MacroItemComponent.prototype, "movable", void 0);
__decorate([
core_1.Output(),
__metadata('design:type', Object)
@@ -64110,9 +66357,20 @@
], MacroItemComponent.prototype, "delete", void 0);
MacroItemComponent = __decorate([
core_1.Component({
+ animations: [
+ core_1.trigger('toggler', [
+ core_1.state('inactive', core_1.style({
+ height: '0px'
+ })),
+ core_1.state('active', core_1.style({
+ height: '*'
+ })),
+ core_1.transition('inactive <=> active', core_1.animate('500ms ease-out'))
+ ])
+ ],
selector: 'macro-item',
- template: __webpack_require__(482),
- styles: [__webpack_require__(483)],
+ template: __webpack_require__(499),
+ styles: [__webpack_require__(500)],
host: { 'class': 'macro-item' }
}),
__metadata('design:paramtypes', [mapper_service_1.MapperService])
@@ -64123,7 +66381,7 @@
/***/ },
-/* 470 */
+/* 497 */
/***/ function(module, exports) {
"use strict";
@@ -64141,837 +66399,7 @@
/***/ },
-/* 471 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(472));
- __export(__webpack_require__(474));
- __export(__webpack_require__(475));
- __export(__webpack_require__(473));
- __export(__webpack_require__(477));
- __export(__webpack_require__(476));
- __export(__webpack_require__(478));
- __export(__webpack_require__(479));
- __export(__webpack_require__(480));
-
-
-/***/ },
-/* 472 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __extends = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var assert_1 = __webpack_require__(433);
- var MacroAction_1 = __webpack_require__(473);
- var DelayMacroAction = (function (_super) {
- __extends(DelayMacroAction, _super);
- function DelayMacroAction(other) {
- _super.call(this);
- if (!other) {
- return;
- }
- this.delay = other.delay;
- }
- DelayMacroAction.prototype._fromJsObject = function (jsObject) {
- this.assertMacroActionType(jsObject);
- this.delay = jsObject.delay;
- return this;
- };
- DelayMacroAction.prototype._fromBinary = function (buffer) {
- this.readAndAssertMacroActionId(buffer);
- this.delay = buffer.readUInt16();
- return this;
- };
- DelayMacroAction.prototype._toJsObject = function () {
- return {
- macroActionType: MacroAction_1.macroActionType.DelayMacroAction,
- delay: this.delay
- };
- };
- DelayMacroAction.prototype._toBinary = function (buffer) {
- buffer.writeUInt8(MacroAction_1.MacroActionId.DelayMacroAction);
- buffer.writeUInt16(this.delay);
- };
- DelayMacroAction.prototype.toString = function () {
- return "";
- };
- __decorate([
- assert_1.assertUInt16,
- __metadata('design:type', Number)
- ], DelayMacroAction.prototype, "delay", void 0);
- return DelayMacroAction;
- }(MacroAction_1.MacroAction));
- exports.DelayMacroAction = DelayMacroAction;
-
-
-/***/ },
-/* 473 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __extends = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- var Serializable_1 = __webpack_require__(430);
- (function (MacroActionId) {
- MacroActionId[MacroActionId["KeyMacroAction"] = 0] = "KeyMacroAction";
- /*
- 0 - 8 are reserved for KeyMacroAction
- PressKeyMacroAction with scancode: 0
- PressKeyMacroAction with modifiers: 1
- PressKeyMacroAction with scancode and modifiers 2
- HoldKeyMacroAction with scancode: 3
- HoldKeyMacroAction with modifiers: 4
- HoldKeyMacroAction with scancode and modifiers 5
- ReleaseKeyMacroAction with scancode: 6
- ReleaseKeyMacroAction with modifiers: 7
- ReleaseKeyMacroAction with scancode and modifiers 8
- */
- MacroActionId[MacroActionId["LastKeyMacroAction"] = 8] = "LastKeyMacroAction";
- MacroActionId[MacroActionId["MouseButtonMacroAction"] = 9] = "MouseButtonMacroAction";
- /*
- 9 - 11 are reserved for MouseButtonMacroAction
- PressMouseButtonsMacroAction = 9,
- HoldMouseButtonsMacroAction = 10,
- ReleaseMouseButtonsMacroAction = 11,
- */
- MacroActionId[MacroActionId["LastMouseButtonMacroAction"] = 11] = "LastMouseButtonMacroAction";
- MacroActionId[MacroActionId["MoveMouseMacroAction"] = 12] = "MoveMouseMacroAction";
- MacroActionId[MacroActionId["ScrollMouseMacroAction"] = 13] = "ScrollMouseMacroAction";
- MacroActionId[MacroActionId["DelayMacroAction"] = 14] = "DelayMacroAction";
- MacroActionId[MacroActionId["TextMacroAction"] = 15] = "TextMacroAction";
- })(exports.MacroActionId || (exports.MacroActionId = {}));
- var MacroActionId = exports.MacroActionId;
- (function (MacroSubAction) {
- MacroSubAction[MacroSubAction["press"] = 0] = "press";
- MacroSubAction[MacroSubAction["hold"] = 1] = "hold";
- MacroSubAction[MacroSubAction["release"] = 2] = "release";
- })(exports.MacroSubAction || (exports.MacroSubAction = {}));
- var MacroSubAction = exports.MacroSubAction;
- exports.macroActionType = {
- KeyMacroAction: 'key',
- MouseButtonMacroAction: 'mouseButton',
- MoveMouseMacroAction: 'moveMouse',
- ScrollMouseMacroAction: 'scrollMouse',
- DelayMacroAction: 'delay',
- TextMacroAction: 'text'
- };
- var MacroAction = (function (_super) {
- __extends(MacroAction, _super);
- function MacroAction() {
- _super.apply(this, arguments);
- }
- MacroAction.prototype.assertMacroActionType = function (jsObject) {
- var macroActionClassname = this.constructor.name;
- var macroActionTypeString = exports.macroActionType[macroActionClassname];
- if (jsObject.macroActionType !== macroActionTypeString) {
- throw "Invalid " + macroActionClassname + ".macroActionType: " + jsObject.macroActionType;
- }
- };
- MacroAction.prototype.readAndAssertMacroActionId = function (buffer) {
- var classname = this.constructor.name;
- var readMacroActionId = buffer.readUInt8();
- var macroActionId = MacroActionId[classname];
- if (macroActionId === MacroActionId.KeyMacroAction) {
- if (readMacroActionId < MacroActionId.KeyMacroAction || readMacroActionId > MacroActionId.LastKeyMacroAction) {
- throw "Invalid " + classname + " first byte: " + readMacroActionId;
- }
- }
- else if (macroActionId === MacroActionId.MouseButtonMacroAction) {
- if (readMacroActionId < MacroActionId.MouseButtonMacroAction ||
- readMacroActionId > MacroActionId.LastMouseButtonMacroAction) {
- throw "Invalid " + classname + " first byte: " + readMacroActionId;
- }
- }
- else if (readMacroActionId !== macroActionId) {
- throw "Invalid " + classname + " first byte: " + readMacroActionId;
- }
- return readMacroActionId;
- };
- return MacroAction;
- }(Serializable_1.Serializable));
- exports.MacroAction = MacroAction;
-
-
-/***/ },
-/* 474 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var key_action_1 = __webpack_require__(434);
- var DelayMacroAction_1 = __webpack_require__(472);
- var KeyMacroAction_1 = __webpack_require__(475);
- var MacroAction_1 = __webpack_require__(473);
- var MouseButtonMacroAction_1 = __webpack_require__(476);
- var MoveMouseMacroAction_1 = __webpack_require__(477);
- var ScrollMouseMacroAction_1 = __webpack_require__(478);
- var TextMacroAction_1 = __webpack_require__(479);
- var EditableMacroAction = (function () {
- function EditableMacroAction(jsObject) {
- if (!jsObject) {
- return;
- }
- this.macroActionType = jsObject.macroActionType;
- switch (this.macroActionType) {
- case MacroAction_1.macroActionType.KeyMacroAction:
- this.action = MacroAction_1.MacroSubAction[jsObject.action];
- this.scancode = jsObject.scancode;
- this.modifierMask = jsObject.modifierMask;
- break;
- case MacroAction_1.macroActionType.MouseButtonMacroAction:
- this.action = MacroAction_1.MacroSubAction[jsObject.action];
- this.mouseButtonsMask = jsObject.mouseButtonsMask;
- break;
- case MacroAction_1.macroActionType.MoveMouseMacroAction:
- this.moveX = jsObject.x;
- this.moveY = jsObject.y;
- break;
- case MacroAction_1.macroActionType.ScrollMouseMacroAction:
- this.scrollX = jsObject.x;
- this.scrollY = jsObject.y;
- break;
- case MacroAction_1.macroActionType.TextMacroAction:
- this.text = jsObject.text;
- break;
- case MacroAction_1.macroActionType.DelayMacroAction:
- this.delay = jsObject.delay;
- break;
- default:
- break;
- }
- }
- EditableMacroAction.prototype.toJsObject = function () {
- return {
- macroActionType: this.macroActionType,
- action: this.action,
- delay: this.delay,
- text: this.text,
- scancode: this.scancode,
- modifierMask: this.modifierMask,
- mouseButtonsMask: this.mouseButtonsMask,
- mouseMove: {
- x: this.moveX,
- y: this.moveY
- },
- mouseScroll: {
- x: this.scrollX,
- y: this.scrollY
- }
- };
- };
- EditableMacroAction.prototype.fromKeyAction = function (keyAction) {
- var data = keyAction.toJsObject();
- this.scancode = data.scancode;
- this.modifierMask = data.modifierMask;
- };
- EditableMacroAction.prototype.toKeystrokeAction = function () {
- var data = this.toJsObject();
- data.keyActionType = key_action_1.keyActionType.KeystrokeAction;
- return (new key_action_1.KeystrokeAction().fromJsObject(data));
- };
- EditableMacroAction.prototype.setMouseButtons = function (buttonStates) {
- var bitmask = 0;
- for (var i = 0; i < buttonStates.length; i++) {
- bitmask |= Number(buttonStates[i]) << i;
- }
- this.mouseButtonsMask = bitmask;
- };
- EditableMacroAction.prototype.getMouseButtons = function () {
- var enabledMouseButtons = [];
- for (var bitmask = this.mouseButtonsMask; bitmask; bitmask >>>= 1) {
- enabledMouseButtons.push(Boolean(bitmask & 1));
- }
- return enabledMouseButtons;
- };
- EditableMacroAction.prototype.toClass = function () {
- switch (this.macroActionType) {
- // Delay action
- case MacroAction_1.macroActionType.DelayMacroAction:
- return new DelayMacroAction_1.DelayMacroAction().fromJsObject({
- macroActionType: this.macroActionType,
- delay: this.delay
- });
- // Text action
- case MacroAction_1.macroActionType.TextMacroAction:
- return new TextMacroAction_1.TextMacroAction().fromJsObject({
- macroActionType: this.macroActionType,
- text: this.text
- });
- // Keypress action
- case MacroAction_1.macroActionType.KeyMacroAction:
- return new KeyMacroAction_1.KeyMacroAction().fromJsObject({
- macroActionType: this.macroActionType,
- action: MacroAction_1.MacroSubAction[this.action],
- scancode: this.scancode,
- modifierMask: this.modifierMask
- });
- // Mouse actions
- case MacroAction_1.macroActionType.MouseButtonMacroAction:
- return new MouseButtonMacroAction_1.MouseButtonMacroAction().fromJsObject({
- macroActionType: this.macroActionType,
- action: MacroAction_1.MacroSubAction[this.action],
- mouseButtonsMask: this.mouseButtonsMask
- });
- case MacroAction_1.macroActionType.MoveMouseMacroAction:
- return new MoveMouseMacroAction_1.MoveMouseMacroAction().fromJsObject({
- macroActionType: this.macroActionType,
- x: this.moveX,
- y: this.moveY
- });
- case MacroAction_1.macroActionType.ScrollMouseMacroAction:
- return new ScrollMouseMacroAction_1.ScrollMouseMacroAction().fromJsObject({
- macroActionType: this.macroActionType,
- x: this.scrollX,
- y: this.scrollY
- });
- default:
- throw new Error('Macro action type is missing or not implemented.');
- }
- };
- EditableMacroAction.prototype.isKeyAction = function () {
- return this.macroActionType === MacroAction_1.macroActionType.KeyMacroAction;
- };
- EditableMacroAction.prototype.isMouseButtonAction = function () {
- return this.macroActionType === MacroAction_1.macroActionType.MouseButtonMacroAction;
- };
- EditableMacroAction.prototype.isOnlyHoldAction = function () {
- return this.action === MacroAction_1.MacroSubAction.hold;
- };
- EditableMacroAction.prototype.isOnlyPressAction = function () {
- return this.action === MacroAction_1.MacroSubAction.press;
- };
- EditableMacroAction.prototype.isOnlyReleaseAction = function () {
- return this.action === MacroAction_1.MacroSubAction.release;
- };
- return EditableMacroAction;
- }());
- exports.EditableMacroAction = EditableMacroAction;
-
-
-/***/ },
-/* 475 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __extends = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var assert_1 = __webpack_require__(433);
- var MacroAction_1 = __webpack_require__(473);
- var NUM_OF_COMBINATIONS = 3; // Cases: scancode, modifer, both
- var KeyMacroAction = (function (_super) {
- __extends(KeyMacroAction, _super);
- function KeyMacroAction(other) {
- _super.call(this);
- if (!other) {
- return;
- }
- this.action = other.action;
- this.scancode = other.scancode;
- this.modifierMask = other.modifierMask;
- }
- KeyMacroAction.prototype._fromJsObject = function (jsObject) {
- this.assertMacroActionType(jsObject);
- this.action = MacroAction_1.MacroSubAction[jsObject.action];
- this.scancode = jsObject.scancode;
- this.modifierMask = jsObject.modifierMask;
- return this;
- };
- KeyMacroAction.prototype._fromBinary = function (buffer) {
- var macroActionId = this.readAndAssertMacroActionId(buffer);
- var keyMacroType = macroActionId - MacroAction_1.MacroActionId.KeyMacroAction;
- this.action = Math.floor(keyMacroType / NUM_OF_COMBINATIONS);
- keyMacroType %= NUM_OF_COMBINATIONS;
- if (keyMacroType % 2 === 0) {
- this.scancode = buffer.readUInt8();
- }
- if (keyMacroType !== 0) {
- this.modifierMask = buffer.readUInt8();
- }
- return this;
- };
- KeyMacroAction.prototype._toJsObject = function () {
- var jsObject = {
- macroActionType: MacroAction_1.macroActionType.KeyMacroAction,
- action: MacroAction_1.MacroSubAction[this.action]
- };
- if (this.hasScancode()) {
- jsObject.scancode = this.scancode;
- }
- if (this.hasModifiers()) {
- jsObject.modifierMask = this.modifierMask;
- }
- return jsObject;
- };
- KeyMacroAction.prototype._toBinary = function (buffer) {
- var keyMacroType = MacroAction_1.MacroActionId.KeyMacroAction;
- keyMacroType += NUM_OF_COMBINATIONS * this.action;
- if (this.hasModifiers()) {
- ++keyMacroType;
- if (this.hasScancode()) {
- ++keyMacroType;
- }
- }
- buffer.writeUInt8(keyMacroType);
- if (this.hasScancode()) {
- buffer.writeUInt8(this.scancode);
- }
- if (this.hasModifiers()) {
- buffer.writeUInt8(this.modifierMask);
- }
- };
- KeyMacroAction.prototype.toString = function () {
- return "";
- };
- KeyMacroAction.prototype.isModifierActive = function (modifier) {
- return (this.modifierMask & modifier) > 0;
- };
- KeyMacroAction.prototype.hasScancode = function () {
- return !!this.scancode;
- };
- KeyMacroAction.prototype.hasModifiers = function () {
- return !!this.modifierMask;
- };
- KeyMacroAction.prototype.isHoldAction = function () {
- return this.action === MacroAction_1.MacroSubAction.hold;
- };
- KeyMacroAction.prototype.isPressAction = function () {
- return this.action === MacroAction_1.MacroSubAction.press;
- };
- KeyMacroAction.prototype.isReleaseAction = function () {
- return this.action === MacroAction_1.MacroSubAction.release;
- };
- __decorate([
- assert_1.assertEnum(MacroAction_1.MacroSubAction),
- __metadata('design:type', Number)
- ], KeyMacroAction.prototype, "action", void 0);
- __decorate([
- assert_1.assertUInt8,
- __metadata('design:type', Number)
- ], KeyMacroAction.prototype, "scancode", void 0);
- __decorate([
- assert_1.assertUInt8,
- __metadata('design:type', Number)
- ], KeyMacroAction.prototype, "modifierMask", void 0);
- return KeyMacroAction;
- }(MacroAction_1.MacroAction));
- exports.KeyMacroAction = KeyMacroAction;
-
-
-/***/ },
-/* 476 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __extends = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var assert_1 = __webpack_require__(433);
- var MacroAction_1 = __webpack_require__(473);
- (function (MouseButtons) {
- MouseButtons[MouseButtons["Left"] = 1] = "Left";
- MouseButtons[MouseButtons["Middle"] = 2] = "Middle";
- MouseButtons[MouseButtons["Right"] = 4] = "Right";
- })(exports.MouseButtons || (exports.MouseButtons = {}));
- var MouseButtons = exports.MouseButtons;
- ;
- var MouseButtonMacroAction = (function (_super) {
- __extends(MouseButtonMacroAction, _super);
- function MouseButtonMacroAction(other) {
- _super.call(this);
- if (!other) {
- return;
- }
- this.action = other.action;
- this.mouseButtonsMask = other.mouseButtonsMask;
- }
- MouseButtonMacroAction.prototype._fromJsObject = function (jsObject) {
- this.assertMacroActionType(jsObject);
- this.action = MacroAction_1.MacroSubAction[jsObject.action];
- this.mouseButtonsMask = jsObject.mouseButtonsMask;
- return this;
- };
- MouseButtonMacroAction.prototype._fromBinary = function (buffer) {
- var macroActionId = this.readAndAssertMacroActionId(buffer);
- this.action = macroActionId - MacroAction_1.MacroActionId.MouseButtonMacroAction;
- this.mouseButtonsMask = buffer.readUInt8();
- return this;
- };
- MouseButtonMacroAction.prototype._toJsObject = function () {
- return {
- macroActionType: MacroAction_1.macroActionType.MouseButtonMacroAction,
- action: MacroAction_1.MacroSubAction[this.action],
- mouseButtonsMask: this.mouseButtonsMask
- };
- };
- MouseButtonMacroAction.prototype._toBinary = function (buffer) {
- buffer.writeUInt8(MacroAction_1.MacroActionId.MouseButtonMacroAction + this.action);
- buffer.writeUInt8(this.mouseButtonsMask);
- };
- MouseButtonMacroAction.prototype.setMouseButtons = function (buttonStates) {
- var bitmask = 0;
- for (var i = 0; i < buttonStates.length; i++) {
- bitmask |= Number(buttonStates[i]) << i;
- }
- this.mouseButtonsMask = bitmask;
- };
- MouseButtonMacroAction.prototype.getMouseButtons = function () {
- var enabledMouseButtons = [];
- for (var bitmask = this.mouseButtonsMask; bitmask; bitmask >>>= 1) {
- enabledMouseButtons.push(Boolean(bitmask & 1));
- }
- return enabledMouseButtons;
- };
- MouseButtonMacroAction.prototype.toString = function () {
- return "";
- };
- MouseButtonMacroAction.prototype.hasButtons = function () {
- return this.mouseButtonsMask !== 0;
- };
- MouseButtonMacroAction.prototype.isOnlyHoldAction = function () {
- return this.action === MacroAction_1.MacroSubAction.hold;
- };
- MouseButtonMacroAction.prototype.isOnlyPressAction = function () {
- return this.action === MacroAction_1.MacroSubAction.press;
- };
- MouseButtonMacroAction.prototype.isOnlyReleaseAction = function () {
- return this.action === MacroAction_1.MacroSubAction.release;
- };
- __decorate([
- assert_1.assertEnum(MacroAction_1.MacroSubAction),
- __metadata('design:type', Number)
- ], MouseButtonMacroAction.prototype, "action", void 0);
- __decorate([
- assert_1.assertUInt8,
- __metadata('design:type', Number)
- ], MouseButtonMacroAction.prototype, "mouseButtonsMask", void 0);
- return MouseButtonMacroAction;
- }(MacroAction_1.MacroAction));
- exports.MouseButtonMacroAction = MouseButtonMacroAction;
-
-
-/***/ },
-/* 477 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __extends = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var assert_1 = __webpack_require__(433);
- var MacroAction_1 = __webpack_require__(473);
- var MoveMouseMacroAction = (function (_super) {
- __extends(MoveMouseMacroAction, _super);
- function MoveMouseMacroAction(other) {
- _super.call(this);
- if (!other) {
- return;
- }
- this.x = other.x;
- this.y = other.y;
- }
- MoveMouseMacroAction.prototype._fromJsObject = function (jsObject) {
- this.assertMacroActionType(jsObject);
- this.x = jsObject.x;
- this.y = jsObject.y;
- return this;
- };
- MoveMouseMacroAction.prototype._fromBinary = function (buffer) {
- this.readAndAssertMacroActionId(buffer);
- this.x = buffer.readInt16();
- this.y = buffer.readInt16();
- return this;
- };
- MoveMouseMacroAction.prototype._toJsObject = function () {
- return {
- macroActionType: MacroAction_1.macroActionType.MoveMouseMacroAction,
- x: this.x,
- y: this.y
- };
- };
- MoveMouseMacroAction.prototype._toBinary = function (buffer) {
- buffer.writeUInt8(MacroAction_1.MacroActionId.MoveMouseMacroAction);
- buffer.writeInt16(this.x);
- buffer.writeInt16(this.y);
- };
- MoveMouseMacroAction.prototype.toString = function () {
- return "";
- };
- __decorate([
- assert_1.assertInt16,
- __metadata('design:type', Number)
- ], MoveMouseMacroAction.prototype, "x", void 0);
- __decorate([
- assert_1.assertInt16,
- __metadata('design:type', Number)
- ], MoveMouseMacroAction.prototype, "y", void 0);
- return MoveMouseMacroAction;
- }(MacroAction_1.MacroAction));
- exports.MoveMouseMacroAction = MoveMouseMacroAction;
-
-
-/***/ },
-/* 478 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __extends = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var assert_1 = __webpack_require__(433);
- var MacroAction_1 = __webpack_require__(473);
- var ScrollMouseMacroAction = (function (_super) {
- __extends(ScrollMouseMacroAction, _super);
- function ScrollMouseMacroAction(other) {
- _super.call(this);
- if (!other) {
- return;
- }
- this.x = other.x;
- this.y = other.y;
- }
- ScrollMouseMacroAction.prototype._fromJsObject = function (jsObject) {
- this.assertMacroActionType(jsObject);
- this.x = jsObject.x;
- this.y = jsObject.y;
- return this;
- };
- ScrollMouseMacroAction.prototype._fromBinary = function (buffer) {
- this.readAndAssertMacroActionId(buffer);
- this.x = buffer.readInt16();
- this.y = buffer.readInt16();
- return this;
- };
- ScrollMouseMacroAction.prototype._toJsObject = function () {
- return {
- macroActionType: MacroAction_1.macroActionType.ScrollMouseMacroAction,
- x: this.x,
- y: this.y
- };
- };
- ScrollMouseMacroAction.prototype._toBinary = function (buffer) {
- buffer.writeUInt8(MacroAction_1.MacroActionId.ScrollMouseMacroAction);
- buffer.writeInt16(this.x);
- buffer.writeInt16(this.y);
- };
- ScrollMouseMacroAction.prototype.toString = function () {
- return "";
- };
- __decorate([
- assert_1.assertInt16,
- __metadata('design:type', Number)
- ], ScrollMouseMacroAction.prototype, "x", void 0);
- __decorate([
- assert_1.assertInt16,
- __metadata('design:type', Number)
- ], ScrollMouseMacroAction.prototype, "y", void 0);
- return ScrollMouseMacroAction;
- }(MacroAction_1.MacroAction));
- exports.ScrollMouseMacroAction = ScrollMouseMacroAction;
-
-
-/***/ },
-/* 479 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __extends = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- var MacroAction_1 = __webpack_require__(473);
- var TextMacroAction = (function (_super) {
- __extends(TextMacroAction, _super);
- function TextMacroAction(other) {
- _super.call(this);
- if (!other) {
- return;
- }
- this.text = other.text;
- }
- TextMacroAction.prototype._fromJsObject = function (jsObject) {
- this.assertMacroActionType(jsObject);
- this.text = jsObject.text;
- return this;
- };
- TextMacroAction.prototype._fromBinary = function (buffer) {
- this.readAndAssertMacroActionId(buffer);
- this.text = buffer.readString();
- return this;
- };
- TextMacroAction.prototype._toJsObject = function () {
- return {
- macroActionType: MacroAction_1.macroActionType.TextMacroAction,
- text: this.text
- };
- };
- TextMacroAction.prototype._toBinary = function (buffer) {
- buffer.writeUInt8(MacroAction_1.MacroActionId.TextMacroAction);
- buffer.writeString(this.text);
- };
- TextMacroAction.prototype.toString = function () {
- return "";
- };
- return TextMacroAction;
- }(MacroAction_1.MacroAction));
- exports.TextMacroAction = TextMacroAction;
-
-
-/***/ },
-/* 480 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var UhkBuffer_1 = __webpack_require__(444);
- var index_1 = __webpack_require__(471);
- var Helper = (function () {
- function Helper() {
- }
- Helper.createMacroAction = function (source) {
- if (source instanceof index_1.MacroAction) {
- return Helper.fromMacroAction(source);
- }
- else if (source instanceof UhkBuffer_1.UhkBuffer) {
- return Helper.fromUhkBuffer(source);
- }
- else {
- return Helper.fromJSONObject(source);
- }
- };
- Helper.fromUhkBuffer = function (buffer) {
- var macroActionFirstByte = buffer.readUInt8();
- buffer.backtrack();
- if (macroActionFirstByte >= index_1.MacroActionId.KeyMacroAction && macroActionFirstByte <= index_1.MacroActionId.LastKeyMacroAction) {
- return new index_1.KeyMacroAction().fromBinary(buffer);
- }
- else if (macroActionFirstByte >= index_1.MacroActionId.MouseButtonMacroAction &&
- macroActionFirstByte <= index_1.MacroActionId.LastMouseButtonMacroAction) {
- return new index_1.MouseButtonMacroAction().fromBinary(buffer);
- }
- switch (macroActionFirstByte) {
- case index_1.MacroActionId.MoveMouseMacroAction:
- return new index_1.MoveMouseMacroAction().fromBinary(buffer);
- case index_1.MacroActionId.ScrollMouseMacroAction:
- return new index_1.ScrollMouseMacroAction().fromBinary(buffer);
- case index_1.MacroActionId.DelayMacroAction:
- return new index_1.DelayMacroAction().fromBinary(buffer);
- case index_1.MacroActionId.TextMacroAction:
- return new index_1.TextMacroAction().fromBinary(buffer);
- default:
- throw "Invalid MacroAction first byte: " + macroActionFirstByte;
- }
- };
- Helper.fromMacroAction = function (macroAction) {
- var newMacroAction;
- if (macroAction instanceof index_1.KeyMacroAction) {
- newMacroAction = new index_1.KeyMacroAction(macroAction);
- }
- else if (macroAction instanceof index_1.MouseButtonMacroAction) {
- newMacroAction = new index_1.MouseButtonMacroAction(macroAction);
- }
- else if (macroAction instanceof index_1.MoveMouseMacroAction) {
- newMacroAction = new index_1.MoveMouseMacroAction(macroAction);
- }
- else if (macroAction instanceof index_1.ScrollMouseMacroAction) {
- newMacroAction = new index_1.ScrollMouseMacroAction(macroAction);
- }
- else if (macroAction instanceof index_1.DelayMacroAction) {
- newMacroAction = new index_1.DelayMacroAction(macroAction);
- }
- else if (macroAction instanceof index_1.TextMacroAction) {
- newMacroAction = new index_1.TextMacroAction(macroAction);
- }
- return newMacroAction;
- };
- Helper.fromJSONObject = function (macroAction) {
- switch (macroAction.macroActionType) {
- case index_1.macroActionType.KeyMacroAction:
- return new index_1.KeyMacroAction().fromJsObject(macroAction);
- case index_1.macroActionType.MouseButtonMacroAction:
- return new index_1.MouseButtonMacroAction().fromJsObject(macroAction);
- case index_1.macroActionType.MoveMouseMacroAction:
- return new index_1.MoveMouseMacroAction().fromJsObject(macroAction);
- case index_1.macroActionType.ScrollMouseMacroAction:
- return new index_1.ScrollMouseMacroAction().fromJsObject(macroAction);
- case index_1.macroActionType.DelayMacroAction:
- return new index_1.DelayMacroAction().fromJsObject(macroAction);
- case index_1.macroActionType.TextMacroAction:
- return new index_1.TextMacroAction().fromJsObject(macroAction);
- default:
- throw "Invalid MacroAction.macroActionType: \"" + macroAction.macroActionType + "\"";
- }
- };
- return Helper;
- }());
- exports.Helper = Helper;
-
-
-/***/ },
-/* 481 */
+/* 498 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -64987,101 +66415,18 @@
var core_1 = __webpack_require__(313);
var MapperService = (function () {
function MapperService() {
- this.scanCodeTextMap = [
- [],
- [],
- [],
- [],
- ['A'],
- ['B'],
- ['C'],
- ['D'],
- ['E'],
- ['F'],
- ['G'],
- ['H'],
- ['I'],
- ['J'],
- ['K'],
- ['L'],
- ['M'],
- ['N'],
- ['O'],
- ['P'],
- ['Q'],
- ['R'],
- ['S'],
- ['T'],
- ['U'],
- ['V'],
- ['W'],
- ['X'],
- ['Y'],
- ['Z'],
- ['1', '!'],
- ['2', '@'],
- ['3', '#'],
- ['4', '$'],
- ['5', '%'],
- ['6', '^'],
- ['7', '&'],
- ['8', '*'],
- ['9', '('],
- ['0', ')'],
- ['Enter'],
- ['Esc'],
- ['←'],
- ['Tab'],
- ['Space'],
- ['-', '_'],
- ['=', '+'],
- ['[', '{'],
- [']', '}'],
- ['\\', '|'],
- [],
- [';', ':'],
- ['\'', '"'],
- ['`', '~'],
- [',', '<'],
- ['.', '>'],
- ['/', '?'],
- ['Caps Lock'],
- ['F1'],
- ['F2'],
- ['F3'],
- ['F4'],
- ['F5'],
- ['F6'],
- ['F7'],
- ['F8'],
- ['F9'],
- ['F10'],
- ['F11'],
- ['F12'],
- ['PrtScn'],
- ['Scroll Lock'],
- ['Pause'],
- ['Insert'],
- ['Home'],
- ['PgUp'],
- ['Del'],
- ['End'],
- ['PgDn'],
- undefined,
- undefined,
- undefined,
- undefined,
- ['Num Lock'] // 83
- ];
this.initScanCodeTextMap();
this.initScanCodeFileName();
this.initNameToFileNames();
}
MapperService.prototype.scanCodeToText = function (scanCode) {
- return this.scanCodeTextMap[scanCode];
+ return this.scanCodeTextMap.get(scanCode);
+ };
+ MapperService.prototype.hasScancodeIcon = function (scancode) {
+ return this.scanCodeFileName.has(scancode);
};
MapperService.prototype.scanCodeToSvgImagePath = function (scanCode) {
- var fileName = this.scanCodeFileName[scanCode];
+ var fileName = this.scanCodeFileName.get(scanCode);
if (fileName) {
return 'assets/compiled_sprite.svg#' + fileName;
}
@@ -65090,27 +66435,110 @@
MapperService.prototype.getIcon = function (iconName) {
return 'assets/compiled_sprite.svg#' + this.nameToFileName.get(iconName);
};
+ // TODO: read the mapping from JSON
MapperService.prototype.initScanCodeTextMap = function () {
- this.scanCodeTextMap[232] = ['Play'];
- this.scanCodeTextMap[233] = ['Stop'];
- this.scanCodeTextMap[234] = ['Prev'];
- this.scanCodeTextMap[235] = ['Next'];
- this.scanCodeTextMap[236] = ['Eject'];
- this.scanCodeTextMap[237] = ['Vol +'];
- this.scanCodeTextMap[238] = ['Vol -'];
- this.scanCodeTextMap[239] = ['Mute'];
- this.scanCodeTextMap[240] = ['WWW'];
- this.scanCodeTextMap[241] = ['Bckwrd'];
- this.scanCodeTextMap[242] = ['Frwrd'];
- this.scanCodeTextMap[243] = ['Cancel'];
+ this.scanCodeTextMap = new Map();
+ this.scanCodeTextMap.set(4, ['A']);
+ this.scanCodeTextMap.set(5, ['B']);
+ this.scanCodeTextMap.set(6, ['C']);
+ this.scanCodeTextMap.set(7, ['D']);
+ this.scanCodeTextMap.set(8, ['E']);
+ this.scanCodeTextMap.set(9, ['F']);
+ this.scanCodeTextMap.set(10, ['G']);
+ this.scanCodeTextMap.set(11, ['H']);
+ this.scanCodeTextMap.set(12, ['I']);
+ this.scanCodeTextMap.set(13, ['J']);
+ this.scanCodeTextMap.set(14, ['K']);
+ this.scanCodeTextMap.set(15, ['L']);
+ this.scanCodeTextMap.set(16, ['M']);
+ this.scanCodeTextMap.set(17, ['N']);
+ this.scanCodeTextMap.set(18, ['O']);
+ this.scanCodeTextMap.set(19, ['P']);
+ this.scanCodeTextMap.set(20, ['Q']);
+ this.scanCodeTextMap.set(21, ['R']);
+ this.scanCodeTextMap.set(22, ['S']);
+ this.scanCodeTextMap.set(23, ['T']);
+ this.scanCodeTextMap.set(24, ['U']);
+ this.scanCodeTextMap.set(25, ['V']);
+ this.scanCodeTextMap.set(26, ['W']);
+ this.scanCodeTextMap.set(27, ['X']);
+ this.scanCodeTextMap.set(28, ['Y']);
+ this.scanCodeTextMap.set(29, ['Z']);
+ this.scanCodeTextMap.set(30, ['1', '!']);
+ this.scanCodeTextMap.set(31, ['2', '@']);
+ this.scanCodeTextMap.set(32, ['3', '#']);
+ this.scanCodeTextMap.set(33, ['4', '$']);
+ this.scanCodeTextMap.set(34, ['5', '%']);
+ this.scanCodeTextMap.set(35, ['6', '^']);
+ this.scanCodeTextMap.set(36, ['7', '&']);
+ this.scanCodeTextMap.set(37, ['8', '*']);
+ this.scanCodeTextMap.set(38, ['9', '(']);
+ this.scanCodeTextMap.set(39, ['0', ')']);
+ this.scanCodeTextMap.set(40, ['Enter']);
+ this.scanCodeTextMap.set(41, ['Esc']);
+ this.scanCodeTextMap.set(42, ['Backspace']);
+ this.scanCodeTextMap.set(43, ['Tab']);
+ this.scanCodeTextMap.set(44, ['Space']);
+ this.scanCodeTextMap.set(45, ['-', '_']);
+ this.scanCodeTextMap.set(46, ['=', '+']);
+ this.scanCodeTextMap.set(47, ['[', '{']);
+ this.scanCodeTextMap.set(48, [']', '}']);
+ this.scanCodeTextMap.set(49, ['\\', '|']);
+ this.scanCodeTextMap.set(50, ['NON_US_HASHMARK_AND_TILDE']);
+ this.scanCodeTextMap.set(51, [';', ':']);
+ this.scanCodeTextMap.set(52, ['\'', '"']);
+ this.scanCodeTextMap.set(53, ['`', '~']);
+ this.scanCodeTextMap.set(54, [',', '<']);
+ this.scanCodeTextMap.set(55, ['.', '>']);
+ this.scanCodeTextMap.set(56, ['/', '?']);
+ this.scanCodeTextMap.set(57, ['Caps Lock']);
+ this.scanCodeTextMap.set(58, ['F1']);
+ this.scanCodeTextMap.set(59, ['F2']);
+ this.scanCodeTextMap.set(60, ['F3']);
+ this.scanCodeTextMap.set(61, ['F4']);
+ this.scanCodeTextMap.set(62, ['F5']);
+ this.scanCodeTextMap.set(63, ['F6']);
+ this.scanCodeTextMap.set(64, ['F7']);
+ this.scanCodeTextMap.set(65, ['F8']);
+ this.scanCodeTextMap.set(66, ['F9']);
+ this.scanCodeTextMap.set(67, ['F10']);
+ this.scanCodeTextMap.set(68, ['F11']);
+ this.scanCodeTextMap.set(69, ['F12']);
+ this.scanCodeTextMap.set(70, ['PrtScn']);
+ this.scanCodeTextMap.set(71, ['Scroll Lock']);
+ this.scanCodeTextMap.set(72, ['Pause']);
+ this.scanCodeTextMap.set(73, ['Insert']);
+ this.scanCodeTextMap.set(74, ['Home']);
+ this.scanCodeTextMap.set(75, ['PgUp']);
+ this.scanCodeTextMap.set(76, ['Del']);
+ this.scanCodeTextMap.set(77, ['End']);
+ this.scanCodeTextMap.set(78, ['PgDn']);
+ this.scanCodeTextMap.set(79, ['Right Arrow']);
+ this.scanCodeTextMap.set(80, ['Left Arrow']);
+ this.scanCodeTextMap.set(81, ['Down Arrow']);
+ this.scanCodeTextMap.set(82, ['Up Arrow']);
+ this.scanCodeTextMap.set(83, ['Num Lock']);
+ this.scanCodeTextMap.set(118, ['Menu']);
+ this.scanCodeTextMap.set(232, ['Play']);
+ this.scanCodeTextMap.set(233, ['Stop']);
+ this.scanCodeTextMap.set(234, ['Prev']);
+ this.scanCodeTextMap.set(235, ['Next']);
+ this.scanCodeTextMap.set(236, ['Eject']);
+ this.scanCodeTextMap.set(237, ['Vol +']);
+ this.scanCodeTextMap.set(238, ['Vol -']);
+ this.scanCodeTextMap.set(239, ['Mute']);
+ this.scanCodeTextMap.set(240, ['WWW']);
+ this.scanCodeTextMap.set(241, ['Bckwrd']);
+ this.scanCodeTextMap.set(242, ['Frwrd']);
+ this.scanCodeTextMap.set(243, ['Cancel']);
};
MapperService.prototype.initScanCodeFileName = function () {
this.scanCodeFileName = new Map();
- this.scanCodeFileName[79] = 'icon-kbd__mod--arrow-right';
- this.scanCodeFileName[80] = 'icon-kbd__mod--arrow-left';
- this.scanCodeFileName[81] = 'icon-kbd__mod--arrow-down';
- this.scanCodeFileName[82] = 'icon-kbd__mod--arrow-up';
- this.scanCodeFileName[118] = 'icon-kbd__mod--menu';
+ this.scanCodeFileName.set(79, 'icon-kbd__mod--arrow-right');
+ this.scanCodeFileName.set(80, 'icon-kbd__mod--arrow-left');
+ this.scanCodeFileName.set(81, 'icon-kbd__mod--arrow-down');
+ this.scanCodeFileName.set(82, 'icon-kbd__mod--arrow-up');
+ this.scanCodeFileName.set(118, 'icon-kbd__mod--menu');
};
MapperService.prototype.initNameToFileNames = function () {
this.nameToFileName = new Map();
@@ -65140,402 +66568,28 @@
/***/ },
-/* 482 */
+/* 499 */
/***/ function(module, exports) {
- module.exports = "\r\n
\r\n
\r\n
\r\n
{{ title }}
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
";
+ module.exports = "\r\n
\r\n
\r\n
\r\n
{{ title }}
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
";
/***/ },
-/* 483 */
+/* 500 */
/***/ function(module, exports) {
- module.exports = ":host.macro-item:first-of-type .list-group-item {\n border-radius: 4px 4px 0 0; }\n\n:host.macro-item:last-of-type .list-group-item {\n border-bottom: 0; }\n\n:host.gu-transit {\n opacity: 0.2; }\n :host.gu-transit .list-group-item {\n background: #f5f5f5; }\n\n.action--item {\n display: flex;\n flex-shrink: 0;\n border: 0;\n border-bottom: 1px solid #ddd; }\n .action--item icon {\n margin: 0 5px; }\n .action--item > div {\n display: flex;\n flex: 1; }\n .action--item:first-child {\n border-radius: 0; }\n .action--item.is-editing {\n background: #f5f5f5; }\n .action--item--wrap {\n justify-content: space-between; }\n .action--item--wrap.pointer:hover {\n cursor: pointer;\n color: #337ab7; }\n\n.action--title {\n display: flex;\n flex: 1; }\n\n.action--movable:hover {\n cursor: move; }\n\n.macro-action-editor__container {\n padding-top: 0;\n padding-bottom: 0;\n border-radius: 0;\n border-left: 0;\n border-right: 0; }\n"
+ module.exports = ":host {\n overflow: hidden;\n display: block; }\n :host.macro-item:first-of-type .list-group-item {\n border-radius: 4px 4px 0 0; }\n :host.macro-item:last-of-type .list-group-item {\n border-bottom: 0; }\n :host.gu-transit {\n opacity: 0.2; }\n :host.gu-transit .list-group-item {\n background: #f5f5f5; }\n\n.action--item {\n display: flex;\n flex-shrink: 0;\n border: 0;\n border-bottom: 1px solid #ddd; }\n .action--item icon {\n margin: 0 5px; }\n .action--item > div {\n display: flex;\n flex: 1; }\n .action--item:first-child {\n border-radius: 0; }\n .action--item.is-editing {\n background: #f5f5f5; }\n .action--item--wrap {\n justify-content: space-between; }\n .action--item--wrap.pointer:hover {\n cursor: pointer;\n color: #337ab7; }\n\n.action--title {\n display: flex;\n flex: 1; }\n\n.action--movable:hover {\n cursor: move; }\n\n.list-group-item {\n margin-bottom: 0; }\n\n.macro-action-editor__container {\n padding-top: 0;\n padding-bottom: 0;\n border-radius: 0;\n border: none;\n overflow: hidden; }\n"
/***/ },
-/* 484 */
+/* 501 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
- __webpack_require__(422);
- __webpack_require__(428);
- var Macro_1 = __webpack_require__(485);
- var actions_1 = __webpack_require__(449);
- var initialState = {
- entities: []
- };
- function default_1(state, action) {
- if (state === void 0) { state = initialState; }
- var newMacro;
- var newState;
- switch (action.type) {
- case actions_1.MacroActions.DUPLICATE:
- newMacro = new Macro_1.Macro(action.payload);
- newMacro.name = generateName(state.entities, newMacro.name);
- newMacro.id = generateId(state.entities);
- return {
- entities: state.entities.concat([newMacro])
- };
- case actions_1.MacroActions.EDIT_NAME:
- var name_1 = generateName(state.entities, action.payload.name);
- newState = state.entities.map(function (macro) {
- if (macro.id === action.payload.id) {
- macro.name = name_1;
- }
- return macro;
- });
- return {
- entities: newState
- };
- case actions_1.MacroActions.REMOVE:
- newState = state.entities.filter(function (macro) { return macro.id !== action.payload; });
- return {
- entities: newState
- };
- case actions_1.MacroActions.ADD_ACTION:
- newState = state.entities.map(function (macro) {
- if (macro.id === action.payload.id) {
- newMacro = new Macro_1.Macro(macro);
- newMacro.macroActions.push(action.payload.action);
- return newMacro;
- }
- return macro;
- });
- return {
- entities: newState
- };
- case actions_1.MacroActions.SAVE_ACTION:
- newState = state.entities.map(function (macro) {
- if (macro.id === action.payload.id) {
- newMacro = new Macro_1.Macro(macro);
- newMacro.macroActions[action.payload.index] = action.payload.action;
- return newMacro;
- }
- return macro;
- });
- return {
- entities: newState
- };
- case actions_1.MacroActions.DELETE_ACTION:
- newState = state.entities.map(function (macro) {
- if (macro.id === action.payload.id) {
- newMacro = new Macro_1.Macro(macro);
- newMacro.macroActions.splice(action.payload.index, 1);
- return newMacro;
- }
- return macro;
- });
- return {
- entities: newState
- };
- case actions_1.MacroActions.REORDER_ACTION:
- newState = state.entities.map(function (macro) {
- if (macro.id === action.payload.id) {
- var newIndex = action.payload.newIndex;
- // We need to reduce the new index for one when we are moving action down
- if (newIndex > action.payload.oldIndex) {
- --newIndex;
- }
- newMacro = new Macro_1.Macro(macro);
- newMacro.macroActions.splice(newIndex, 0, newMacro.macroActions.splice(action.payload.oldIndex, 1)[0]);
- return newMacro;
- }
- return macro;
- });
- return {
- entities: newState
- };
- default:
- return state;
- }
- }
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.default = default_1;
- function getMacroEntities() {
- return function (state$) { return state$
- .select(function (state) { return state.macros.entities; }); };
- }
- exports.getMacroEntities = getMacroEntities;
- function getMacro(id) {
- if (isNaN(id)) {
- return function (state$) { return state$
- .select(function (appState) { return appState.macros.entities; })
- .map(function (macros) {
- if (macros.length > 0) {
- return macros[0];
- }
- else {
- return undefined;
- }
- }); };
- }
- else {
- return function (state$) { return state$
- .select(function (appState) { return appState.macros.entities; })
- .map(function (macros) { return macros.find(function (macro) { return macro.id === id; }); }); };
- }
- }
- exports.getMacro = getMacro;
- function generateName(macros, name) {
- var suffix = 2;
- var oldName = name;
- while (macros.some(function (macro) { return macro.name === name; })) {
- name = oldName + (" (" + suffix + ")");
- ++suffix;
- }
- return name;
- }
- function generateId(macros) {
- var newId = 0;
- macros.forEach(function (macro) {
- if (macro.id > newId) {
- newId = macro.id;
- }
- });
- return ++newId;
- }
-
-
-/***/ },
-/* 485 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __extends = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var assert_1 = __webpack_require__(433);
- var Serializable_1 = __webpack_require__(430);
- var macro_action_1 = __webpack_require__(471);
- var Macro = (function (_super) {
- __extends(Macro, _super);
- function Macro(other) {
- _super.call(this);
- if (!other) {
- return;
- }
- this.id = other.id;
- this.isLooped = other.isLooped;
- this.isPrivate = other.isPrivate;
- this.name = other.name;
- this.macroActions = other.macroActions.map(function (macroAction) { return macro_action_1.Helper.createMacroAction(macroAction); });
- }
- Macro.prototype._fromJsObject = function (jsObject) {
- this.id = jsObject.id;
- this.isLooped = jsObject.isLooped;
- this.isPrivate = jsObject.isPrivate;
- this.name = jsObject.name;
- this.macroActions = jsObject.macroActions.map(function (macroAction) { return macro_action_1.Helper.createMacroAction(macroAction); });
- return this;
- };
- Macro.prototype._fromBinary = function (buffer) {
- this.id = buffer.readUInt8();
- this.isLooped = buffer.readBoolean();
- this.isPrivate = buffer.readBoolean();
- this.name = buffer.readString();
- var macroActionsLength = buffer.readCompactLength();
- this.macroActions = [];
- for (var i = 0; i < macroActionsLength; ++i) {
- this.macroActions.push(macro_action_1.Helper.createMacroAction(buffer));
- }
- return this;
- };
- Macro.prototype._toJsObject = function () {
- return {
- id: this.id,
- isLooped: this.isLooped,
- isPrivate: this.isPrivate,
- name: this.name,
- macroActions: this.macroActions.map(function (macroAction) { return macroAction.toJsObject(); })
- };
- };
- Macro.prototype._toBinary = function (buffer) {
- buffer.writeUInt8(this.id);
- buffer.writeBoolean(this.isLooped);
- buffer.writeBoolean(this.isPrivate);
- buffer.writeString(this.name);
- buffer.writeArray(this.macroActions);
- };
- Macro.prototype.toString = function () {
- return "";
- };
- __decorate([
- assert_1.assertUInt8,
- __metadata('design:type', Number)
- ], Macro.prototype, "id", void 0);
- return Macro;
- }(Serializable_1.Serializable));
- exports.Macro = Macro;
-
-
-/***/ },
-/* 486 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n Sorry, there is no macro with this id.\r\n
";
-
-/***/ },
-/* 487 */
-/***/ function(module, exports) {
-
- module.exports = ":host {\n display: flex;\n flex-direction: column;\n height: 100%; }\n :host .list-container {\n display: flex;\n flex: 1; }\n :host .list-container > div {\n display: flex;\n flex-direction: column;\n flex: 1; }\n\n.main-wrapper {\n width: 500px; }\n\nh1 {\n margin-bottom: 3rem; }\n\n.action--edit__form {\n background-color: #fff;\n margin-left: -0.5rem;\n margin-right: -15px;\n margin-top: 15px;\n padding-top: 15px;\n border-top: 1px solid #ddd; }\n\n.action--item {\n padding-left: 8px; }\n .action--item.active, .action--item.active:hover {\n background-color: white;\n font-weight: bold;\n color: black;\n border-color: black;\n z-index: 10; }\n\n.macro__name {\n border-bottom: 2px dotted #999;\n padding: 0 0.5rem;\n margin: 0 0.25rem; }\n\n.macro-settings {\n border: 1px solid black;\n border-top-color: #999;\n z-index: 100; }\n .macro-settings .helper {\n position: absolute;\n display: block;\n height: 13px;\n background: #fff;\n width: 100%;\n left: 0;\n top: -14px; }\n\n.action--item.active.callout,\n.macro-settings.callout {\n box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.5); }\n\n.macro-actions-container {\n overflow: auto;\n margin-bottom: 0;\n border-radius: 4px 4px 0 0;\n border: 1px solid #ddd;\n border-bottom: 0; }\n\n.list-group-item .move-handle:hover {\n cursor: move; }\n\n.flex-button-wrapper {\n display: flex;\n flex-direction: row-reverse; }\n\n.flex-button {\n align-self: flex-end; }\n\n.add-new__action-container {\n border-top: 1px solid #ddd; }\n\n.add-new__action-item {\n border-radius: 0 0 4px 4px;\n border-top: 0;\n padding: 0; }\n .add-new__action-item:hover {\n cursor: pointer; }\n .add-new__action-item--link {\n width: 50%;\n float: left;\n padding: 10px 5px;\n text-align: center;\n color: #337ab7; }\n .add-new__action-item--link:first-of-type {\n border-right: 1px solid #ddd; }\n .add-new__action-item--link:hover {\n text-decoration: none;\n background: #e6e6e6; }\n .add-new__action-item .fa-circle {\n color: #c00; }\n\n.gu-mirror {\n position: fixed;\n margin: 0;\n z-index: 9999;\n opacity: 0.8; }\n\n.gu-hide {\n display: none; }\n\n.gu-unselectable {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none; }\n\n.not-found {\n margin-top: 30px;\n font-size: 16px;\n text-align: center; }\n"
-
-/***/ },
-/* 488 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var MacroAddComponent = (function () {
- function MacroAddComponent() {
- }
- MacroAddComponent = __decorate([
- core_1.Component({
- selector: 'macro-add',
- template: __webpack_require__(489),
- styles: [__webpack_require__(490)]
- }),
- __metadata('design:paramtypes', [])
- ], MacroAddComponent);
- return MacroAddComponent;
- }());
- exports.MacroAddComponent = MacroAddComponent;
-
-
-/***/ },
-/* 489 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n
\r\n \r\n Add macro \r\n \r\n\r\nTo be done...";
-
-/***/ },
-/* 490 */
-/***/ function(module, exports) {
-
- module.exports = ""
-
-/***/ },
-/* 491 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var store_1 = __webpack_require__(353);
- var Macro_1 = __webpack_require__(485);
- var actions_1 = __webpack_require__(449);
- var MacroHeaderComponent = (function () {
- function MacroHeaderComponent(store) {
- this.store = store;
- }
- MacroHeaderComponent.prototype.removeMacro = function () {
- this.store.dispatch(actions_1.MacroActions.removeMacro(this.macro.id));
- };
- MacroHeaderComponent.prototype.duplicateMacro = function () {
- this.store.dispatch(actions_1.MacroActions.duplicateMacro(this.macro));
- };
- MacroHeaderComponent.prototype.editMacroName = function (name) {
- this.store.dispatch(actions_1.MacroActions.editMacroName(this.macro.id, name));
- };
- __decorate([
- core_1.Input(),
- __metadata('design:type', Macro_1.Macro)
- ], MacroHeaderComponent.prototype, "macro", void 0);
- MacroHeaderComponent = __decorate([
- core_1.Component({
- selector: 'macro-header',
- template: __webpack_require__(492),
- styles: [__webpack_require__(493)]
- }),
- __metadata('design:paramtypes', [store_1.Store])
- ], MacroHeaderComponent);
- return MacroHeaderComponent;
- }());
- exports.MacroHeaderComponent = MacroHeaderComponent;
-
-
-/***/ },
-/* 492 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n
\r\n \r\n \r\n \r\n \r\n \r\n";
-
-/***/ },
-/* 493 */
-/***/ function(module, exports) {
-
- module.exports = ".macro__remove {\n font-size: 0.75em;\n top: 8px; }\n .macro__remove:hover {\n cursor: pointer;\n color: #900; }\n\n.macro__duplicate {\n font-size: 0.75em;\n top: 7px;\n margin-right: 15px;\n position: relative; }\n .macro__duplicate:hover {\n cursor: pointer;\n color: #337ab7; }\n\n.pane-title {\n margin-bottom: 1em; }\n .pane-title__name {\n border: none;\n border-bottom: 2px dotted #999;\n padding: 0;\n margin: 0 0.25rem;\n width: 330px;\n text-overflow: ellipsis; }\n .pane-title__name:focus {\n box-shadow: 0 0 0 1px #ccc, 0 0 5px 0 #ccc;\n border-color: transparent; }\n"
-
-/***/ },
-/* 494 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var macro_add_component_1 = __webpack_require__(488);
- var macro_component_1 = __webpack_require__(468);
- exports.macroRoutes = [
- {
- path: 'macro',
- component: macro_component_1.MacroComponent
- },
- {
- path: 'macro/add',
- component: macro_add_component_1.MacroAddComponent
- },
- {
- path: 'macro/:id',
- component: macro_component_1.MacroComponent
- }
- ];
-
-
-/***/ },
-/* 495 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var macro_item_component_1 = __webpack_require__(469);
- exports.MacroItemComponent = macro_item_component_1.MacroItemComponent;
-
-
-/***/ },
-/* 496 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var macro_action_editor_component_1 = __webpack_require__(497);
+ var macro_action_editor_component_1 = __webpack_require__(502);
exports.MacroActionEditorComponent = macro_action_editor_component_1.MacroActionEditorComponent;
/***/ },
-/* 497 */
+/* 502 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -65549,7 +66603,7 @@
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var core_1 = __webpack_require__(313);
- var macro_action_1 = __webpack_require__(471);
+ var macro_action_1 = __webpack_require__(472);
var TabName;
(function (TabName) {
TabName[TabName["Keypress"] = 0] = "Keypress";
@@ -65649,8 +66703,8 @@
MacroActionEditorComponent = __decorate([
core_1.Component({
selector: 'macro-action-editor',
- template: __webpack_require__(498),
- styles: [__webpack_require__(499)],
+ template: __webpack_require__(503),
+ styles: [__webpack_require__(504)],
host: { 'class': 'macro-action-editor' }
}),
__metadata('design:paramtypes', [])
@@ -65661,43 +66715,43 @@
/***/ },
-/* 498 */
+/* 503 */
/***/ function(module, exports) {
module.exports = "\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Cancel \r\n Save \r\n
\r\n
\r\n
\r\n
";
/***/ },
-/* 499 */
+/* 504 */
/***/ function(module, exports) {
- module.exports = ".action--editor {\n padding-top: 0;\n padding-bottom: 0;\n border-radius: 0;\n border: 0; }\n\n.nav {\n padding-bottom: 1rem; }\n .nav li a {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .nav li a.selected {\n font-style: italic; }\n .nav li a:hover {\n cursor: pointer; }\n .nav li.active {\n z-index: 2; }\n .nav li.active a.selected {\n font-style: normal; }\n .nav li.active a:after {\n content: '';\n display: block;\n position: absolute;\n width: 0;\n height: 0;\n top: 0;\n right: -4rem;\n border-color: transparent transparent transparent #337ab7;\n border-style: solid;\n border-width: 2rem; }\n\n.editor__tabs, .editor__tab-links {\n padding-top: 1rem; }\n\n.editor__tabs {\n border-left: 1px solid #ddd;\n margin-left: -1.6rem;\n padding-left: 3rem; }\n\n.editor__actions {\n float: right; }\n .editor__actions-container {\n background: #f5f5f5;\n border-top: 1px solid #ddd;\n padding: 1rem 1.5rem; }\n\n.flex-button-wrapper {\n display: flex;\n flex-direction: row-reverse; }\n\n.flex-button {\n align-self: flex-end; }\n"
+ module.exports = ":host {\n display: block;\n width: 100%; }\n\n.action--editor {\n padding-top: 0;\n padding-bottom: 0;\n border-radius: 0;\n border: 0; }\n\n.nav {\n padding-bottom: 1rem; }\n .nav li a {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .nav li a.selected {\n font-style: italic; }\n .nav li a:hover {\n cursor: pointer; }\n .nav li.active {\n z-index: 2; }\n .nav li.active a.selected {\n font-style: normal; }\n .nav li.active a:after {\n content: '';\n display: block;\n position: absolute;\n width: 0;\n height: 0;\n top: 0;\n right: -4rem;\n border-color: transparent transparent transparent #337ab7;\n border-style: solid;\n border-width: 2rem; }\n\n.editor__tabs, .editor__tab-links {\n padding-top: 1rem; }\n\n.editor__tabs {\n border-left: 1px solid #ddd;\n margin-left: -1.6rem;\n padding-left: 3rem; }\n\n.editor__actions {\n float: right; }\n .editor__actions-container {\n background: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom: 1px solid #ddd;\n padding: 1rem 1.5rem; }\n\n.flex-button-wrapper {\n display: flex;\n flex-direction: row-reverse; }\n\n.flex-button {\n align-self: flex-end; }\n"
/***/ },
-/* 500 */
+/* 505 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
- var delay_1 = __webpack_require__(501);
+ var delay_1 = __webpack_require__(506);
exports.MacroDelayTabComponent = delay_1.MacroDelayTabComponent;
- var key_1 = __webpack_require__(505);
+ var key_1 = __webpack_require__(510);
exports.MacroKeyTabComponent = key_1.MacroKeyTabComponent;
- var mouse_1 = __webpack_require__(544);
+ var mouse_1 = __webpack_require__(541);
exports.MacroMouseTabComponent = mouse_1.MacroMouseTabComponent;
- var text_1 = __webpack_require__(548);
+ var text_1 = __webpack_require__(545);
exports.MacroTextTabComponent = text_1.MacroTextTabComponent;
/***/ },
-/* 501 */
+/* 506 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
- var macro_delay_component_1 = __webpack_require__(502);
+ var macro_delay_component_1 = __webpack_require__(507);
exports.MacroDelayTabComponent = macro_delay_component_1.MacroDelayTabComponent;
/***/ },
-/* 502 */
+/* 507 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -65711,21 +66765,17 @@
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var core_1 = __webpack_require__(313);
- var macro_action_1 = __webpack_require__(471);
+ var macro_action_1 = __webpack_require__(472);
var INITIAL_DELAY = 0.5; // In seconds
var MacroDelayTabComponent = (function () {
/* tslint:enable:no-unused-variable */
- function MacroDelayTabComponent(renderer) {
- this.renderer = renderer;
+ function MacroDelayTabComponent() {
/* tslint:disable:no-unused-variable: It is used in the template. */
this.presets = [0.3, 0.5, 0.8, 1, 2, 3, 4, 5];
}
MacroDelayTabComponent.prototype.ngOnInit = function () {
this.delay = this.macroAction.delay > 0 ? this.macroAction.delay / 1000 : INITIAL_DELAY;
};
- MacroDelayTabComponent.prototype.ngAfterViewInit = function () {
- this.renderer.invokeElementMethod(this.input.nativeElement, 'focus');
- };
MacroDelayTabComponent.prototype.setDelay = function (value) {
this.delay = value;
this.macroAction.delay = this.delay * 1000;
@@ -65742,11 +66792,12 @@
// In seconds
core_1.Component({
selector: 'macro-delay-tab',
- template: __webpack_require__(503),
- styles: [__webpack_require__(504)],
- host: { 'class': 'macro__delay' }
+ template: __webpack_require__(508),
+ styles: [__webpack_require__(509)],
+ host: { 'class': 'macro__delay' },
+ changeDetection: core_1.ChangeDetectionStrategy.OnPush
}),
- __metadata('design:paramtypes', [core_1.Renderer])
+ __metadata('design:paramtypes', [])
], MacroDelayTabComponent);
return MacroDelayTabComponent;
}());
@@ -65754,28 +66805,28 @@
/***/ },
-/* 503 */
+/* 508 */
/***/ function(module, exports) {
- module.exports = "\r\n
\r\n
\r\n
Enter delay in seconds \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Choose a preset \r\n {{delay}}s \r\n \r\n
\r\n
\r\n";
+ module.exports = "\r\n
\r\n
\r\n
Enter delay in seconds \r\n \r\n
\r\n
\r\n
\r\n
\r\n
Choose a preset \r\n {{delay}}s \r\n \r\n
\r\n
\r\n";
/***/ },
-/* 504 */
+/* 509 */
/***/ function(module, exports) {
module.exports = ":host {\n display: flex;\n flex-direction: column;\n position: relative; }\n\n.macro-delay__presets {\n margin-top: 1rem; }\n .macro-delay__presets button {\n margin-right: 0.25rem;\n margin-bottom: 0.25rem; }\n"
/***/ },
-/* 505 */
+/* 510 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
- var macro_key_component_1 = __webpack_require__(506);
+ var macro_key_component_1 = __webpack_require__(511);
exports.MacroKeyTabComponent = macro_key_component_1.MacroKeyTabComponent;
/***/ },
-/* 506 */
+/* 511 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -65789,8 +66840,8 @@
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var core_1 = __webpack_require__(313);
- var macro_action_1 = __webpack_require__(471);
- var tab_1 = __webpack_require__(507);
+ var macro_action_1 = __webpack_require__(472);
+ var tab_1 = __webpack_require__(512);
var TabName;
(function (TabName) {
TabName[TabName["Keypress"] = 0] = "Keypress";
@@ -65854,10 +66905,10 @@
MacroKeyTabComponent = __decorate([
core_1.Component({
selector: 'macro-key-tab',
- template: __webpack_require__(542),
+ template: __webpack_require__(539),
styles: [
- __webpack_require__(499),
- __webpack_require__(543)
+ __webpack_require__(504),
+ __webpack_require__(540)
],
host: { 'class': 'macro__mouse' }
}),
@@ -65869,37 +66920,37 @@
/***/ },
-/* 507 */
+/* 512 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
- var keymap_1 = __webpack_require__(508);
+ var keymap_1 = __webpack_require__(513);
exports.KeymapTabComponent = keymap_1.KeymapTabComponent;
- var keypress_1 = __webpack_require__(512);
+ var keypress_1 = __webpack_require__(517);
exports.KeypressTabComponent = keypress_1.KeypressTabComponent;
- var layer_1 = __webpack_require__(518);
+ var layer_1 = __webpack_require__(523);
exports.LayerTabComponent = layer_1.LayerTabComponent;
- var macro_1 = __webpack_require__(522);
+ var macro_1 = __webpack_require__(527);
exports.MacroTabComponent = macro_1.MacroTabComponent;
- var mouse_1 = __webpack_require__(534);
+ var mouse_1 = __webpack_require__(531);
exports.MouseTabComponent = mouse_1.MouseTabComponent;
- var none_1 = __webpack_require__(538);
+ var none_1 = __webpack_require__(535);
exports.NoneTabComponent = none_1.NoneTabComponent;
/***/ },
-/* 508 */
+/* 513 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
- __export(__webpack_require__(509));
+ __export(__webpack_require__(514));
/***/ },
-/* 509 */
+/* 514 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -65913,22 +66964,24 @@
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var core_1 = __webpack_require__(313);
- var key_action_1 = __webpack_require__(434);
+ var key_action_1 = __webpack_require__(438);
var KeymapTabComponent = (function () {
function KeymapTabComponent() {
this.keymapOptions = [];
}
KeymapTabComponent.prototype.ngOnInit = function () {
- this.keymapOptions.push({
- id: '-1',
- text: 'Switch to keymap'
- });
- this.keymapOptions = this.keymaps.map(function (keymap) {
+ this.keymapOptions = this.keymaps
+ .map(function (keymap) {
return {
id: keymap.abbreviation,
text: keymap.name
};
});
+ if (this.keymaps.length > 0) {
+ this.selectedKeymap = this.keymaps[0];
+ }
+ };
+ KeymapTabComponent.prototype.ngOnChanges = function () {
this.fromKeyAction(this.defaultKeyAction);
};
// TODO: change to the correct type when the wrapper has added it.
@@ -65970,8 +67023,8 @@
KeymapTabComponent = __decorate([
core_1.Component({
selector: 'keymap-tab',
- template: __webpack_require__(510),
- styles: [__webpack_require__(511)],
+ template: __webpack_require__(515),
+ styles: [__webpack_require__(516)],
changeDetection: core_1.ChangeDetectionStrategy.OnPush
}),
__metadata('design:paramtypes', [])
@@ -65982,30 +67035,30 @@
/***/ },
-/* 510 */
+/* 515 */
/***/ function(module, exports) {
- module.exports = "\r\n Switch to keymap: \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
";
+ module.exports = "\r\n No keymaps are available to choose from. Create a keymap first! \r\n \r\n 0\">\r\n \r\n Switch to keymap: \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n ";
/***/ },
-/* 511 */
+/* 516 */
/***/ function(module, exports) {
- module.exports = ":host {\n display: flex;\n flex-direction: column; }\n :host > div {\n display: flex;\n margin-top: 2px; }\n :host > div b {\n display: flex;\n align-items: center;\n margin-right: 7px; }\n :host > div select2 {\n flex: 1; }\n :host > div:last-child {\n margin-top: 10px; }\n :host > div:last-child img {\n max-height: 100%;\n max-width: 100%; }\n"
+ module.exports = ":host {\n display: flex;\n flex-direction: column; }\n :host > span {\n text-align: center; }\n :host > div {\n display: flex;\n margin-top: 2px; }\n :host > div b {\n display: flex;\n align-items: center;\n margin-right: 7px; }\n :host > div select2 {\n flex: 1; }\n :host > div:last-child {\n margin-top: 10px; }\n :host > div:last-child img {\n max-height: 100%;\n max-width: 100%; }\n\n.empty {\n display: flex; }\n .empty img {\n display: flex;\n width: 100%;\n height: 100%;\n position: relative; }\n"
/***/ },
-/* 512 */
+/* 517 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
- __export(__webpack_require__(513));
+ __export(__webpack_require__(518));
/***/ },
-/* 513 */
+/* 518 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -66019,7 +67072,7 @@
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var core_1 = __webpack_require__(313);
- var key_action_1 = __webpack_require__(434);
+ var key_action_1 = __webpack_require__(438);
var KeypressTabComponent = (function () {
function KeypressTabComponent() {
this.scanCodeTemplateResult = function (state) {
@@ -66028,10 +67081,11 @@
}
if (state.additional && state.additional.explanation) {
return jQuery(''
- + state.text
+ + '' + state.text + ' '
+ ' '
+ state.additional.explanation
- + ' ');
+ + '' +
+ '');
}
else {
return jQuery('' + state.text + ' ');
@@ -66043,14 +67097,14 @@
id: '0',
text: 'None'
}];
- this.scanCodeGroups = this.scanCodeGroups.concat(__webpack_require__(514));
- this.longPressGroups = __webpack_require__(515);
+ this.scanCodeGroups = this.scanCodeGroups.concat(__webpack_require__(519));
+ this.longPressGroups = __webpack_require__(520);
this.leftModifierSelects = Array(this.leftModifiers.length).fill(false);
this.rightModifierSelects = Array(this.rightModifiers.length).fill(false);
this.scanCode = 0;
this.selectedLongPressIndex = -1;
}
- KeypressTabComponent.prototype.ngOnInit = function () {
+ KeypressTabComponent.prototype.ngOnChanges = function () {
this.fromKeyAction(this.defaultKeyAction);
};
KeypressTabComponent.prototype.keyActionValid = function (keystrokeAction) {
@@ -66133,8 +67187,8 @@
KeypressTabComponent = __decorate([
core_1.Component({
selector: 'keypress-tab',
- template: __webpack_require__(516),
- styles: [__webpack_require__(517)]
+ template: __webpack_require__(521),
+ styles: [__webpack_require__(522)]
}),
__metadata('design:paramtypes', [])
], KeypressTabComponent);
@@ -66144,7 +67198,7 @@
/***/ },
-/* 514 */
+/* 519 */
/***/ function(module, exports) {
module.exports = [
@@ -66308,9 +67362,9 @@
{
"id": "40",
"additional": {
- "explanation": "Enter"
+ "explanation": "Return"
},
- "text": "Return"
+ "text": "Enter"
},
{
"id": "41",
@@ -66326,7 +67380,7 @@
},
{
"id": "44",
- "text": "Spacebar"
+ "text": "Space"
}
]
},
@@ -66380,7 +67434,7 @@
]
},
{
- "text": "Functionkeys",
+ "text": "Function keys",
"children": [
{
"id": "58",
@@ -66499,7 +67553,7 @@
]
},
{
- "text": "NumberPad",
+ "text": "Numpad",
"children": [
{
"id": "83",
@@ -66652,7 +67706,7 @@
]
},
{
- "text": "MediaKeys",
+ "text": "Media Keys",
"children": [
{
"id": "127",
@@ -66691,7 +67745,7 @@
];
/***/ },
-/* 515 */
+/* 520 */
/***/ function(module, exports) {
module.exports = [
@@ -66756,30 +67810,30 @@
];
/***/ },
-/* 516 */
+/* 521 */
/***/ function(module, exports) {
- module.exports = "\r\n Scancode: \r\n \r\n \r\n
\r\n\r\n\r\n Long press action: \r\n \r\n \r\n
\r\n\r\n\r\n \r\n When a key is configured as layer switcher key, you can't assign other functions to it.\r\n To assign a scancode to the key, set the Layer action to None .\r\n
";
+ module.exports = "\r\n Scancode: \r\n \r\n \r\n
\r\n\r\n\r\n Long press action: \r\n \r\n \r\n
\r\n\r\n\r\n \r\n When a key is configured as layer switcher key, you can't assign other functions to it.\r\n To assign a scancode to the key, set the Layer action to None .\r\n
";
/***/ },
-/* 517 */
+/* 522 */
/***/ function(module, exports) {
module.exports = ":host {\n display: flex;\n flex-direction: column;\n position: relative; }\n :host .scancode-options {\n margin-bottom: 10px;\n margin-top: 2px; }\n :host .scancode-options > b {\n position: relative;\n top: 2px; }\n :host .modifier-options > b {\n position: relative;\n top: -9px;\n margin-right: 4px; }\n :host .modifier-options .btn-toolbar {\n display: inline-block; }\n :host .long-press-container {\n display: flex;\n margin-top: 3rem; }\n :host .long-press-container > b {\n margin-right: 0.6em;\n align-items: center;\n display: flex; }\n :host .long-press-container .secondary-role {\n width: 135px; }\n :host .long-press-container icon {\n margin-left: 0.6em; }\n :host .setting-label.disabled {\n color: #999; }\n :host .disabled-state--text {\n display: none;\n position: absolute;\n top: 50%;\n margin-top: -4rem;\n color: #31708f;\n padding-right: 40px; }\n :host .disabled-state--text .fa {\n font-size: 2.6rem;\n float: left;\n padding: 1rem 1.5rem 2rem; }\n :host.disabled .scancode-options,\n :host.disabled .modifier-options,\n :host.disabled .long-press-container {\n visibility: hidden; }\n :host.disabled .disabled-state--text {\n display: block; }\n"
/***/ },
-/* 518 */
+/* 523 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
- __export(__webpack_require__(519));
+ __export(__webpack_require__(524));
/***/ },
-/* 519 */
+/* 524 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -66793,40 +67847,37 @@
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var core_1 = __webpack_require__(313);
- var key_action_1 = __webpack_require__(434);
- var ng2_select2_1 = __webpack_require__(398);
+ var key_action_1 = __webpack_require__(438);
var LayerTabComponent = (function () {
- /* tslint:enable:no-unused-variable */
function LayerTabComponent() {
- /* tslint:disable:no-unused-variable: They're used in the template */
this.toggleData = [
{
- id: 'false',
+ id: false,
text: 'Activate'
},
{
- id: 'true',
+ id: true,
text: 'Toggle'
}
];
this.layerData = [
{
- id: '0',
+ id: 0,
text: 'Mod'
},
{
- id: '1',
+ id: 1,
text: 'Fn'
},
{
- id: '2',
+ id: 2,
text: 'Mouse'
}
];
this.toggle = false;
this.layer = key_action_1.LayerName.mod;
}
- LayerTabComponent.prototype.ngOnInit = function () {
+ LayerTabComponent.prototype.ngOnChanges = function () {
this.fromKeyAction(this.defaultKeyAction);
};
LayerTabComponent.prototype.keyActionValid = function () {
@@ -66847,35 +67898,21 @@
keyAction.layer = this.layer;
return keyAction;
};
- // TODO: change to the correct type when the wrapper has added it.
- /* tslint:disable:no-unused-variable: This function is used in the template */
- LayerTabComponent.prototype.toggleChanged = function (event) {
- /* tslint:enable:no-unused-variable */
- this.toggle = event.value;
+ LayerTabComponent.prototype.toggleChanged = function (value) {
+ this.toggle = value === 'true';
};
- // TODO: change to the correct type when the wrapper has added it.
- /* tslint:disable:no-unused-variable: This function is used in the template */
- LayerTabComponent.prototype.layerChanged = function (event) {
- /* tslint:enable:no-unused-variable */
- this.layer = +event.value;
+ LayerTabComponent.prototype.layerChanged = function (value) {
+ this.layer = +value;
};
__decorate([
core_1.Input(),
__metadata('design:type', key_action_1.KeyAction)
], LayerTabComponent.prototype, "defaultKeyAction", void 0);
- __decorate([
- core_1.ViewChild('toggleSelect'),
- __metadata('design:type', ng2_select2_1.Select2Component)
- ], LayerTabComponent.prototype, "toggleSelect2", void 0);
- __decorate([
- core_1.ViewChild('layerSelect'),
- __metadata('design:type', ng2_select2_1.Select2Component)
- ], LayerTabComponent.prototype, "layerSelect2", void 0);
LayerTabComponent = __decorate([
core_1.Component({
selector: 'layer-tab',
- template: __webpack_require__(520),
- styles: [__webpack_require__(521)]
+ template: __webpack_require__(525),
+ styles: [__webpack_require__(526)]
}),
__metadata('design:paramtypes', [])
], LayerTabComponent);
@@ -66885,30 +67922,30 @@
/***/ },
-/* 520 */
+/* 525 */
/***/ function(module, exports) {
- module.exports = " \r\nthe \r\n \r\n\r\n layer by pressing this key. \r\n layer by holding this key. \r\n ";
+ module.exports = "\r\n \r\n {{ item.text }}\r\n \r\n \r\nthe \r\n\r\n \r\n {{ item.text }}\r\n \r\n \r\n\r\n layer by pressing this key. \r\n layer by holding this key. \r\n ";
/***/ },
-/* 521 */
+/* 526 */
/***/ function(module, exports) {
- module.exports = ":host {\n display: flex;\n margin: 0 -5px; }\n :host > span,\n :host > select2 {\n margin: 0 5px;\n display: flex;\n align-items: center; }\n"
+ module.exports = ":host {\n display: flex;\n margin: 0 -5px; }\n :host > span,\n :host > select {\n margin: 0 5px;\n display: flex;\n align-items: center; }\n\nselect {\n background-color: #fff;\n border: 1px solid #aaa;\n border-radius: 4px;\n padding: 4px 20px 4px 8px; }\n"
/***/ },
-/* 522 */
+/* 527 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
- __export(__webpack_require__(523));
+ __export(__webpack_require__(528));
/***/ },
-/* 523 */
+/* 528 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -66922,27 +67959,27 @@
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var core_1 = __webpack_require__(313);
- var key_action_1 = __webpack_require__(434);
- var uhk_configuration_service_1 = __webpack_require__(524);
+ var store_1 = __webpack_require__(353);
+ var key_action_1 = __webpack_require__(438);
+ var macro_1 = __webpack_require__(469);
var MacroTabComponent = (function () {
- function MacroTabComponent(uhkConfigurationService) {
- this.uhkConfigurationService = uhkConfigurationService;
- this.macros = [];
+ function MacroTabComponent(store) {
+ var _this = this;
+ this.store = store;
+ this.subscription = store.let(macro_1.getMacroEntities())
+ .subscribe(function (macros) { return _this.macros = macros; });
this.macroOptions = [];
- this.selectedMacroIndex = -1;
+ this.selectedMacroIndex = 0;
}
MacroTabComponent.prototype.ngOnInit = function () {
- this.macros = this.uhkConfigurationService.getUhkConfiguration().macros;
- this.macroOptions.push({
- id: '-1',
- text: 'Select macro'
- });
- this.macroOptions = this.macroOptions.concat(this.macros.map(function (macro) {
+ this.macroOptions = this.macros.map(function (macro, index) {
return {
- id: macro.id.toString(),
+ id: index.toString(),
text: macro.name
};
- }));
+ });
+ };
+ MacroTabComponent.prototype.ngOnChanges = function () {
this.fromKeyAction(this.defaultKeyAction);
};
// TODO: change to the correct type when the wrapper has added it.
@@ -66968,6 +68005,9 @@
keymapAction.macroId = this.macros[this.selectedMacroIndex].id;
return keymapAction;
};
+ MacroTabComponent.prototype.ngOnDestroy = function () {
+ this.subscription.unsubscribe();
+ };
__decorate([
core_1.Input(),
__metadata('design:type', key_action_1.KeyAction)
@@ -66975,10 +68015,10 @@
MacroTabComponent = __decorate([
core_1.Component({
selector: 'macro-tab',
- template: __webpack_require__(532),
- styles: [__webpack_require__(533)]
+ template: __webpack_require__(529),
+ styles: [__webpack_require__(530)]
}),
- __metadata('design:paramtypes', [uhk_configuration_service_1.UhkConfigurationService])
+ __metadata('design:paramtypes', [store_1.Store])
], MacroTabComponent);
return MacroTabComponent;
}());
@@ -66986,7 +68026,30 @@
/***/ },
-/* 524 */
+/* 529 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n No macros are available to choose from. Create a macro first! \r\n \r\n 0\">\r\n \r\n Play macro: \r\n \r\n
\r\n \r\n ";
+
+/***/ },
+/* 530 */
+/***/ function(module, exports) {
+
+ module.exports = ":host {\n display: flex;\n flex-direction: column; }\n :host > span {\n text-align: center; }\n :host .macro-selector {\n display: flex;\n margin-top: 2px; }\n :host .macro-selector b {\n display: flex;\n align-items: center;\n margin-right: 7px; }\n :host .macro-selector select2 {\n flex: 1; }\n :host .macro-action-container {\n display: flex;\n flex-direction: column;\n min-height: 200px;\n max-height: 300px;\n margin: 20px 0;\n overflow-x: hidden;\n overflow-y: auto;\n border-radius: 4px;\n border: 1px solid #ddd; }\n :host .macro-action-container .list-group {\n margin-bottom: 0;\n border: 0; }\n"
+
+/***/ },
+/* 531 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(532));
+
+
+/***/ },
+/* 532 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -67000,27 +68063,3365 @@
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var core_1 = __webpack_require__(313);
- var UhkConfiguration_1 = __webpack_require__(525);
- var data_provider_service_1 = __webpack_require__(527);
- var UhkConfigurationService = (function () {
- function UhkConfigurationService(dataProviderService) {
- this.dataProviderService = dataProviderService;
- this.configuration = new UhkConfiguration_1.UhkConfiguration().fromJsObject(this.dataProviderService.getUHKConfig());
+ var key_action_1 = __webpack_require__(438);
+ var MouseTabComponent = (function () {
+ function MouseTabComponent() {
+ /* tslint:disable:variable-name: It is an enum type. So it can start with uppercase. */
+ /* tslint:disable:no-unused-variable: It is used in the template. */
+ this.MouseActionParam = key_action_1.MouseActionParam;
+ this.selectedPageIndex = 0;
+ this.pages = ['Move', 'Scroll', 'Click', 'Speed'];
}
- UhkConfigurationService.prototype.getUhkConfiguration = function () {
- return this.configuration;
+ MouseTabComponent.prototype.ngOnChanges = function () {
+ this.fromKeyAction(this.defaultKeyAction);
};
- UhkConfigurationService = __decorate([
- core_1.Injectable(),
- __metadata('design:paramtypes', [data_provider_service_1.DataProviderService])
- ], UhkConfigurationService);
- return UhkConfigurationService;
+ MouseTabComponent.prototype.keyActionValid = function () {
+ return this.mouseActionParam !== undefined;
+ };
+ MouseTabComponent.prototype.fromKeyAction = function (keyAction) {
+ if (!(keyAction instanceof key_action_1.MouseAction)) {
+ return false;
+ }
+ var mouseAction = keyAction;
+ this.mouseActionParam = mouseAction.mouseAction;
+ if (mouseAction.mouseAction === key_action_1.MouseActionParam.moveUp) {
+ this.selectedPageIndex = 0;
+ }
+ switch (mouseAction.mouseAction) {
+ case key_action_1.MouseActionParam.moveDown:
+ case key_action_1.MouseActionParam.moveUp:
+ case key_action_1.MouseActionParam.moveLeft:
+ case key_action_1.MouseActionParam.moveRight:
+ this.selectedPageIndex = 0;
+ break;
+ case key_action_1.MouseActionParam.scrollDown:
+ case key_action_1.MouseActionParam.scrollUp:
+ case key_action_1.MouseActionParam.scrollLeft:
+ case key_action_1.MouseActionParam.scrollRight:
+ this.selectedPageIndex = 1;
+ break;
+ case key_action_1.MouseActionParam.leftClick:
+ case key_action_1.MouseActionParam.middleClick:
+ case key_action_1.MouseActionParam.rightClick:
+ this.selectedPageIndex = 2;
+ break;
+ case key_action_1.MouseActionParam.decelerate:
+ case key_action_1.MouseActionParam.accelerate:
+ this.selectedPageIndex = 3;
+ break;
+ default:
+ return false;
+ }
+ return true;
+ };
+ MouseTabComponent.prototype.toKeyAction = function () {
+ if (!this.keyActionValid()) {
+ throw new Error('KeyAction is not valid. No selected mouse action!');
+ }
+ var mouseAction = new key_action_1.MouseAction();
+ mouseAction.mouseAction = this.mouseActionParam;
+ return mouseAction;
+ };
+ MouseTabComponent.prototype.changePage = function (index) {
+ if (index < -1 || index > 3) {
+ console.error("Invalid index error: " + index);
+ return;
+ }
+ this.selectedPageIndex = index;
+ this.mouseActionParam = undefined;
+ };
+ MouseTabComponent.prototype.setMouseActionParam = function (mouseActionParam) {
+ this.mouseActionParam = mouseActionParam;
+ };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', key_action_1.KeyAction)
+ ], MouseTabComponent.prototype, "defaultKeyAction", void 0);
+ MouseTabComponent = __decorate([
+ core_1.Component({
+ selector: 'mouse-tab',
+ template: __webpack_require__(533),
+ styles: [__webpack_require__(534)]
+ }),
+ __metadata('design:paramtypes', [])
+ ], MouseTabComponent);
+ return MouseTabComponent;
}());
- exports.UhkConfigurationService = UhkConfigurationService;
+ exports.MouseTabComponent = MouseTabComponent;
/***/ },
-/* 525 */
+/* 533 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Left \r\n Middle \r\n Right \r\n
\r\n
\r\n
\r\n
\r\n
Press this key along with mouse movement/scrolling to accelerate/decelerate the speed of the action.
\r\n
\r\n
\r\n
\r\n -\r\n Decelerate \r\n
\r\n
\r\n +\r\n Accelerate \r\n
\r\n
\r\n
\r\n
You can set the multiplier in the settings .
\r\n
\r\n
\r\n
\r\n
\r\n
";
+
+/***/ },
+/* 534 */
+/***/ function(module, exports) {
+
+ module.exports = ":host {\n display: flex; }\n :host.popover-content {\n padding: 10px;\n display: flex;\n align-items: center; }\n :host .mouse-action .nav {\n border-right: 1px solid #ccc; }\n :host .mouse-action .nav li a {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n :host .mouse-action .nav li a.selected {\n font-style: italic; }\n :host .mouse-action .nav li.active a.selected {\n font-style: normal; }\n :host .mouse-action .nav li.active a:after {\n content: '';\n display: block;\n position: absolute;\n width: 0;\n height: 0;\n top: 0;\n right: -4rem;\n border-color: transparent transparent transparent #337ab7;\n border-style: solid;\n border-width: 2rem; }\n :host .help-text--mouse-speed {\n margin-bottom: 2rem;\n font-size: 0.9em;\n color: #666; }\n :host .help-text--mouse-speed p {\n margin: 0; }\n :host .details .btn-placeholder {\n visibility: hidden; }\n\n.mouse__config--speed .btn-default {\n font-size: 25px;\n line-height: 22px;\n padding-top: 4px;\n padding-bottom: 4px; }\n .mouse__config--speed .btn-default span {\n font-size: 13px;\n display: block;\n text-align: center; }\n\n.help-text--mouse-speed.last-help {\n margin-bottom: 0;\n margin-top: 2rem; }\n"
+
+/***/ },
+/* 535 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(536));
+
+
+/***/ },
+/* 536 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var NoneTabComponent = (function () {
+ function NoneTabComponent() {
+ }
+ NoneTabComponent.prototype.keyActionValid = function () {
+ return true;
+ };
+ NoneTabComponent.prototype.fromKeyAction = function () {
+ return false;
+ };
+ NoneTabComponent.prototype.toKeyAction = function () {
+ return undefined;
+ };
+ NoneTabComponent = __decorate([
+ core_1.Component({
+ selector: 'none-tab',
+ template: __webpack_require__(537),
+ styles: [__webpack_require__(538)]
+ }),
+ __metadata('design:paramtypes', [])
+ ], NoneTabComponent);
+ return NoneTabComponent;
+ }());
+ exports.NoneTabComponent = NoneTabComponent;
+
+
+/***/ },
+/* 537 */
+/***/ function(module, exports) {
+
+ module.exports = "This key is unassigned and has no functionality.";
+
+/***/ },
+/* 538 */
+/***/ function(module, exports) {
+
+ module.exports = ":host {\n display: flex;\n justify-content: center;\n padding: 2rem 0; }\n"
+
+/***/ },
+/* 539 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n
\r\n
\r\n
\r\n
Press key \r\n Hold key \r\n Release key \r\n \r\n \r\n
\r\n
";
+
+/***/ },
+/* 540 */
+/***/ function(module, exports) {
+
+ module.exports = ".macro-key__container {\n padding: 0; }\n\n.macro-key__types {\n margin-left: 0;\n padding: 0 0 1rem; }\n\n.macro-key__action {\n padding-left: 3rem;\n padding-bottom: 1rem; }\n .macro-key__action-container {\n margin-top: -1rem;\n padding-top: 1rem;\n border-left: 1px solid #ddd; }\n\n.fa {\n min-width: 14px; }\n"
+
+/***/ },
+/* 541 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var macro_mouse_component_1 = __webpack_require__(542);
+ exports.MacroMouseTabComponent = macro_mouse_component_1.MacroMouseTabComponent;
+
+
+/***/ },
+/* 542 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var macro_action_1 = __webpack_require__(472);
+ var TabName;
+ (function (TabName) {
+ TabName[TabName["Move"] = 0] = "Move";
+ TabName[TabName["Scroll"] = 1] = "Scroll";
+ TabName[TabName["Click"] = 2] = "Click";
+ TabName[TabName["Hold"] = 3] = "Hold";
+ TabName[TabName["Release"] = 4] = "Release";
+ })(TabName || (TabName = {}));
+ var MacroMouseTabComponent = (function () {
+ /* tslint:enable:no-unused-variable */
+ /* tslint:enable:variable-name */
+ function MacroMouseTabComponent() {
+ /* tslint:disable:variable-name: It is an enum type. So it can start with uppercase. */
+ /* tslint:disable:no-unused-variable: It is used in the template. */
+ this.TabName = TabName;
+ this.buttonLabels = ['Left', 'Middle', 'Right'];
+ this.selectedButtons = Array(this.buttonLabels.length).fill(false);
+ }
+ MacroMouseTabComponent.prototype.ngOnInit = function () {
+ var tabName = this.getTabName(this.macroAction);
+ this.selectTab(tabName);
+ var buttonActions = [TabName.Click, TabName.Hold, TabName.Release];
+ if (buttonActions.includes(this.activeTab)) {
+ this.selectedButtons = this.macroAction.getMouseButtons();
+ }
+ };
+ MacroMouseTabComponent.prototype.selectTab = function (tab) {
+ this.activeTab = tab;
+ this.macroAction.macroActionType = this.getMacroActionType(tab);
+ if (this.macroAction.macroActionType === macro_action_1.macroActionType.MouseButtonMacroAction) {
+ this.macroAction.action = this.getAction(tab);
+ }
+ };
+ MacroMouseTabComponent.prototype.setMouseClick = function (index) {
+ this.selectedButtons[index] = !this.selectedButtons[index];
+ this.macroAction.setMouseButtons(this.selectedButtons);
+ };
+ MacroMouseTabComponent.prototype.hasButton = function (index) {
+ return this.selectedButtons[index];
+ };
+ MacroMouseTabComponent.prototype.getAction = function (tab) {
+ switch (tab) {
+ case TabName.Click:
+ return macro_action_1.MacroSubAction.press;
+ case TabName.Hold:
+ return macro_action_1.MacroSubAction.hold;
+ case TabName.Release:
+ return macro_action_1.MacroSubAction.release;
+ default:
+ throw new Error('Invalid tab name');
+ }
+ };
+ MacroMouseTabComponent.prototype.getTabName = function (action) {
+ if (action.macroActionType === macro_action_1.macroActionType.MouseButtonMacroAction) {
+ if (!action.action || action.isOnlyPressAction()) {
+ return TabName.Click;
+ }
+ else if (action.isOnlyPressAction()) {
+ return TabName.Hold;
+ }
+ else if (action.isOnlyReleaseAction()) {
+ return TabName.Release;
+ }
+ }
+ else if (action.macroActionType === macro_action_1.macroActionType.MoveMouseMacroAction) {
+ return TabName.Move;
+ }
+ else if (action.macroActionType === macro_action_1.macroActionType.ScrollMouseMacroAction) {
+ return TabName.Scroll;
+ }
+ return TabName.Move;
+ };
+ MacroMouseTabComponent.prototype.getMacroActionType = function (tab) {
+ if (tab === TabName.Click || tab === TabName.Hold || tab === TabName.Release) {
+ return macro_action_1.macroActionType.MouseButtonMacroAction;
+ }
+ else if (tab === TabName.Move) {
+ return macro_action_1.macroActionType.MoveMouseMacroAction;
+ }
+ else if (tab === TabName.Scroll) {
+ return macro_action_1.macroActionType.ScrollMouseMacroAction;
+ }
+ };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', macro_action_1.EditableMacroAction)
+ ], MacroMouseTabComponent.prototype, "macroAction", void 0);
+ __decorate([
+ core_1.ViewChild('tab'),
+ __metadata('design:type', Object)
+ ], MacroMouseTabComponent.prototype, "selectedTab", void 0);
+ MacroMouseTabComponent = __decorate([
+ core_1.Component({
+ selector: 'macro-mouse-tab',
+ template: __webpack_require__(543),
+ styles: [
+ __webpack_require__(504),
+ __webpack_require__(544)
+ ],
+ host: { 'class': 'macro__mouse' }
+ }),
+ __metadata('design:paramtypes', [])
+ ], MacroMouseTabComponent);
+ return MacroMouseTabComponent;
+ }());
+ exports.MacroMouseTabComponent = MacroMouseTabComponent;
+
+
+/***/ },
+/* 543 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n
\r\n
\r\n
\r\n
Move pointer \r\n
Use negative values to move down or left from current position.
\r\n
\r\n
\r\n
\r\n
Scroll \r\n
Use negative values to move down or left from current position.
\r\n
\r\n
\r\n
\r\n
Click mouse button \r\n
Hold mouse button \r\n
Release mouse button \r\n
\r\n {{buttonLabel}} \r\n
\r\n
\r\n
\r\n
";
+
+/***/ },
+/* 544 */
+/***/ function(module, exports) {
+
+ module.exports = ".macro-mouse__container {\n padding: 0; }\n\n.macro-mouse__types {\n border-right: 1px solid #ddd;\n border-left: 0;\n margin-top: -1rem;\n margin-left: 0;\n padding: 1rem 0; }\n\n.macro-mouse__actions {\n padding-left: 3rem;\n padding-bottom: 1rem; }\n\n.macro-mouse__buttons {\n margin-top: 3rem;\n margin-bottom: 1rem; }\n\n.fa {\n min-width: 14px; }\n\n.form-horizontal .form-group {\n margin: 0 0 0.5rem; }\n\n.form-horizontal label {\n display: inline-block;\n margin-right: 0.5rem; }\n\n.form-horizontal .form-control {\n display: inline-block;\n width: 60%; }\n"
+
+/***/ },
+/* 545 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var macro_text_component_1 = __webpack_require__(546);
+ exports.MacroTextTabComponent = macro_text_component_1.MacroTextTabComponent;
+
+
+/***/ },
+/* 546 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var macro_action_1 = __webpack_require__(472);
+ var MacroTextTabComponent = (function () {
+ function MacroTextTabComponent(renderer) {
+ this.renderer = renderer;
+ }
+ MacroTextTabComponent.prototype.ngAfterViewInit = function () {
+ this.renderer.invokeElementMethod(this.input.nativeElement, 'focus');
+ };
+ MacroTextTabComponent.prototype.onTextChange = function () {
+ this.macroAction.text = this.input.nativeElement.value;
+ };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', macro_action_1.EditableMacroAction)
+ ], MacroTextTabComponent.prototype, "macroAction", void 0);
+ __decorate([
+ core_1.ViewChild('macroTextInput'),
+ __metadata('design:type', core_1.ElementRef)
+ ], MacroTextTabComponent.prototype, "input", void 0);
+ MacroTextTabComponent = __decorate([
+ core_1.Component({
+ selector: 'macro-text-tab',
+ template: __webpack_require__(547),
+ styles: [__webpack_require__(548)],
+ host: { 'class': 'macro__text' }
+ }),
+ __metadata('design:paramtypes', [core_1.Renderer])
+ ], MacroTextTabComponent);
+ return MacroTextTabComponent;
+ }());
+ exports.MacroTextTabComponent = MacroTextTabComponent;
+
+
+/***/ },
+/* 547 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n
Type text \r\n
Input the text you want to type with this macro action.
\r\n
\r\n
";
+
+/***/ },
+/* 548 */
+/***/ function(module, exports) {
+
+ module.exports = ":host {\n display: flex;\n flex-direction: column;\n position: relative; }\n\n.macro__text-input {\n width: 100%;\n min-height: 10rem;\n margin-bottom: 1rem; }\n"
+
+/***/ },
+/* 549 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(550));
+
+
+/***/ },
+/* 550 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var NotificationComponent = (function () {
+ function NotificationComponent() {
+ }
+ NotificationComponent = __decorate([
+ core_1.Component({
+ selector: 'notification',
+ template: __webpack_require__(551),
+ styles: [__webpack_require__(552)]
+ }),
+ __metadata('design:paramtypes', [])
+ ], NotificationComponent);
+ return NotificationComponent;
+ }());
+ exports.NotificationComponent = NotificationComponent;
+
+
+/***/ },
+/* 551 */
+/***/ function(module, exports) {
+
+ module.exports = "Keymap removed \r\nUndo \r\n× ";
+
+/***/ },
+/* 552 */
+/***/ function(module, exports) {
+
+ module.exports = ":host {\n padding: 1rem 1.5rem;\n box-shadow: 0 0 0 1px #000;\n border-radius: 0.5rem;\n position: absolute;\n top: 2rem;\n right: 2rem;\n z-index: 10000;\n background-color: #333;\n color: #eee;\n display: none; }\n\n.action {\n margin-left: 1rem;\n margin-right: 1rem;\n color: #5bc0de;\n text-transform: uppercase;\n font-weight: bold; }\n .action:focus, .action:active, .action:hover {\n text-decoration: none;\n color: #5bc0de; }\n\n.dismiss {\n position: relative;\n bottom: 1px;\n color: #ccc; }\n .dismiss:hover {\n cursor: pointer;\n color: #fff; }\n"
+
+/***/ },
+/* 553 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(554));
+
+
+/***/ },
+/* 554 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var store_1 = __webpack_require__(353);
+ var key_action_1 = __webpack_require__(438);
+ var Keymap_1 = __webpack_require__(455);
+ var reducers_1 = __webpack_require__(555);
+ var TabName;
+ (function (TabName) {
+ TabName[TabName["Keypress"] = 0] = "Keypress";
+ TabName[TabName["Layer"] = 1] = "Layer";
+ TabName[TabName["Mouse"] = 2] = "Mouse";
+ TabName[TabName["Macro"] = 3] = "Macro";
+ TabName[TabName["Keymap"] = 4] = "Keymap";
+ TabName[TabName["None"] = 5] = "None";
+ })(TabName || (TabName = {}));
+ var PopoverComponent = (function () {
+ function PopoverComponent(store) {
+ var _this = this;
+ this.store = store;
+ this.cancel = new core_1.EventEmitter();
+ this.remap = new core_1.EventEmitter();
+ this.tabName = TabName;
+ this.leftArrow = false;
+ this.rightArrow = false;
+ this.topPosition = 0;
+ this.leftPosition = 0;
+ this.animationState = 'closed';
+ this.keymaps$ = store.let(reducers_1.getKeymapEntities())
+ .map(function (keymaps) {
+ return keymaps.filter(function (keymap) { return _this.currentKeymap.abbreviation !== keymap.abbreviation; });
+ });
+ }
+ PopoverComponent.prototype.ngOnChanges = function (change) {
+ if (this.keyPosition && this.wrapPosition && (change['keyPosition'] || change['wrapPosition'])) {
+ this.calculatePosition();
+ }
+ if (change['defaultKeyAction']) {
+ var tab = void 0;
+ if (this.defaultKeyAction instanceof key_action_1.KeystrokeAction) {
+ tab = TabName.Keypress;
+ }
+ else if (this.defaultKeyAction instanceof key_action_1.SwitchLayerAction) {
+ tab = TabName.Layer;
+ }
+ else if (this.defaultKeyAction instanceof key_action_1.MouseAction) {
+ tab = TabName.Mouse;
+ }
+ else if (this.defaultKeyAction instanceof key_action_1.PlayMacroAction) {
+ tab = TabName.Macro;
+ }
+ else if (this.defaultKeyAction instanceof key_action_1.SwitchKeymapAction) {
+ tab = TabName.Keymap;
+ }
+ else {
+ tab = TabName.None;
+ }
+ this.selectTab(tab);
+ }
+ if (change['visible']) {
+ if (change['visible'].currentValue) {
+ this.animationState = 'opened';
+ }
+ else {
+ this.animationState = 'closed';
+ }
+ }
+ };
+ PopoverComponent.prototype.onCancelClick = function () {
+ this.cancel.emit(undefined);
+ };
+ PopoverComponent.prototype.onRemapKey = function () {
+ try {
+ var keyAction = this.selectedTab.toKeyAction();
+ this.remap.emit(keyAction);
+ }
+ catch (e) {
+ // TODO: show error dialog
+ console.error(e);
+ }
+ };
+ PopoverComponent.prototype.selectTab = function (tab) {
+ this.activeTab = tab;
+ };
+ PopoverComponent.prototype.onOverlay = function () {
+ this.cancel.emit(undefined);
+ };
+ PopoverComponent.prototype.calculatePosition = function () {
+ var offsetLeft = this.wrapPosition.left + 265; // 265 is a width of the side menu with a margin
+ var popover = this.popoverHost.nativeElement;
+ var newLeft = this.keyPosition.left + (this.keyPosition.width / 2);
+ this.leftArrow = newLeft < offsetLeft;
+ this.rightArrow = (newLeft + popover.offsetWidth) > offsetLeft + this.wrapPosition.width;
+ if (this.leftArrow) {
+ newLeft = this.keyPosition.left;
+ }
+ else if (this.rightArrow) {
+ newLeft = this.keyPosition.left - popover.offsetWidth + this.keyPosition.width;
+ }
+ else {
+ newLeft -= popover.offsetWidth / 2;
+ }
+ // 7 is a space between a bottom key position and a popover
+ this.topPosition = this.keyPosition.top + this.keyPosition.height + 7 + window.scrollY;
+ this.leftPosition = newLeft;
+ };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', key_action_1.KeyAction)
+ ], PopoverComponent.prototype, "defaultKeyAction", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Keymap_1.Keymap)
+ ], PopoverComponent.prototype, "currentKeymap", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', ClientRect)
+ ], PopoverComponent.prototype, "keyPosition", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', ClientRect)
+ ], PopoverComponent.prototype, "wrapPosition", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Boolean)
+ ], PopoverComponent.prototype, "visible", void 0);
+ __decorate([
+ core_1.Output(),
+ __metadata('design:type', Object)
+ ], PopoverComponent.prototype, "cancel", void 0);
+ __decorate([
+ core_1.Output(),
+ __metadata('design:type', Object)
+ ], PopoverComponent.prototype, "remap", void 0);
+ __decorate([
+ core_1.ViewChild('tab'),
+ __metadata('design:type', Object)
+ ], PopoverComponent.prototype, "selectedTab", void 0);
+ __decorate([
+ core_1.ViewChild('popover'),
+ __metadata('design:type', core_1.ElementRef)
+ ], PopoverComponent.prototype, "popoverHost", void 0);
+ PopoverComponent = __decorate([
+ core_1.Component({
+ selector: 'popover',
+ template: __webpack_require__(557),
+ styles: [__webpack_require__(558)],
+ animations: [
+ core_1.trigger('popover', [
+ core_1.state('closed', core_1.style({
+ transform: 'translateY(30px)',
+ visibility: 'hidden',
+ opacity: 0
+ })),
+ core_1.state('opened', core_1.style({
+ transform: 'translateY(0)',
+ visibility: 'visible',
+ opacity: 1
+ })),
+ core_1.transition('opened => closed', [
+ core_1.animate('200ms ease-out', core_1.keyframes([
+ core_1.style({ transform: 'translateY(0)', visibility: 'visible', opacity: 1, offset: 0 }),
+ core_1.style({ transform: 'translateY(30px)', visibility: 'hidden', opacity: 0, offset: 1 })
+ ]))
+ ]),
+ core_1.transition('closed => opened', [
+ core_1.style({
+ visibility: 'visible'
+ }),
+ core_1.animate('200ms ease-out', core_1.keyframes([
+ core_1.style({ transform: 'translateY(30px)', opacity: 0, offset: 0 }),
+ core_1.style({ transform: 'translateY(0)', opacity: 1, offset: 1 })
+ ]))
+ ])
+ ])
+ ]
+ }),
+ __metadata('design:paramtypes', [store_1.Store])
+ ], PopoverComponent);
+ return PopoverComponent;
+ }());
+ exports.PopoverComponent = PopoverComponent;
+
+
+/***/ },
+/* 555 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var keymap_1 = __webpack_require__(436);
+ exports.keymapReducer = keymap_1.default;
+ exports.getKeymapEntities = keymap_1.getKeymapEntities;
+ var macro_1 = __webpack_require__(469);
+ exports.macroReducer = macro_1.default;
+ exports.getMacroEntities = macro_1.getMacroEntities;
+ var preset_1 = __webpack_require__(556);
+ exports.presetReducer = preset_1.default;
+
+
+/***/ },
+/* 556 */
+/***/ function(module, exports) {
+
+ "use strict";
+ var initialState = [];
+ function default_1(state) {
+ if (state === void 0) { state = initialState; }
+ return state;
+ }
+ Object.defineProperty(exports, "__esModule", { value: true });
+ exports.default = default_1;
+
+
+/***/ },
+/* 557 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n Cancel \r\n Remap Key \r\n
\r\n
\r\n
\r\n";
+
+/***/ },
+/* 558 */
+/***/ function(module, exports) {
+
+ module.exports = ".popover {\n display: flex;\n flex-direction: column;\n padding: 0;\n max-width: 568px;\n width: 100%;\n user-select: none; }\n .popover.leftArrow .arrowCustom {\n transform: none;\n left: 22px; }\n .popover.rightArrow .arrowCustom {\n transform: none;\n right: 22px;\n left: auto; }\n .popover > .container-fluid {\n overflow: hidden; }\n\n.nav-tabs > li {\n overflow: hidden; }\n\n.arrowCustom {\n position: absolute;\n top: -16px;\n left: 50%;\n transform: translateX(-50%);\n width: 41px;\n height: 16px; }\n .arrowCustom:before {\n content: '';\n width: 0;\n height: 0;\n border-left: 21px solid transparent;\n border-right: 21px solid transparent;\n border-bottom: 17px solid rgba(0, 0, 0, 0.2);\n display: block;\n position: absolute;\n top: -1px; }\n .arrowCustom:after {\n content: '';\n width: 0;\n height: 0;\n border-left: 20px solid transparent;\n border-right: 20px solid transparent;\n border-bottom: 16px solid #f7f7f7;\n display: block;\n position: absolute;\n top: 0; }\n\n.popover-action {\n padding: 8px 14px;\n margin: 0;\n font-size: 14px;\n background-color: #f7f7f7;\n border-top: 1px solid #ebebeb;\n border-radius: 0 0 5px 5px;\n text-align: right; }\n\n.popover-title.menu-tabs {\n padding: 0.5rem 0.5rem 0;\n display: block; }\n .popover-title.menu-tabs .nav-tabs {\n position: relative;\n top: 1px;\n display: flex; }\n .popover-title.menu-tabs .nav-tabs .menu-tabs--item {\n display: flex;\n align-items: center;\n cursor: pointer; }\n .popover-title.menu-tabs .nav-tabs .menu-tabs--item i {\n margin-right: 0.25em; }\n\n.popover-content {\n padding: 10px 24px; }\n\n.popover-overlay {\n position: fixed;\n width: 100%;\n height: 0;\n top: 0;\n left: 0;\n z-index: 1050;\n background: transparent;\n transition: background 200ms ease-out, height 0ms 200ms linear; }\n .popover-overlay.display {\n height: 100%;\n background: rgba(0, 0, 0, 0.2);\n transition: background 200ms ease-out; }\n\n.select2-item {\n position: relative;\n font-size: 1.5rem; }\n .select2-item.keymap-name--wrapper {\n padding-left: 50px; }\n .select2-item .layout-segment-code {\n height: 2rem;\n position: absolute;\n left: 0;\n top: 50%;\n margin-top: -1rem; }\n"
+
+/***/ },
+/* 559 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(560));
+
+
+/***/ },
+/* 560 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var CaptureKeystrokeButtonComponent = (function () {
+ function CaptureKeystrokeButtonComponent() {
+ }
+ CaptureKeystrokeButtonComponent.prototype.ngOnInit = function () { };
+ CaptureKeystrokeButtonComponent.prototype.start = function () {
+ this.record = true;
+ };
+ CaptureKeystrokeButtonComponent.prototype.stop = function () {
+ this.record = false;
+ };
+ CaptureKeystrokeButtonComponent = __decorate([
+ core_1.Component({
+ selector: 'capture-keystroke-button',
+ template: __webpack_require__(561),
+ styles: [__webpack_require__(562)]
+ }),
+ __metadata('design:paramtypes', [])
+ ], CaptureKeystrokeButtonComponent);
+ return CaptureKeystrokeButtonComponent;
+ }());
+ exports.CaptureKeystrokeButtonComponent = CaptureKeystrokeButtonComponent;
+
+
+/***/ },
+/* 561 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n \r\n \r\n Capture keystroke\r\n \r\n \r\n Stop capturing\r\n \r\n ";
+
+/***/ },
+/* 562 */
+/***/ function(module, exports) {
+
+ module.exports = "button {\n display: inline-block;\n margin: 0 0 0 0.25rem; }\n\n.fa-circle {\n color: #c00; }\n"
+
+/***/ },
+/* 563 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(564));
+
+
+/***/ },
+/* 564 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var IconComponent = (function () {
+ function IconComponent() {
+ }
+ IconComponent.prototype.ngOnInit = function () { };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', String)
+ ], IconComponent.prototype, "name", void 0);
+ IconComponent = __decorate([
+ core_1.Component({
+ selector: 'icon',
+ template: __webpack_require__(565),
+ styles: [__webpack_require__(566)]
+ }),
+ __metadata('design:paramtypes', [])
+ ], IconComponent);
+ return IconComponent;
+ }());
+ exports.IconComponent = IconComponent;
+
+
+/***/ },
+/* 565 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
";
+
+/***/ },
+/* 566 */
+/***/ function(module, exports) {
+
+ module.exports = ":host {\n display: flex;\n align-items: center; }\n\n.action--edit:hover {\n color: #337ab7;\n cursor: pointer; }\n\n.action--trash:hover {\n color: #d9534f;\n cursor: pointer; }\n"
+
+/***/ },
+/* 567 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(568));
+ __export(__webpack_require__(571));
+
+
+/***/ },
+/* 568 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var SettingsComponent = (function () {
+ function SettingsComponent() {
+ }
+ SettingsComponent = __decorate([
+ core_1.Component({
+ selector: 'settings',
+ template: __webpack_require__(569),
+ styles: [__webpack_require__(570)],
+ host: {
+ 'class': 'container-fluid'
+ }
+ }),
+ __metadata('design:paramtypes', [])
+ ], SettingsComponent);
+ return SettingsComponent;
+ }());
+ exports.SettingsComponent = SettingsComponent;
+
+
+/***/ },
+/* 569 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n
\r\n \r\n Settings \r\n \r\n\r\nTo be done...";
+
+/***/ },
+/* 570 */
+/***/ function(module, exports) {
+
+ module.exports = ":host {\n width: 100%;\n height: 100%;\n display: block; }\n"
+
+/***/ },
+/* 571 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var settings_component_1 = __webpack_require__(568);
+ exports.settingsRoutes = [
+ {
+ path: 'settings',
+ component: settings_component_1.SettingsComponent
+ }
+ ];
+
+
+/***/ },
+/* 572 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(573));
+
+
+/***/ },
+/* 573 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var store_1 = __webpack_require__(353);
+ __webpack_require__(574);
+ __webpack_require__(437);
+ var actions_1 = __webpack_require__(424);
+ var reducers_1 = __webpack_require__(555);
+ var SideMenuComponent = (function () {
+ function SideMenuComponent(store, renderer) {
+ this.store = store;
+ this.renderer = renderer;
+ this.animation = {
+ keymap: 'active',
+ macro: 'active',
+ addon: 'active'
+ };
+ this.keymaps$ = store.let(reducers_1.getKeymapEntities())
+ .map(function (keymaps) { return keymaps.slice(); }) // Creating a new array reference, because the sort is working in place
+ .do(function (keymaps) {
+ keymaps.sort(function (first, second) { return first.name.localeCompare(second.name); });
+ });
+ this.macros$ = store.let(reducers_1.getMacroEntities())
+ .map(function (macros) { return macros.slice(); }) // Creating a new array reference, because the sort is working in place
+ .do(function (macros) {
+ macros.sort(function (first, second) { return first.name.localeCompare(second.name); });
+ });
+ }
+ SideMenuComponent.prototype.toggleHide = function (event, type) {
+ var header = event.target.classList;
+ var show = false;
+ if (header.contains('fa-chevron-down')) {
+ show = true;
+ this.animation[type] = 'active';
+ }
+ else {
+ this.animation[type] = 'inactive';
+ }
+ this.renderer.setElementClass(event.target, 'fa-chevron-up', show);
+ this.renderer.setElementClass(event.target, 'fa-chevron-down', !show);
+ };
+ SideMenuComponent.prototype.addMacro = function () {
+ this.store.dispatch(actions_1.MacroActions.addMacro());
+ };
+ SideMenuComponent = __decorate([
+ core_1.Component({
+ animations: [
+ core_1.trigger('toggler', [
+ core_1.state('inactive', core_1.style({
+ height: '0px'
+ })),
+ core_1.state('active', core_1.style({
+ height: '*'
+ })),
+ core_1.transition('inactive <=> active', core_1.animate('500ms ease-out'))
+ ])
+ ],
+ selector: 'side-menu',
+ template: __webpack_require__(576),
+ styles: [__webpack_require__(577)]
+ }),
+ __metadata('design:paramtypes', [store_1.Store, core_1.Renderer])
+ ], SideMenuComponent);
+ return SideMenuComponent;
+ }());
+ exports.SideMenuComponent = SideMenuComponent;
+
+
+/***/ },
+/* 574 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var Observable_1 = __webpack_require__(315);
+ var do_1 = __webpack_require__(575);
+ Observable_1.Observable.prototype.do = do_1._do;
+ Observable_1.Observable.prototype._do = do_1._do;
+ //# sourceMappingURL=do.js.map
+
+/***/ },
+/* 575 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __extends = (this && this.__extends) || function (d, b) {
+ for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
+ function __() { this.constructor = d; }
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
+ };
+ var Subscriber_1 = __webpack_require__(318);
+ /**
+ * Perform a side effect for every emission on the source Observable, but return
+ * an Observable that is identical to the source.
+ *
+ * Intercepts each emission on the source and runs a
+ * function, but returns an output which is identical to the source.
+ *
+ *
+ *
+ * Returns a mirrored Observable of the source Observable, but modified so that
+ * the provided Observer is called to perform a side effect for every value,
+ * error, and completion emitted by the source. Any errors that are thrown in
+ * the aforementioned Observer or handlers are safely sent down the error path
+ * of the output Observable.
+ *
+ * This operator is useful for debugging your Observables for the correct values
+ * or performing other side effects.
+ *
+ * Note: this is different to a `subscribe` on the Observable. If the Observable
+ * returned by `do` is not subscribed, the side effects specified by the
+ * Observer will never happen. `do` therefore simply spies on existing
+ * execution, it does not trigger an execution to happen like `subscribe` does.
+ *
+ * @example Map every every click to the clientX position of that click, while also logging the click event
+ * var clicks = Rx.Observable.fromEvent(document, 'click');
+ * var positions = clicks
+ * .do(ev => console.log(ev))
+ * .map(ev => ev.clientX);
+ * positions.subscribe(x => console.log(x));
+ *
+ * @see {@link map}
+ * @see {@link subscribe}
+ *
+ * @param {Observer|function} [nextOrObserver] A normal Observer object or a
+ * callback for `next`.
+ * @param {function} [error] Callback for errors in the source.
+ * @param {function} [complete] Callback for the completion of the source.
+ * @return {Observable} An Observable identical to the source, but runs the
+ * specified Observer or callback(s) for each item.
+ * @method do
+ * @name do
+ * @owner Observable
+ */
+ function _do(nextOrObserver, error, complete) {
+ return this.lift(new DoOperator(nextOrObserver, error, complete));
+ }
+ exports._do = _do;
+ var DoOperator = (function () {
+ function DoOperator(nextOrObserver, error, complete) {
+ this.nextOrObserver = nextOrObserver;
+ this.error = error;
+ this.complete = complete;
+ }
+ DoOperator.prototype.call = function (subscriber, source) {
+ return source._subscribe(new DoSubscriber(subscriber, this.nextOrObserver, this.error, this.complete));
+ };
+ return DoOperator;
+ }());
+ /**
+ * We need this JSDoc comment for affecting ESDoc.
+ * @ignore
+ * @extends {Ignored}
+ */
+ var DoSubscriber = (function (_super) {
+ __extends(DoSubscriber, _super);
+ function DoSubscriber(destination, nextOrObserver, error, complete) {
+ _super.call(this, destination);
+ var safeSubscriber = new Subscriber_1.Subscriber(nextOrObserver, error, complete);
+ safeSubscriber.syncErrorThrowable = true;
+ this.add(safeSubscriber);
+ this.safeSubscriber = safeSubscriber;
+ }
+ DoSubscriber.prototype._next = function (value) {
+ var safeSubscriber = this.safeSubscriber;
+ safeSubscriber.next(value);
+ if (safeSubscriber.syncErrorThrown) {
+ this.destination.error(safeSubscriber.syncErrorValue);
+ }
+ else {
+ this.destination.next(value);
+ }
+ };
+ DoSubscriber.prototype._error = function (err) {
+ var safeSubscriber = this.safeSubscriber;
+ safeSubscriber.error(err);
+ if (safeSubscriber.syncErrorThrown) {
+ this.destination.error(safeSubscriber.syncErrorValue);
+ }
+ else {
+ this.destination.error(err);
+ }
+ };
+ DoSubscriber.prototype._complete = function () {
+ var safeSubscriber = this.safeSubscriber;
+ safeSubscriber.complete();
+ if (safeSubscriber.syncErrorThrown) {
+ this.destination.error(safeSubscriber.syncErrorValue);
+ }
+ else {
+ this.destination.complete();
+ }
+ };
+ return DoSubscriber;
+ }(Subscriber_1.Subscriber));
+ //# sourceMappingURL=do.js.map
+
+/***/ },
+/* 576 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n";
+
+/***/ },
+/* 577 */
+/***/ function(module, exports) {
+
+ module.exports = ":host {\n background-color: #f5f5f5;\n border-right: 1px solid #ccc;\n position: fixed;\n overflow-y: auto;\n width: 250px;\n height: 100%; }\n\na {\n color: #333; }\n\nul {\n padding: 0;\n margin: 0; }\n ul li {\n list-style: none;\n padding: 0; }\n ul ul {\n overflow: hidden; }\n\n.sidebar__level-1 {\n padding: 0.5rem 1rem;\n font-size: 2rem;\n line-height: 3rem;\n cursor: default; }\n .sidebar__level-1:hover .fa-chevron-up,\n .sidebar__level-1:hover .fa-chevron-down {\n display: inline-block; }\n .sidebar__level-1--item {\n margin-top: 0; }\n .sidebar__level-1--item:nth-child(1) {\n margin: 0; }\n .sidebar__level-1 .sidebar__name {\n width: 100%;\n display: block; }\n .sidebar__level-1 .fa-chevron-up,\n .sidebar__level-1 .fa-chevron-down {\n margin-right: 1rem;\n font-size: 1.5rem;\n position: relative;\n top: 0.5rem;\n display: none;\n cursor: pointer; }\n\n.sidebar__level-2--item {\n padding: 0 20px 0 0;\n position: relative; }\n .sidebar__level-2--item.active {\n background-color: #555;\n color: #fff; }\n .sidebar__level-2--item.active .fa-star {\n color: #fff; }\n .sidebar__level-2--item.active:hover {\n background-color: #555; }\n .sidebar__level-2--item:hover {\n cursor: pointer; }\n .sidebar__level-2--item .fa.pull-right {\n position: relative;\n top: 2px; }\n .sidebar__level-2--item .fa-star {\n color: #666; }\n .sidebar__level-2--item a {\n display: block;\n width: 100%;\n padding: 0 15px 0 30px; }\n .sidebar__level-2--item a:hover, .sidebar__level-2--item a:focus {\n text-decoration: none; }\n\n.sidebar__level-1:hover, .sidebar__level-2:hover {\n background-color: rgba(0, 0, 0, 0.05); }\n\n.sidebar__level-1.active, .sidebar__level-2.active {\n background-color: rgba(0, 0, 0, 0.18); }\n\n.sidebar__fav {\n position: absolute;\n right: 19px;\n top: 3px; }\n\n.menu--bottom {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%; }\n .menu--bottom .sidebar__level-1 {\n display: block;\n padding: 1rem;\n cursor: pointer; }\n .menu--bottom .sidebar__level-1:hover {\n text-decoration: none; }\n"
+
+/***/ },
+/* 578 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(579));
+
+
+/***/ },
+/* 579 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var module_1 = __webpack_require__(580);
+ var SvgKeyboardComponent = (function () {
+ function SvgKeyboardComponent() {
+ this.keyClick = new core_1.EventEmitter();
+ this.keyHover = new core_1.EventEmitter();
+ this.modules = [];
+ this.svgAttributes = this.getKeyboardSvgAttributes();
+ }
+ SvgKeyboardComponent.prototype.ngOnInit = function () {
+ this.modules = this.getSvgModules();
+ };
+ SvgKeyboardComponent.prototype.onKeyClick = function (moduleId, keyId, keyTarget) {
+ this.keyClick.emit({
+ moduleId: moduleId,
+ keyId: keyId,
+ keyTarget: keyTarget
+ });
+ };
+ SvgKeyboardComponent.prototype.onKeyHover = function (keyId, event, over, moduleId) {
+ this.keyHover.emit({
+ moduleId: moduleId,
+ event: event,
+ over: over,
+ keyId: keyId
+ });
+ };
+ SvgKeyboardComponent.prototype.getKeyboardSvgAttributes = function () {
+ var svg = this.getBaseLayer();
+ return {
+ viewBox: svg.$.viewBox,
+ transform: svg.g[0].$.transform,
+ fill: svg.g[0].$.fill
+ };
+ };
+ SvgKeyboardComponent.prototype.getSvgModules = function () {
+ var modules = this.getBaseLayer().g[0].g.map(function (obj) { return new module_1.SvgModule(obj); });
+ return [modules[1], modules[0]]; // TODO: remove if the svg will be correct
+ };
+ SvgKeyboardComponent.prototype.getBaseLayer = function () {
+ return __webpack_require__(585).svg;
+ };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Array)
+ ], SvgKeyboardComponent.prototype, "moduleConfig", void 0);
+ __decorate([
+ core_1.Output(),
+ __metadata('design:type', Object)
+ ], SvgKeyboardComponent.prototype, "keyClick", void 0);
+ __decorate([
+ core_1.Output(),
+ __metadata('design:type', Object)
+ ], SvgKeyboardComponent.prototype, "keyHover", void 0);
+ SvgKeyboardComponent = __decorate([
+ core_1.Component({
+ selector: 'svg-keyboard',
+ template: __webpack_require__(586),
+ styles: [__webpack_require__(587)]
+ }),
+ __metadata('design:paramtypes', [])
+ ], SvgKeyboardComponent);
+ return SvgKeyboardComponent;
+ }());
+ exports.SvgKeyboardComponent = SvgKeyboardComponent;
+
+
+/***/ },
+/* 580 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(581));
+ __export(__webpack_require__(584));
+
+
+/***/ },
+/* 581 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var SvgModuleComponent = (function () {
+ function SvgModuleComponent() {
+ this.keyClick = new core_1.EventEmitter();
+ this.keyHover = new core_1.EventEmitter();
+ this.keyboardKeys = [];
+ }
+ SvgModuleComponent.prototype.onKeyClick = function (index, keyTarget) {
+ this.keyClick.emit({
+ index: index,
+ keyTarget: keyTarget
+ });
+ };
+ SvgModuleComponent.prototype.onKeyHover = function (index, event, over) {
+ this.keyHover.emit({
+ index: index,
+ event: event,
+ over: over
+ });
+ };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Array)
+ ], SvgModuleComponent.prototype, "coverages", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Array)
+ ], SvgModuleComponent.prototype, "keyboardKeys", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Array)
+ ], SvgModuleComponent.prototype, "keyActions", void 0);
+ __decorate([
+ core_1.Output(),
+ __metadata('design:type', Object)
+ ], SvgModuleComponent.prototype, "keyClick", void 0);
+ __decorate([
+ core_1.Output(),
+ __metadata('design:type', Object)
+ ], SvgModuleComponent.prototype, "keyHover", void 0);
+ SvgModuleComponent = __decorate([
+ core_1.Component({
+ selector: 'g[svg-module]',
+ template: __webpack_require__(582),
+ styles: [__webpack_require__(583)]
+ }),
+ __metadata('design:paramtypes', [])
+ ], SvgModuleComponent);
+ return SvgModuleComponent;
+ }());
+ exports.SvgModuleComponent = SvgModuleComponent;
+
+
+/***/ },
+/* 582 */
+/***/ function(module, exports) {
+
+ module.exports = " \r\n ";
+
+/***/ },
+/* 583 */
+/***/ function(module, exports) {
+
+ module.exports = ":host {\n position: relative; }\n"
+
+/***/ },
+/* 584 */
+/***/ function(module, exports) {
+
+ "use strict";
+ var SvgModule = (function () {
+ function SvgModule(obj) {
+ this.keyboardKeys = obj.rect.map(function (rect) { return rect.$; }).map(function (rect) {
+ rect.height = +rect.height;
+ rect.width = +rect.width;
+ return rect;
+ });
+ this.coverages = obj.path;
+ this.attributes = obj.$;
+ }
+ return SvgModule;
+ }());
+ exports.SvgModule = SvgModule;
+
+
+/***/ },
+/* 585 */
+/***/ function(module, exports) {
+
+ module.exports = {"svg":{"$":{"xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:cc":"http://creativecommons.org/ns#","xmlns:rdf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#","xmlns:svg":"http://www.w3.org/2000/svg","xmlns":"http://www.w3.org/2000/svg","xmlns:sodipodi":"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd","xmlns:inkscape":"http://www.inkscape.org/namespaces/inkscape","version":"1.1","width":"1024.3346","height":"471.36612","viewBox":"0 0 1024.3346 471.36612","style":"overflow:visible;","id":"SvgjsSvg1006","inkscape:version":"0.91 r","sodipodi:docname":"base-layer.svg"},"metadata":[{"$":{"id":"metadata230"},"rdf:RDF":[{"cc:Work":[{"$":{"rdf:about":""},"dc:format":["image/svg+xml"],"dc:type":[{"$":{"rdf:resource":"http://purl.org/dc/dcmitype/StillImage"}}]}]}]}],"defs":[{"$":{"id":"defs228"}}],"sodipodi:namedview":[{"$":{"pagecolor":"#ffffff","bordercolor":"#666666","borderopacity":"1","objecttolerance":"10","gridtolerance":"10","guidetolerance":"10","inkscape:pageopacity":"0","inkscape:pageshadow":"2","inkscape:window-width":"1920","inkscape:window-height":"1028","id":"namedview226","showgrid":"false","inkscape:zoom":"1.046533","inkscape:cx":"461.77814","inkscape:cy":"312.8806","inkscape:window-x":"0","inkscape:window-y":"25","inkscape:window-maximized":"1","inkscape:current-layer":"left-parts"}}],"text":[{"$":{"x":"495.03632","y":"20","style":"font-size:34px;fill:#000000;font-family:Sans;text-align:center;text-anchor:middle;display:none;","font-family":"Helvetica, Arial, sans-serif","id":"layer-text"},"tspan":[{"_":"\r\n Base layer\r\n ","$":{"x":"495.03632","dy":"20.8","id":"SvgjsTspan1235"}}]}],"g":[{"$":{"transform":"translate(0 -580.99607)","style":"stroke:none;","id":"root","fill":"#333333"},"g":[{"$":{"transform":"translate(221.57008 1101.7666)","id":"left-parts"},"path":[{"$":{"d":"m 272.81516,-456.8166 -110.96971,0 c -0.32924,0 -0.65827,-0.0468 -0.97472,-0.1386 -0.31645,-0.0918 -0.62027,-0.22866 -0.89995,-0.40551 -0.27968,-0.17684 -0.53514,-0.39367 -0.7565,-0.64244 -0.22135,-0.24877 -0.40854,-0.52944 -0.55411,-0.83133 -0.14558,-0.3019 -0.24947,-0.62497 -0.30744,-0.95668 -3.11169,-17.80554 -6.22337,-35.61107 -9.33505,-53.41661 -0.16174,-0.9255 -0.46824,-1.8252 -0.90498,-2.65546 -0.43675,-0.83027 -1.00365,-1.59085 -1.67347,-2.24448 -0.66982,-0.65363 -1.44238,-1.20007 -2.2801,-1.61231 -0.83772,-0.41224 -1.74031,-0.69012 -2.66354,-0.81983 -0.92322,-0.12971 -1.86673,-0.11121 -2.78423,0.0544 l -352.97851,63.7382 c -0.81059,0.14636 -1.60096,0.40708 -2.34074,0.77257 -0.73979,0.3655 -1.42881,0.83571 -2.04035,1.39272 -0.61154,0.55702 -1.14547,1.20071 -1.58116,1.90622 -0.43571,0.70551 -0.77307,1.47267 -0.99931,2.2718 -0.22626,0.79913 -0.34137,1.63006 -0.34137,2.4609 l 0,389.594539 c 0,0.936363 0.14626,1.872858 0.43247,2.764016 0.2862,0.891158 0.7123,1.736655 1.25787,2.494964 0.54557,0.75831 1.21044,1.429141 1.96201,1.979608 0.75157,0.550465 1.58955,0.980376 2.47279,1.269152 0.88324,0.288776 1.8114,0.436358 2.73944,0.436358 l 342.7307,-1.4e-5 c 1.77165,0 3.54314,-1.7716 3.54314,-3.5432 0,-12.931979 0,-22.981768 0,-34.5827 0,-1.7717 -1.77149,-3.545 -3.54314,-3.545 l -322.73675,0.0013 c -2.79101,0 -5.3291,-2.56086 -5.3291,-5.376898 l 0,-329.455425 c 0,-2.81604 2.53809,-5.3769 5.3291,-5.3769 l 463.75521,0 c 0.93041,0 1.77697,-0.85444 1.77697,-1.79353 0,-7.80504 0,-14.68214 0,-21.94355 0,-0.94218 -0.84656,-1.79632 -1.77697,-1.79632","id":"left-case"}}],"rect":[{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-194.89622","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-0"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-127.57339","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-1"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-60.250557","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-2"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"7.072278","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-3"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"74.395111","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-4"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"141.71794","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-5"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"209.04079","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-6"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-194.89622","y":"-360.50003","height":"63.779526","width":"95.669289","id":"key-7"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-95.683624","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-8"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-28.360792","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-9"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"38.962044","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-10"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"106.28487","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-11"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"173.60771","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-12"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-194.89622","y":"-293.17719","height":"63.779526","width":"111.61417","id":"key-13"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-79.419846","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-14"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-11.778116","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-15"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"55.863617","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-16"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"123.50535","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-17"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"191.14708","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-18"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-194.89622","y":"-225.85435","height":"63.779526","width":"143.50394","id":"key-19"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-47.14032","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-20"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"20.891174","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-21"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"88.922668","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-22"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"156.95416","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-23"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"224.98566","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-24"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-194.89622","y":"-158.53151","height":"63.779526","width":"79.724411","id":"key-25"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-111.98284","y":"-158.53151","height":"63.779526","width":"79.724411","id":"key-26"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-29.069458","y":"-158.53151","height":"63.779526","width":"79.724411","id":"key-27"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"53.843929","y":"-158.53151","height":"63.779526","width":"79.724411","id":"key-28"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"137.11165","y":"-158.53151","height":"63.779526","width":"131.10236","id":"key-29"}},{"$":{"rx":"3.4856062","ry":"3.5433071","x":"137.11165","y":"-91.071709","height":"41.667309","width":"131.10236","id":"key-30"}}],"text":[{"$":{"y":"-435.0346495","x":"-163.006457","font-size":"19","id":"SvgjsText1084","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"~","$":{"x":"-163.006457","dy":"30.400000000000002","id":"SvgjsTspan1085"}},{"_":"`","$":{"x":"-163.006457","dy":"30.400000000000002","id":"SvgjsTspan1086"}}]},{"$":{"y":"-435.0346495","x":"-95.683627","font-size":"19","id":"SvgjsText1087","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"!","$":{"x":"-95.683627","dy":"30.400000000000002","id":"SvgjsTspan1088"}},{"_":"1","$":{"x":"-95.683627","dy":"30.400000000000002","id":"SvgjsTspan1089"}}]},{"$":{"y":"-435.0346495","x":"-28.360794000000002","font-size":"19","id":"SvgjsText1090","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"@","$":{"x":"-28.360794000000002","dy":"30.400000000000002","id":"SvgjsTspan1091"}},{"_":"2","$":{"x":"-28.360794000000002","dy":"30.400000000000002","id":"SvgjsTspan1092"}}]},{"$":{"y":"-435.0346495","x":"38.962041","font-size":"19","id":"SvgjsText1093","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"#","$":{"x":"38.962041","dy":"30.400000000000002","id":"SvgjsTspan1094"}},{"_":"3","$":{"x":"38.962041","dy":"30.400000000000002","id":"SvgjsTspan1095"}}]},{"$":{"y":"-435.0346495","x":"106.284874","font-size":"19","id":"SvgjsText1096","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"$","$":{"x":"106.284874","dy":"30.400000000000002","id":"SvgjsTspan1097"}},{"_":"4","$":{"x":"106.284874","dy":"30.400000000000002","id":"SvgjsTspan1098"}}]},{"$":{"y":"-435.0346495","x":"173.607703","font-size":"19","id":"SvgjsText1099","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"%","$":{"x":"173.607703","dy":"30.400000000000002","id":"SvgjsTspan1100"}},{"_":"5","$":{"x":"173.607703","dy":"30.400000000000002","id":"SvgjsTspan1101"}}]},{"$":{"y":"-435.0346495","x":"240.93055299999997","font-size":"19","id":"SvgjsText1102","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"^","$":{"x":"240.93055299999997","dy":"30.400000000000002","id":"SvgjsTspan1103"}},{"_":"6","$":{"x":"240.93055299999997","dy":"30.400000000000002","id":"SvgjsTspan1104"}}]},{"$":{"y":"-352.50870449999996","x":"-147.0615755","font-size":"19","id":"SvgjsText1125","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Tab\r\n ","$":{"x":"-147.0615755","dy":"30.400000000000002","id":"SvgjsTspan1126"}}]},{"$":{"y":"-352.50870449999996","x":"-63.79386099999999","font-size":"19","id":"SvgjsText1127","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Q\r\n ","$":{"x":"-63.79386099999999","dy":"30.400000000000002","id":"SvgjsTspan1128"}}]},{"$":{"y":"-352.50870449999996","x":"3.5289709999999985","font-size":"19","id":"SvgjsText1129","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n W\r\n ","$":{"x":"3.5289709999999985","dy":"30.400000000000002","id":"SvgjsTspan1130"}}]},{"$":{"y":"-352.50870449999996","x":"70.851807","font-size":"19","id":"SvgjsText1131","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n E\r\n ","$":{"x":"70.851807","dy":"30.400000000000002","id":"SvgjsTspan1132"}}]},{"$":{"y":"-352.50870449999996","x":"138.174633","font-size":"19","id":"SvgjsText1133","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n R\r\n ","$":{"x":"138.174633","dy":"30.400000000000002","id":"SvgjsTspan1134"}}]},{"$":{"y":"-352.50870449999996","x":"205.49747299999999","font-size":"19","id":"SvgjsText1135","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n T\r\n ","$":{"x":"205.49747299999999","dy":"30.400000000000002","id":"SvgjsTspan1136"}}]},{"$":{"y":"-285.1858645","x":"-139.089135","font-size":"19","id":"SvgjsText1156","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Mouse\r\n ","$":{"x":"-139.089135","dy":"30.400000000000002","id":"SvgjsTspan1157"}}]},{"$":{"y":"-285.1858645","x":"-47.530083000000005","font-size":"19","id":"SvgjsText1158","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n A\r\n ","$":{"x":"-47.530083000000005","dy":"30.400000000000002","id":"SvgjsTspan1159"}}]},{"$":{"y":"-285.1858645","x":"20.111646999999998","font-size":"19","id":"SvgjsText1160","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n S\r\n ","$":{"x":"20.111646999999998","dy":"30.400000000000002","id":"SvgjsTspan1161"}}]},{"$":{"y":"-285.1858645","x":"87.75337999999999","font-size":"19","id":"SvgjsText1162","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n D\r\n ","$":{"x":"87.75337999999999","dy":"30.400000000000002","id":"SvgjsTspan1163"}}]},{"$":{"y":"-285.1858645","x":"155.395113","font-size":"19","id":"SvgjsText1164","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n F\r\n ","$":{"x":"155.395113","dy":"30.400000000000002","id":"SvgjsTspan1165"}}]},{"$":{"y":"-285.1858645","x":"223.03684299999998","font-size":"19","id":"SvgjsText1166","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n G\r\n ","$":{"x":"223.03684299999998","dy":"30.400000000000002","id":"SvgjsTspan1167"}}]},{"$":{"y":"-217.86302450000002","x":"-123.14425","font-size":"19","id":"SvgjsText1184","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Shift\r\n ","$":{"x":"-123.14425","dy":"30.400000000000002","id":"SvgjsTspan1185"}}]},{"$":{"y":"-217.86302450000002","x":"-15.250557000000004","font-size":"19","id":"SvgjsText1186","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Z\r\n ","$":{"x":"-15.250557000000004","dy":"30.400000000000002","id":"SvgjsTspan1187"}}]},{"$":{"y":"-217.86302450000002","x":"52.780936999999994","font-size":"19","id":"SvgjsText1188","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n X\r\n ","$":{"x":"52.780936999999994","dy":"30.400000000000002","id":"SvgjsTspan1189"}}]},{"$":{"y":"-217.86302450000002","x":"120.812431","font-size":"19","id":"SvgjsText1190","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n C\r\n ","$":{"x":"120.812431","dy":"30.400000000000002","id":"SvgjsTspan1191"}}]},{"$":{"y":"-217.86302450000002","x":"188.843923","font-size":"19","id":"SvgjsText1192","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n V\r\n ","$":{"x":"188.843923","dy":"30.400000000000002","id":"SvgjsTspan1193"}}]},{"$":{"y":"-217.86302450000002","x":"256.875423","font-size":"19","id":"SvgjsText1194","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n B\r\n ","$":{"x":"256.875423","dy":"30.400000000000002","id":"SvgjsTspan1195"}}]},{"$":{"y":"-150.5401845","x":"-155.0340145","font-size":"19","id":"SvgjsText1211","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Ctrl\r\n ","$":{"x":"-155.0340145","dy":"30.400000000000002","id":"SvgjsTspan1212"}}]},{"$":{"y":"-150.5401845","x":"-72.1206345","font-size":"19","id":"SvgjsText1213","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Super\r\n ","$":{"x":"-72.1206345","dy":"30.400000000000002","id":"SvgjsTspan1214"}}]},{"$":{"y":"-150.5401845","x":"10.7927475","font-size":"19","id":"SvgjsText1215","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Alt\r\n ","$":{"x":"10.7927475","dy":"30.400000000000002","id":"SvgjsTspan1216"}}]},{"$":{"y":"-150.5401845","x":"93.7061345","font-size":"19","id":"SvgjsText1217","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Fn\r\n ","$":{"x":"93.7061345","dy":"30.400000000000002","id":"SvgjsTspan1218"}}]},{"$":{"y":"-150.5401845","x":"202.66282999999999","font-size":"19","id":"SvgjsText1219","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Mod\r\n ","$":{"x":"202.66282999999999","dy":"30.400000000000002","id":"SvgjsTspan1220"}}]},{"$":{"y":"-94.136492","x":"202.66282999999999","font-size":"19","id":"SvgjsText1231","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Space\r\n ","$":{"x":"202.66282999999999","dy":"30.400000000000002","id":"SvgjsTspan1232"}}]}]},{"$":{"transform":"translate(44.404903 1101.7674)","id":"right-parts"},"path":[{"$":{"d":"m 951.05862,-431.2832 c 2.791,0 5.32908,2.56086 5.32908,5.3769 l 0,329.455425 c 0,2.816038 -2.53808,5.376898 -5.32908,5.376898 l -370.67909,-0.0013 c -1.77166,0 -3.54347,1.7733 -3.54347,3.545 0,12.895215 0,23.315027 0,34.58266 0,1.7716 1.77181,3.5432 3.54347,3.5432 l 390.67297,1.44e-4 c 0.92804,0 1.85621,-0.147582 2.73944,-0.436358 0.88324,-0.288776 1.72122,-0.718687 2.47277,-1.269152 0.75157,-0.550467 1.41644,-1.221298 1.96201,-1.979608 0.54557,-0.758309 0.97166,-1.603806 1.25787,-2.494964 0.2862,-0.891158 0.43247,-1.827653 0.43247,-2.764016 l 0,-389.434639 c 0,-0.83901 -0.11739,-1.67813 -0.34806,-2.4845 -0.23066,-0.80638 -0.57456,-1.57983 -1.01841,-2.28986 -0.44385,-0.71002 -0.98756,-1.35643 -1.60971,-1.91378 -0.62215,-0.55735 -1.3226,-1.0255 -2.07365,-1.38629 -0.75105,-0.36078 -1.55253,-0.61412 -2.37301,-0.75058 -130.52433,-21.7076 -270.93602,-45.05959 -384.94144,-64.01992 -0.91165,-0.15162 -1.8469,-0.15828 -2.76061,-0.0195 -0.91372,0.13871 -1.8056,0.42276 -2.63265,0.83829 -0.82706,0.41551 -1.58903,0.96236 -2.24949,1.61394 -0.66047,0.65158 -1.21924,1.40768 -1.64996,2.2319 -0.43072,0.82422 -0.73327,1.71631 -0.8936,2.63375 -3.12168,17.84567 -6.23258,35.69325 -9.35634,53.53854 -0.058,0.33171 -0.16187,0.65478 -0.30744,0.95668 -0.14556,0.30189 -0.33275,0.58256 -0.5541,0.83133 -0.22136,0.24877 -0.47683,0.4656 -0.7565,0.64244 -0.27967,0.17685 -0.5835,0.31372 -0.89995,0.40551 -0.31645,0.0919 -0.64548,0.1386 -0.97471,0.1386 l -109.19782,-2e-5 c -0.93043,-10e-6 -1.77697,0.85413 -1.77697,1.79631 10e-6,7.4108 -1e-5,15.64271 0,21.94355 0,0.93909 0.84654,1.79353 1.77697,1.79353 l 495.73901,0","id":"right-case"}}],"rect":[{"$":{"rx":"3.5433071","ry":"3.5433071","x":"453.52896","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-0"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"520.85181","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-1"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"588.17462","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-2"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"655.4975","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-3"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"722.82031","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-4"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"790.14313","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-5"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"857.466","y":"-427.82285","height":"63.779526","width":"95.669289","id":"key-6"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"418.09589","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-7"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"485.41873","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-8"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"552.74158","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-9"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"620.06439","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-10"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"687.38727","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-11"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"754.71008","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-12"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"822.0329","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-13"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"889.35571","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-14"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"435.67072","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-15"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"503.31244","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-16"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"570.95416","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-17"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"638.59589","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-18"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"706.23761","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-19"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"773.87939","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-20"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"841.52112","y":"-293.17719","height":"63.779526","width":"111.61417","id":"key-21"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"469.47385","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-22"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"537.50537","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-23"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"605.53687","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-24"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"673.56836","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-25"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"741.59985","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-26"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"809.63135","y":"-225.85435","height":"63.779526","width":"143.50394","id":"key-27"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"448.92267","y":"-158.53151","height":"63.779526","width":"124.37008","id":"key-28"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"576.83606","y":"-158.53151","height":"63.779526","width":"79.724411","id":"key-29"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"659.74945","y":"-158.53151","height":"63.779526","width":"79.724411","id":"key-30"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"742.66284","y":"-158.53151","height":"63.779526","width":"79.724411","id":"key-31"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"825.57623","y":"-158.53151","height":"63.779526","width":"127.55905","id":"key-32"}},{"$":{"rx":"3.493542","ry":"3.5433071","x":"448.92267","y":"-91.071663","height":"41.667309","width":"124.37009","id":"key-33"}}],"text":[{"$":{"y":"-435.0346495","x":"485.418723","font-size":"19","id":"SvgjsText1105","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"&","$":{"x":"485.418723","dy":"30.400000000000002","id":"SvgjsTspan1106"}},{"_":"7","$":{"x":"485.418723","dy":"30.400000000000002","id":"SvgjsTspan1107"}}]},{"$":{"y":"-435.0346495","x":"552.741573","font-size":"19","id":"SvgjsText1108","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"*","$":{"x":"552.741573","dy":"30.400000000000002","id":"SvgjsTspan1109"}},{"_":"8","$":{"x":"552.741573","dy":"30.400000000000002","id":"SvgjsTspan1110"}}]},{"$":{"y":"-435.0346495","x":"620.064383","font-size":"19","id":"SvgjsText1111","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"(","$":{"x":"620.064383","dy":"30.400000000000002","id":"SvgjsTspan1112"}},{"_":"9","$":{"x":"620.064383","dy":"30.400000000000002","id":"SvgjsTspan1113"}}]},{"$":{"y":"-435.0346495","x":"687.387263","font-size":"19","id":"SvgjsText1114","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":")","$":{"x":"687.387263","dy":"30.400000000000002","id":"SvgjsTspan1115"}},{"_":"0","$":{"x":"687.387263","dy":"30.400000000000002","id":"SvgjsTspan1116"}}]},{"$":{"y":"-435.0346495","x":"754.710073","font-size":"19","id":"SvgjsText1117","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"_","$":{"x":"754.710073","dy":"30.400000000000002","id":"SvgjsTspan1118"}},{"_":"-","$":{"x":"754.710073","dy":"30.400000000000002","id":"SvgjsTspan1119"}}]},{"$":{"y":"-435.0346495","x":"822.0328930000001","font-size":"19","id":"SvgjsText1120","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"+","$":{"x":"822.0328930000001","dy":"30.400000000000002","id":"SvgjsTspan1121"}},{"_":"=","$":{"x":"822.0328930000001","dy":"30.400000000000002","id":"SvgjsTspan1122"}}]},{"$":{"y":"-419.8315245","x":"905.3006445","font-size":"19","id":"SvgjsText1123","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n ←\r\n ","$":{"x":"905.3006445","dy":"30.400000000000002","id":"SvgjsTspan1124"}}]},{"$":{"y":"-352.50870449999996","x":"449.985653","font-size":"19","id":"SvgjsText1137","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Y\r\n ","$":{"x":"449.985653","dy":"30.400000000000002","id":"SvgjsTspan1138"}}]},{"$":{"y":"-352.50870449999996","x":"517.308493","font-size":"19","id":"SvgjsText1139","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n U\r\n ","$":{"x":"517.308493","dy":"30.400000000000002","id":"SvgjsTspan1140"}}]},{"$":{"y":"-352.50870449999996","x":"584.631343","font-size":"19","id":"SvgjsText1141","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n I\r\n ","$":{"x":"584.631343","dy":"30.400000000000002","id":"SvgjsTspan1142"}}]},{"$":{"y":"-352.50870449999996","x":"651.954153","font-size":"19","id":"SvgjsText1143","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n O\r\n ","$":{"x":"651.954153","dy":"30.400000000000002","id":"SvgjsTspan1144"}}]},{"$":{"y":"-352.50870449999996","x":"719.277033","font-size":"19","id":"SvgjsText1145","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n P\r\n ","$":{"x":"719.277033","dy":"30.400000000000002","id":"SvgjsTspan1146"}}]},{"$":{"y":"-367.71182949999996","x":"786.599843","font-size":"19","id":"SvgjsText1147","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"{","$":{"x":"786.599843","dy":"30.400000000000002","id":"SvgjsTspan1148"}},{"_":"[","$":{"x":"786.599843","dy":"30.400000000000002","id":"SvgjsTspan1149"}}]},{"$":{"y":"-367.71182949999996","x":"853.9226630000001","font-size":"19","id":"SvgjsText1150","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"}","$":{"x":"853.9226630000001","dy":"30.400000000000002","id":"SvgjsTspan1151"}},{"_":"]","$":{"x":"853.9226630000001","dy":"30.400000000000002","id":"SvgjsTspan1152"}}]},{"$":{"y":"-367.71182949999996","x":"921.2454730000001","font-size":"19","id":"SvgjsText1153","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"|","$":{"x":"921.2454730000001","dy":"30.400000000000002","id":"SvgjsTspan1154"}},{"_":"\\","$":{"x":"921.2454730000001","dy":"30.400000000000002","id":"SvgjsTspan1155"}}]},{"$":{"y":"-285.1858645","x":"467.56048300000003","font-size":"19","id":"SvgjsText1168","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n H\r\n ","$":{"x":"467.56048300000003","dy":"30.400000000000002","id":"SvgjsTspan1169"}}]},{"$":{"y":"-285.1858645","x":"535.2022029999999","font-size":"19","id":"SvgjsText1170","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n J\r\n ","$":{"x":"535.2022029999999","dy":"30.400000000000002","id":"SvgjsTspan1171"}}]},{"$":{"y":"-285.1858645","x":"602.843923","font-size":"19","id":"SvgjsText1172","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n K\r\n ","$":{"x":"602.843923","dy":"30.400000000000002","id":"SvgjsTspan1173"}}]},{"$":{"y":"-285.1858645","x":"670.4856530000001","font-size":"19","id":"SvgjsText1174","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n L\r\n ","$":{"x":"670.4856530000001","dy":"30.400000000000002","id":"SvgjsTspan1175"}}]},{"$":{"y":"-300.3889895","x":"738.127373","font-size":"19","id":"SvgjsText1176","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":":","$":{"x":"738.127373","dy":"30.400000000000002","id":"SvgjsTspan1177"}},{"_":";","$":{"x":"738.127373","dy":"30.400000000000002","id":"SvgjsTspan1178"}}]},{"$":{"y":"-300.3889895","x":"805.769153","font-size":"19","id":"SvgjsText1179","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\"","$":{"x":"805.769153","dy":"30.400000000000002","id":"SvgjsTspan1180"}},{"_":"'","$":{"x":"805.769153","dy":"30.400000000000002","id":"SvgjsTspan1181"}}]},{"$":{"y":"-285.1858645","x":"897.328205","font-size":"19","id":"SvgjsText1182","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Enter\r\n ","$":{"x":"897.328205","dy":"30.400000000000002","id":"SvgjsTspan1183"}}]},{"$":{"y":"-217.86302450000002","x":"501.36361300000004","font-size":"19","id":"SvgjsText1196","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n N\r\n ","$":{"x":"501.36361300000004","dy":"30.400000000000002","id":"SvgjsTspan1197"}}]},{"$":{"y":"-217.86302450000002","x":"569.395133","font-size":"19","id":"SvgjsText1198","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n M\r\n ","$":{"x":"569.395133","dy":"30.400000000000002","id":"SvgjsTspan1199"}}]},{"$":{"y":"-233.06614950000002","x":"637.426633","font-size":"19","id":"SvgjsText1200","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"<","$":{"x":"637.426633","dy":"30.400000000000002","id":"SvgjsTspan1201"}},{"_":",","$":{"x":"637.426633","dy":"30.400000000000002","id":"SvgjsTspan1202"}}]},{"$":{"y":"-233.06614950000002","x":"705.458123","font-size":"19","id":"SvgjsText1203","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":">","$":{"x":"705.458123","dy":"30.400000000000002","id":"SvgjsTspan1204"}},{"_":".","$":{"x":"705.458123","dy":"30.400000000000002","id":"SvgjsTspan1205"}}]},{"$":{"y":"-233.06614950000002","x":"773.489613","font-size":"19","id":"SvgjsText1206","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"?","$":{"x":"773.489613","dy":"30.400000000000002","id":"SvgjsTspan1207"}},{"_":"/","$":{"x":"773.489613","dy":"30.400000000000002","id":"SvgjsTspan1208"}}]},{"$":{"y":"-217.86302450000002","x":"881.38332","font-size":"19","id":"SvgjsText1209","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Shift\r\n ","$":{"x":"881.38332","dy":"30.400000000000002","id":"SvgjsTspan1210"}}]},{"$":{"y":"-150.5401845","x":"511.10771","font-size":"19","id":"SvgjsText1221","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Space\r\n ","$":{"x":"511.10771","dy":"30.400000000000002","id":"SvgjsTspan1222"}}]},{"$":{"y":"-150.5401845","x":"616.6982654999999","font-size":"19","id":"SvgjsText1223","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Fn\r\n ","$":{"x":"616.6982654999999","dy":"30.400000000000002","id":"SvgjsTspan1224"}}]},{"$":{"y":"-150.5401845","x":"699.6116555","font-size":"19","id":"SvgjsText1225","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Alt\r\n ","$":{"x":"699.6116555","dy":"30.400000000000002","id":"SvgjsTspan1226"}}]},{"$":{"y":"-150.5401845","x":"782.5250454999999","font-size":"19","id":"SvgjsText1227","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Super\r\n ","$":{"x":"782.5250454999999","dy":"30.400000000000002","id":"SvgjsTspan1228"}}]},{"$":{"y":"-150.5401845","x":"889.355755","font-size":"19","id":"SvgjsText1229","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Ctrl\r\n ","$":{"x":"889.355755","dy":"30.400000000000002","id":"SvgjsTspan1230"}}]},{"$":{"y":"-94.136446","x":"511.107715","font-size":"19","id":"SvgjsText1233","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Mod\r\n ","$":{"x":"511.107715","dy":"30.400000000000002","id":"SvgjsTspan1234"}}]}]}]}]}}
+
+/***/ },
+/* 586 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n \r\n \r\n \r\n ";
+
+/***/ },
+/* 587 */
+/***/ function(module, exports) {
+
+ module.exports = ":host {\n display: flex;\n width: 100%;\n height: 100%;\n position: relative; }\n"
+
+/***/ },
+/* 588 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var svg_icon_text_key_1 = __webpack_require__(589);
+ exports.SvgIconTextKeyComponent = svg_icon_text_key_1.SvgIconTextKeyComponent;
+ var svg_keyboard_key_1 = __webpack_require__(592);
+ exports.SvgKeyboardKeyComponent = svg_keyboard_key_1.SvgKeyboardKeyComponent;
+ var svg_keystroke_key_1 = __webpack_require__(596);
+ exports.SvgKeystrokeKeyComponent = svg_keystroke_key_1.SvgKeystrokeKeyComponent;
+ var svg_mouse_key_1 = __webpack_require__(600);
+ exports.SvgMouseKeyComponent = svg_mouse_key_1.SvgMouseKeyComponent;
+ var svg_mouse_click_key_1 = __webpack_require__(603);
+ exports.SvgMouseClickKeyComponent = svg_mouse_click_key_1.SvgMouseClickKeyComponent;
+ var svg_mouse_move_key_1 = __webpack_require__(606);
+ exports.SvgMouseMoveKeyComponent = svg_mouse_move_key_1.SvgMouseMoveKeyComponent;
+ var svg_mouse_speed_key_1 = __webpack_require__(609);
+ exports.SvgMouseSpeedKeyComponent = svg_mouse_speed_key_1.SvgMouseSpeedKeyComponent;
+ var svg_mouse_scroll_key_1 = __webpack_require__(612);
+ exports.SvgMouseScrollKeyComponent = svg_mouse_scroll_key_1.SvgMouseScrollKeyComponent;
+ var svg_one_line_text_key_1 = __webpack_require__(615);
+ exports.SvgOneLineTextKeyComponent = svg_one_line_text_key_1.SvgOneLineTextKeyComponent;
+ var svg_single_icon_key_1 = __webpack_require__(618);
+ exports.SvgSingleIconKeyComponent = svg_single_icon_key_1.SvgSingleIconKeyComponent;
+ var svg_switch_keymap_key_1 = __webpack_require__(621);
+ exports.SvgSwitchKeymapKeyComponent = svg_switch_keymap_key_1.SvgSwitchKeymapKeyComponent;
+ var svg_text_icon_key_1 = __webpack_require__(624);
+ exports.SvgTextIconKeyComponent = svg_text_icon_key_1.SvgTextIconKeyComponent;
+ var svg_two_line_text_key_1 = __webpack_require__(627);
+ exports.SvgTwoLineTextKeyComponent = svg_two_line_text_key_1.SvgTwoLineTextKeyComponent;
+
+
+/***/ },
+/* 589 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(590));
+
+
+/***/ },
+/* 590 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var SvgIconTextKeyComponent = (function () {
+ function SvgIconTextKeyComponent() {
+ }
+ SvgIconTextKeyComponent.prototype.ngOnInit = function () {
+ this.useWidth = this.width / 3;
+ this.useHeight = this.height / 3;
+ this.useX = (this.width > 2 * this.height) ? 0 : this.width / 3;
+ this.useY = (this.width > 2 * this.height) ? this.height / 3 : this.height / 10;
+ this.textY = (this.width > 2 * this.height) ? this.height / 2 : this.height * 0.6;
+ this.spanX = (this.width > 2 * this.height) ? this.width * 0.6 : this.width / 2;
+ };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Number)
+ ], SvgIconTextKeyComponent.prototype, "width", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Number)
+ ], SvgIconTextKeyComponent.prototype, "height", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', String)
+ ], SvgIconTextKeyComponent.prototype, "icon", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', String)
+ ], SvgIconTextKeyComponent.prototype, "text", void 0);
+ SvgIconTextKeyComponent = __decorate([
+ core_1.Component({
+ selector: 'g[svg-icon-text-key]',
+ template: __webpack_require__(591)
+ }),
+ __metadata('design:paramtypes', [])
+ ], SvgIconTextKeyComponent);
+ return SvgIconTextKeyComponent;
+ }());
+ exports.SvgIconTextKeyComponent = SvgIconTextKeyComponent;
+
+
+/***/ },
+/* 591 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n \r\n\r\n {{ text }} \r\n ";
+
+/***/ },
+/* 592 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(593));
+
+
+/***/ },
+/* 593 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var store_1 = __webpack_require__(353);
+ var key_action_1 = __webpack_require__(438);
+ var KeyModifiers_1 = __webpack_require__(497);
+ var mapper_service_1 = __webpack_require__(498);
+ var macro_1 = __webpack_require__(469);
+ var LabelTypes;
+ (function (LabelTypes) {
+ LabelTypes[LabelTypes["KeystrokeKey"] = 0] = "KeystrokeKey";
+ LabelTypes[LabelTypes["MouseKey"] = 1] = "MouseKey";
+ LabelTypes[LabelTypes["OneLineText"] = 2] = "OneLineText";
+ LabelTypes[LabelTypes["TwoLineText"] = 3] = "TwoLineText";
+ LabelTypes[LabelTypes["TextIcon"] = 4] = "TextIcon";
+ LabelTypes[LabelTypes["SingleIcon"] = 5] = "SingleIcon";
+ LabelTypes[LabelTypes["SwitchKeymap"] = 6] = "SwitchKeymap";
+ LabelTypes[LabelTypes["IconText"] = 7] = "IconText";
+ })(LabelTypes || (LabelTypes = {}));
+ var SvgKeyboardKeyComponent = (function () {
+ function SvgKeyboardKeyComponent(mapper, store, element) {
+ var _this = this;
+ this.mapper = mapper;
+ this.store = store;
+ this.element = element;
+ this.keyClick = new core_1.EventEmitter();
+ this.enumLabelTypes = LabelTypes;
+ this.animation = 'inactive';
+ this.subscription = store.let(macro_1.getMacroEntities())
+ .subscribe(function (macros) { return _this.macros = macros; });
+ }
+ SvgKeyboardKeyComponent.prototype.onClick = function () {
+ this.keyClick.emit(this.element.nativeElement);
+ };
+ SvgKeyboardKeyComponent.prototype.ngOnInit = function () {
+ this.setLabels();
+ };
+ SvgKeyboardKeyComponent.prototype.ngOnChanges = function (changes) {
+ /* tslint:disable:no-string-literal */
+ if (changes['keyAction']) {
+ this.setLabels();
+ this.animation = 'active';
+ }
+ /* tslint:enable:no-string-literal */
+ };
+ SvgKeyboardKeyComponent.prototype.ngOnDestroy = function () {
+ this.subscription.unsubscribe();
+ };
+ SvgKeyboardKeyComponent.prototype.animationDone = function () {
+ this.animation = 'inactive';
+ };
+ SvgKeyboardKeyComponent.prototype.setLabels = function () {
+ if (!this.keyAction) {
+ this.labelSource = undefined;
+ this.labelType = LabelTypes.OneLineText;
+ return;
+ }
+ this.labelType = LabelTypes.OneLineText;
+ if (this.keyAction instanceof key_action_1.KeystrokeAction) {
+ var keyAction = this.keyAction;
+ var newLabelSource = void 0;
+ if (!keyAction.hasActiveModifier() && keyAction.hasScancode()) {
+ var scancode = keyAction.scancode;
+ newLabelSource = this.mapper.scanCodeToText(scancode);
+ if (this.mapper.hasScancodeIcon(scancode)) {
+ this.labelSource = this.mapper.scanCodeToSvgImagePath(scancode);
+ this.labelType = LabelTypes.SingleIcon;
+ }
+ else if (newLabelSource !== undefined) {
+ if (newLabelSource.length === 1) {
+ this.labelSource = newLabelSource[0];
+ this.labelType = LabelTypes.OneLineText;
+ }
+ else {
+ this.labelSource = newLabelSource;
+ this.labelType = LabelTypes.TwoLineText;
+ }
+ }
+ }
+ else if (keyAction.hasOnlyOneActiveModifier() && !keyAction.hasScancode()) {
+ newLabelSource = [];
+ switch (keyAction.modifierMask) {
+ case KeyModifiers_1.KeyModifiers.leftCtrl:
+ case KeyModifiers_1.KeyModifiers.rightCtrl:
+ newLabelSource.push('Ctrl');
+ break;
+ case KeyModifiers_1.KeyModifiers.leftShift:
+ case KeyModifiers_1.KeyModifiers.rightShift:
+ newLabelSource.push('Shift');
+ break;
+ case KeyModifiers_1.KeyModifiers.leftAlt:
+ case KeyModifiers_1.KeyModifiers.rightAlt:
+ newLabelSource.push('Alt');
+ break;
+ case KeyModifiers_1.KeyModifiers.leftGui:
+ case KeyModifiers_1.KeyModifiers.rightGui:
+ newLabelSource.push('Super');
+ break;
+ default:
+ newLabelSource.push('Undefined');
+ break;
+ }
+ this.labelSource = newLabelSource;
+ }
+ else {
+ this.labelType = LabelTypes.KeystrokeKey;
+ this.labelSource = this.keyAction;
+ }
+ }
+ else if (this.keyAction instanceof key_action_1.SwitchLayerAction) {
+ var keyAction = this.keyAction;
+ var newLabelSource = void 0;
+ switch (keyAction.layer) {
+ case key_action_1.LayerName.mod:
+ newLabelSource = 'Mod';
+ break;
+ case key_action_1.LayerName.fn:
+ newLabelSource = 'Fn';
+ break;
+ case key_action_1.LayerName.mouse:
+ newLabelSource = 'Mouse';
+ break;
+ default:
+ break;
+ }
+ if (keyAction.isLayerToggleable) {
+ this.labelType = LabelTypes.TextIcon;
+ this.labelSource = {
+ text: newLabelSource,
+ icon: this.mapper.getIcon('toggle')
+ };
+ }
+ else {
+ this.labelType = LabelTypes.OneLineText;
+ this.labelSource = newLabelSource;
+ }
+ }
+ else if (this.keyAction instanceof key_action_1.SwitchKeymapAction) {
+ var keyAction = this.keyAction;
+ this.labelType = LabelTypes.SwitchKeymap;
+ this.labelSource = keyAction.keymapAbbreviation;
+ }
+ else if (this.keyAction instanceof key_action_1.PlayMacroAction) {
+ var keyAction_1 = this.keyAction;
+ var macro = this.macros.find(function (macro) { return macro.id === keyAction_1.macroId; });
+ this.labelType = LabelTypes.IconText;
+ this.labelSource = {
+ icon: this.mapper.getIcon('macro'),
+ text: macro.name
+ };
+ }
+ else if (this.keyAction instanceof key_action_1.MouseAction) {
+ this.labelType = LabelTypes.MouseKey;
+ this.labelSource = this.keyAction;
+ }
+ else {
+ this.labelSource = undefined;
+ }
+ };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', String)
+ ], SvgKeyboardKeyComponent.prototype, "id", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', String)
+ ], SvgKeyboardKeyComponent.prototype, "rx", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', String)
+ ], SvgKeyboardKeyComponent.prototype, "ry", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Number)
+ ], SvgKeyboardKeyComponent.prototype, "height", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Number)
+ ], SvgKeyboardKeyComponent.prototype, "width", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', key_action_1.KeyAction)
+ ], SvgKeyboardKeyComponent.prototype, "keyAction", void 0);
+ __decorate([
+ core_1.Output(),
+ __metadata('design:type', Object)
+ ], SvgKeyboardKeyComponent.prototype, "keyClick", void 0);
+ __decorate([
+ core_1.HostListener('click'),
+ __metadata('design:type', Function),
+ __metadata('design:paramtypes', []),
+ __metadata('design:returntype', void 0)
+ ], SvgKeyboardKeyComponent.prototype, "onClick", null);
+ SvgKeyboardKeyComponent = __decorate([
+ core_1.Component({
+ animations: [
+ core_1.trigger('change', [
+ core_1.transition('inactive => active', [
+ core_1.style({ fill: '#fff' }),
+ core_1.group([
+ core_1.animate('1s ease-out', core_1.style({
+ fill: '#333'
+ }))
+ ])
+ ])
+ ])
+ ],
+ selector: 'g[svg-keyboard-key]',
+ template: __webpack_require__(594),
+ styles: [__webpack_require__(595)]
+ }),
+ __metadata('design:paramtypes', [mapper_service_1.MapperService, store_1.Store, core_1.ElementRef])
+ ], SvgKeyboardKeyComponent);
+ return SvgKeyboardKeyComponent;
+ }());
+ exports.SvgKeyboardKeyComponent = SvgKeyboardKeyComponent;
+
+
+/***/ },
+/* 594 */
+/***/ function(module, exports) {
+
+ module.exports = " \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ";
+
+/***/ },
+/* 595 */
+/***/ function(module, exports) {
+
+ module.exports = ":host {\n cursor: pointer; }\n :host /deep/ text {\n dominant-baseline: central; }\n :host:hover {\n fill: #494949; }\n"
+
+/***/ },
+/* 596 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(597));
+
+
+/***/ },
+/* 597 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var key_action_1 = __webpack_require__(438);
+ var KeyModifiers_1 = __webpack_require__(497);
+ var mapper_service_1 = __webpack_require__(498);
+ var SvgAttributes = (function () {
+ function SvgAttributes() {
+ this.width = 0;
+ this.height = 0;
+ this.x = 0;
+ this.y = 0;
+ this.disabled = true;
+ }
+ return SvgAttributes;
+ }());
+ var Modifiers;
+ (function (Modifiers) {
+ Modifiers[Modifiers["Shift"] = 0] = "Shift";
+ Modifiers[Modifiers["Control"] = 1] = "Control";
+ Modifiers[Modifiers["Alt"] = 2] = "Alt";
+ Modifiers[Modifiers["Command"] = 3] = "Command";
+ })(Modifiers || (Modifiers = {}));
+ var SvgKeystrokeKeyComponent = (function () {
+ function SvgKeystrokeKeyComponent(mapper) {
+ this.mapper = mapper;
+ this.modifierIconNames = {};
+ this.textContainer = new SvgAttributes();
+ this.modifierContainer = new SvgAttributes();
+ this.shift = new SvgAttributes();
+ this.control = new SvgAttributes();
+ this.option = new SvgAttributes();
+ this.command = new SvgAttributes();
+ }
+ SvgKeystrokeKeyComponent.prototype.ngOnInit = function () {
+ this.viewBox = [0, 0, this.width, this.height].join(' ');
+ this.modifierIconNames.shift = this.mapper.getIcon('shift');
+ this.modifierIconNames.option = this.mapper.getIcon('option');
+ this.modifierIconNames.command = this.mapper.getIcon('command');
+ var bottomSideMode = this.width < this.height * 1.8;
+ var heightWidthRatio = this.height / this.width;
+ if (bottomSideMode) {
+ var maxIconWidth = this.width / 4;
+ var maxIconHeight = this.height;
+ var iconScalingFactor = 0.8;
+ var iconWidth = iconScalingFactor * heightWidthRatio * maxIconWidth;
+ var iconHeight = iconScalingFactor * maxIconHeight;
+ this.modifierContainer.width = this.width;
+ this.modifierContainer.height = this.height / 5;
+ this.modifierContainer.y = this.height - this.modifierContainer.height;
+ this.shift.width = iconWidth;
+ this.shift.height = iconHeight;
+ this.shift.x = (maxIconWidth - iconWidth) / 2;
+ this.shift.y = (maxIconHeight - iconHeight) / 2;
+ this.control.width = iconWidth;
+ this.control.height = iconHeight;
+ this.control.x = this.shift.x + maxIconWidth;
+ this.control.y = this.shift.y;
+ this.option.width = iconWidth;
+ this.option.height = iconHeight;
+ this.option.x = this.control.x + maxIconWidth;
+ this.option.y = this.shift.y;
+ this.command.width = iconWidth;
+ this.command.height = iconHeight;
+ this.command.x = this.option.x + maxIconWidth;
+ this.command.y = this.shift.y;
+ this.textContainer.y = -this.modifierContainer.height / 2;
+ }
+ else {
+ this.modifierContainer.width = this.width / 4;
+ this.modifierContainer.height = this.height;
+ this.modifierContainer.x = this.width - this.modifierContainer.width;
+ var length_1 = Math.min(this.modifierContainer.width / 2, this.modifierContainer.height / 2);
+ var iconScalingFactor = 0.8;
+ var iconWidth = iconScalingFactor * this.width * (length_1 / this.modifierContainer.width);
+ var iconHeight = iconScalingFactor * this.height * (length_1 / this.modifierContainer.height);
+ this.shift.width = iconWidth;
+ this.shift.height = iconHeight;
+ this.shift.x = this.width / 4 - iconWidth / 2;
+ this.shift.y = this.height / 4 - iconHeight / 2;
+ this.control.width = iconWidth;
+ this.control.height = iconHeight;
+ this.control.x = this.shift.x + this.width / 2;
+ this.control.y = this.shift.y;
+ this.option.width = iconWidth;
+ this.option.height = iconHeight;
+ this.option.x = this.shift.x;
+ this.option.y = this.shift.y + this.height / 2;
+ this.command.width = iconWidth;
+ this.command.height = iconHeight;
+ this.command.x = this.option.x + this.width / 2;
+ this.command.y = this.option.y;
+ this.textContainer.x = -this.modifierContainer.width / 2;
+ }
+ this.textContainer.width = this.width;
+ this.textContainer.height = this.height;
+ };
+ SvgKeystrokeKeyComponent.prototype.ngOnChanges = function () {
+ var newLabelSource;
+ if (this.keystrokeAction.hasScancode()) {
+ var scancode = this.keystrokeAction.scancode;
+ newLabelSource = this.mapper.scanCodeToText(scancode);
+ if (newLabelSource) {
+ if (newLabelSource.length === 1) {
+ this.labelSource = newLabelSource[0];
+ this.labelType = 'one-line';
+ }
+ else {
+ this.labelSource = newLabelSource;
+ this.labelType = 'two-line';
+ }
+ }
+ else {
+ this.labelSource = this.mapper.scanCodeToSvgImagePath(scancode);
+ this.labelType = 'icon';
+ }
+ }
+ else {
+ this.labelType = 'empty';
+ }
+ this.shift.disabled = !this.keystrokeAction.isActive(KeyModifiers_1.KeyModifiers.leftShift | KeyModifiers_1.KeyModifiers.rightShift);
+ this.control.disabled = !this.keystrokeAction.isActive(KeyModifiers_1.KeyModifiers.leftCtrl | KeyModifiers_1.KeyModifiers.rightCtrl);
+ this.option.disabled = !this.keystrokeAction.isActive(KeyModifiers_1.KeyModifiers.leftAlt | KeyModifiers_1.KeyModifiers.rightAlt);
+ this.command.disabled = !this.keystrokeAction.isActive(KeyModifiers_1.KeyModifiers.leftGui | KeyModifiers_1.KeyModifiers.rightGui);
+ };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Number)
+ ], SvgKeystrokeKeyComponent.prototype, "height", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Number)
+ ], SvgKeystrokeKeyComponent.prototype, "width", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', key_action_1.KeystrokeAction)
+ ], SvgKeystrokeKeyComponent.prototype, "keystrokeAction", void 0);
+ SvgKeystrokeKeyComponent = __decorate([
+ core_1.Component({
+ selector: 'g[svg-keystroke-key]',
+ template: __webpack_require__(598),
+ styles: [__webpack_require__(599)]
+ }),
+ __metadata('design:paramtypes', [mapper_service_1.MapperService])
+ ], SvgKeystrokeKeyComponent);
+ return SvgKeystrokeKeyComponent;
+ }());
+ exports.SvgKeystrokeKeyComponent = SvgKeystrokeKeyComponent;
+
+
+/***/ },
+/* 598 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n C \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ";
+
+/***/ },
+/* 599 */
+/***/ function(module, exports) {
+
+ module.exports = ".disabled {\n fill: gray; }\n\ntext {\n font-size: 100px; }\n"
+
+/***/ },
+/* 600 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(601));
+
+
+/***/ },
+/* 601 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var key_action_1 = __webpack_require__(438);
+ var SvgMouseKeyComponent = (function () {
+ function SvgMouseKeyComponent() {
+ }
+ SvgMouseKeyComponent.prototype.ngOnChanges = function () {
+ switch (this.mouseAction.mouseAction) {
+ case key_action_1.MouseActionParam.leftClick:
+ this.type = 'click';
+ this.param = 'Left';
+ break;
+ case key_action_1.MouseActionParam.rightClick:
+ this.type = 'click';
+ this.param = 'Right';
+ break;
+ case key_action_1.MouseActionParam.middleClick:
+ this.type = 'click';
+ this.param = 'Middle';
+ break;
+ case key_action_1.MouseActionParam.scrollDown:
+ this.type = 'scroll';
+ this.param = 'down';
+ break;
+ case key_action_1.MouseActionParam.scrollLeft:
+ this.type = 'scroll';
+ this.param = 'left';
+ break;
+ case key_action_1.MouseActionParam.scrollRight:
+ this.type = 'scroll';
+ this.param = 'right';
+ break;
+ case key_action_1.MouseActionParam.scrollUp:
+ this.type = 'scroll';
+ this.param = 'up';
+ break;
+ case key_action_1.MouseActionParam.moveDown:
+ this.type = 'move';
+ this.param = 'down';
+ break;
+ case key_action_1.MouseActionParam.moveLeft:
+ this.type = 'move';
+ this.param = 'left';
+ break;
+ case key_action_1.MouseActionParam.moveRight:
+ this.type = 'move';
+ this.param = 'right';
+ break;
+ case key_action_1.MouseActionParam.moveUp:
+ this.type = 'move';
+ this.param = 'up';
+ break;
+ case key_action_1.MouseActionParam.accelerate:
+ this.type = 'speed';
+ this.param = true;
+ break;
+ case key_action_1.MouseActionParam.decelerate:
+ this.type = 'speed';
+ this.param = false;
+ break;
+ default:
+ break;
+ }
+ };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', key_action_1.MouseAction)
+ ], SvgMouseKeyComponent.prototype, "mouseAction", void 0);
+ SvgMouseKeyComponent = __decorate([
+ core_1.Component({
+ selector: 'g[svg-mouse-key]',
+ template: __webpack_require__(602)
+ }),
+ __metadata('design:paramtypes', [])
+ ], SvgMouseKeyComponent);
+ return SvgMouseKeyComponent;
+ }());
+ exports.SvgMouseKeyComponent = SvgMouseKeyComponent;
+
+
+/***/ },
+/* 602 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n \r\n \r\n \r\n \r\n ";
+
+/***/ },
+/* 603 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(604));
+
+
+/***/ },
+/* 604 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var mapper_service_1 = __webpack_require__(498);
+ var SvgMouseClickKeyComponent = (function () {
+ function SvgMouseClickKeyComponent(mapper) {
+ this.mapper = mapper;
+ this.icon = this.mapper.getIcon('mouse');
+ }
+ SvgMouseClickKeyComponent.prototype.ngOnInit = function () { };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', String)
+ ], SvgMouseClickKeyComponent.prototype, "button", void 0);
+ SvgMouseClickKeyComponent = __decorate([
+ core_1.Component({
+ selector: 'g[svg-mouse-click-key]',
+ template: __webpack_require__(605)
+ }),
+ __metadata('design:paramtypes', [mapper_service_1.MapperService])
+ ], SvgMouseClickKeyComponent);
+ return SvgMouseClickKeyComponent;
+ }());
+ exports.SvgMouseClickKeyComponent = SvgMouseClickKeyComponent;
+
+
+/***/ },
+/* 605 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n \r\n\r\n Click \r\n \r\n\r\n {{ button }} \r\n ";
+
+/***/ },
+/* 606 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(607));
+
+
+/***/ },
+/* 607 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var mapper_service_1 = __webpack_require__(498);
+ var SvgMouseMoveKeyComponent = (function () {
+ function SvgMouseMoveKeyComponent(mapper) {
+ this.mapper = mapper;
+ }
+ SvgMouseMoveKeyComponent.prototype.ngOnChanges = function () {
+ this.mouseIcon = this.mapper.getIcon('mouse');
+ this.directionIcon = this.mapper.getIcon(this.direction + "-arrow");
+ };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', String)
+ ], SvgMouseMoveKeyComponent.prototype, "direction", void 0);
+ SvgMouseMoveKeyComponent = __decorate([
+ core_1.Component({
+ selector: 'g[svg-mouse-move-key]',
+ template: __webpack_require__(608)
+ }),
+ __metadata('design:paramtypes', [mapper_service_1.MapperService])
+ ], SvgMouseMoveKeyComponent);
+ return SvgMouseMoveKeyComponent;
+ }());
+ exports.SvgMouseMoveKeyComponent = SvgMouseMoveKeyComponent;
+
+
+/***/ },
+/* 608 */
+/***/ function(module, exports) {
+
+ module.exports = " \r\n\r\n Move \r\n \r\n ";
+
+/***/ },
+/* 609 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(610));
+
+
+/***/ },
+/* 610 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var mapper_service_1 = __webpack_require__(498);
+ var SvgMouseSpeedKeyComponent = (function () {
+ function SvgMouseSpeedKeyComponent(mapper) {
+ this.mapper = mapper;
+ this.icon = this.mapper.getIcon('mouse');
+ }
+ SvgMouseSpeedKeyComponent.prototype.ngOnChanges = function () {
+ this.sign = this.plus ? '+' : '-';
+ };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Boolean)
+ ], SvgMouseSpeedKeyComponent.prototype, "plus", void 0);
+ SvgMouseSpeedKeyComponent = __decorate([
+ core_1.Component({
+ selector: 'g[svg-mouse-speed-key]',
+ template: __webpack_require__(611)
+ }),
+ __metadata('design:paramtypes', [mapper_service_1.MapperService])
+ ], SvgMouseSpeedKeyComponent);
+ return SvgMouseSpeedKeyComponent;
+ }());
+ exports.SvgMouseSpeedKeyComponent = SvgMouseSpeedKeyComponent;
+
+
+/***/ },
+/* 611 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n \r\n\r\n Speed \r\n \r\n\r\n {{ sign }} \r\n ";
+
+/***/ },
+/* 612 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(613));
+
+
+/***/ },
+/* 613 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var mapper_service_1 = __webpack_require__(498);
+ var SvgMouseScrollKeyComponent = (function () {
+ function SvgMouseScrollKeyComponent(mapper) {
+ this.mapper = mapper;
+ }
+ SvgMouseScrollKeyComponent.prototype.ngOnChanges = function () {
+ this.mouseIcon = this.mapper.getIcon('mouse');
+ this.directionIcon = this.mapper.getIcon("scroll-" + this.direction);
+ };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', String)
+ ], SvgMouseScrollKeyComponent.prototype, "direction", void 0);
+ SvgMouseScrollKeyComponent = __decorate([
+ core_1.Component({
+ selector: 'g[svg-mouse-scroll-key]',
+ template: __webpack_require__(614)
+ }),
+ __metadata('design:paramtypes', [mapper_service_1.MapperService])
+ ], SvgMouseScrollKeyComponent);
+ return SvgMouseScrollKeyComponent;
+ }());
+ exports.SvgMouseScrollKeyComponent = SvgMouseScrollKeyComponent;
+
+
+/***/ },
+/* 614 */
+/***/ function(module, exports) {
+
+ module.exports = " \r\n\r\n Scroll \r\n \r\n ";
+
+/***/ },
+/* 615 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(616));
+
+
+/***/ },
+/* 616 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var SvgOneLineTextKeyComponent = (function () {
+ function SvgOneLineTextKeyComponent() {
+ }
+ SvgOneLineTextKeyComponent.prototype.ngOnInit = function () {
+ this.textY = this.height / 2;
+ this.spanX = this.width / 2;
+ };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Number)
+ ], SvgOneLineTextKeyComponent.prototype, "height", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Number)
+ ], SvgOneLineTextKeyComponent.prototype, "width", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', String)
+ ], SvgOneLineTextKeyComponent.prototype, "text", void 0);
+ SvgOneLineTextKeyComponent = __decorate([
+ core_1.Component({
+ selector: 'g[svg-one-line-text-key]',
+ template: __webpack_require__(617)
+ }),
+ __metadata('design:paramtypes', [])
+ ], SvgOneLineTextKeyComponent);
+ return SvgOneLineTextKeyComponent;
+ }());
+ exports.SvgOneLineTextKeyComponent = SvgOneLineTextKeyComponent;
+
+
+/***/ },
+/* 617 */
+/***/ function(module, exports) {
+
+ module.exports = " \r\n {{ text }} \r\n ";
+
+/***/ },
+/* 618 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(619));
+
+
+/***/ },
+/* 619 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var SvgSingleIconKeyComponent = (function () {
+ function SvgSingleIconKeyComponent() {
+ }
+ SvgSingleIconKeyComponent.prototype.ngOnInit = function () {
+ this.svgWidth = this.width / 3;
+ this.svgHeight = this.height / 3;
+ };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Number)
+ ], SvgSingleIconKeyComponent.prototype, "width", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Number)
+ ], SvgSingleIconKeyComponent.prototype, "height", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', String)
+ ], SvgSingleIconKeyComponent.prototype, "icon", void 0);
+ SvgSingleIconKeyComponent = __decorate([
+ core_1.Component({
+ selector: 'g[svg-single-icon-key]',
+ template: __webpack_require__(620)
+ }),
+ __metadata('design:paramtypes', [])
+ ], SvgSingleIconKeyComponent);
+ return SvgSingleIconKeyComponent;
+ }());
+ exports.SvgSingleIconKeyComponent = SvgSingleIconKeyComponent;
+
+
+/***/ },
+/* 620 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n ";
+
+/***/ },
+/* 621 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(622));
+
+
+/***/ },
+/* 622 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var mapper_service_1 = __webpack_require__(498);
+ var SvgSwitchKeymapKeyComponent = (function () {
+ function SvgSwitchKeymapKeyComponent(mapperService) {
+ this.mapperService = mapperService;
+ }
+ SvgSwitchKeymapKeyComponent.prototype.ngOnInit = function () {
+ this.icon = this.mapperService.getIcon('switch-keymap');
+ this.useWidth = this.width / 4;
+ this.useHeight = this.height / 4;
+ this.useX = this.width * 3 / 8;
+ this.useY = this.height / 5;
+ this.textY = this.height * 2 / 3;
+ this.spanX = this.width / 2;
+ };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Number)
+ ], SvgSwitchKeymapKeyComponent.prototype, "width", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Number)
+ ], SvgSwitchKeymapKeyComponent.prototype, "height", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', String)
+ ], SvgSwitchKeymapKeyComponent.prototype, "abbreviation", void 0);
+ SvgSwitchKeymapKeyComponent = __decorate([
+ core_1.Component({
+ selector: 'g[svg-switch-keymap-key]',
+ template: __webpack_require__(623)
+ }),
+ __metadata('design:paramtypes', [mapper_service_1.MapperService])
+ ], SvgSwitchKeymapKeyComponent);
+ return SvgSwitchKeymapKeyComponent;
+ }());
+ exports.SvgSwitchKeymapKeyComponent = SvgSwitchKeymapKeyComponent;
+
+
+/***/ },
+/* 623 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n \r\n\r\n {{ abbreviation }} \r\n ";
+
+/***/ },
+/* 624 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(625));
+
+
+/***/ },
+/* 625 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var SvgTextIconKeyComponent = (function () {
+ function SvgTextIconKeyComponent() {
+ }
+ SvgTextIconKeyComponent.prototype.ngOnInit = function () {
+ this.useWidth = this.width / 3;
+ this.useHeight = this.height / 3;
+ this.useX = (this.width > 2 * this.height) ? this.width * 0.6 : this.width / 3;
+ this.useY = (this.width > 2 * this.height) ? this.height / 3 : this.height / 2;
+ this.textY = (this.width > 2 * this.height) ? this.height / 2 : this.height / 3;
+ this.textAnchor = (this.width > 2 * this.height) ? 'end' : 'middle';
+ this.spanX = (this.width > 2 * this.height) ? 0.6 * this.width : this.width / 2;
+ };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Number)
+ ], SvgTextIconKeyComponent.prototype, "width", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Number)
+ ], SvgTextIconKeyComponent.prototype, "height", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', String)
+ ], SvgTextIconKeyComponent.prototype, "text", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', String)
+ ], SvgTextIconKeyComponent.prototype, "icon", void 0);
+ SvgTextIconKeyComponent = __decorate([
+ core_1.Component({
+ selector: 'g[svg-text-icon-key]',
+ template: __webpack_require__(626)
+ }),
+ __metadata('design:paramtypes', [])
+ ], SvgTextIconKeyComponent);
+ return SvgTextIconKeyComponent;
+ }());
+ exports.SvgTextIconKeyComponent = SvgTextIconKeyComponent;
+
+
+/***/ },
+/* 626 */
+/***/ function(module, exports) {
+
+ module.exports = " \r\n {{ text }} \r\n \r\n\r\n ";
+
+/***/ },
+/* 627 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(628));
+
+
+/***/ },
+/* 628 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var SvgTwoLineTextKeyComponent = (function () {
+ function SvgTwoLineTextKeyComponent() {
+ this.spanYs = [];
+ }
+ SvgTwoLineTextKeyComponent.prototype.ngOnInit = function () {
+ this.textY = this.height / 2;
+ this.spanX = this.width / 2;
+ for (var i = 0; i < this.texts.length; ++i) {
+ this.spanYs.push((0.75 - i * 0.5) * this.height);
+ }
+ };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Number)
+ ], SvgTwoLineTextKeyComponent.prototype, "height", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Number)
+ ], SvgTwoLineTextKeyComponent.prototype, "width", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Array)
+ ], SvgTwoLineTextKeyComponent.prototype, "texts", void 0);
+ SvgTwoLineTextKeyComponent = __decorate([
+ core_1.Component({
+ selector: 'g[svg-two-line-text-key]',
+ template: __webpack_require__(629)
+ }),
+ __metadata('design:paramtypes', [])
+ ], SvgTwoLineTextKeyComponent);
+ return SvgTwoLineTextKeyComponent;
+ }());
+ exports.SvgTwoLineTextKeyComponent = SvgTwoLineTextKeyComponent;
+
+
+/***/ },
+/* 629 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n {{ text }} \r\n ";
+
+/***/ },
+/* 630 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(631));
+
+
+/***/ },
+/* 631 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var store_1 = __webpack_require__(353);
+ var Observable_1 = __webpack_require__(315);
+ __webpack_require__(632);
+ __webpack_require__(633);
+ __webpack_require__(634);
+ __webpack_require__(437);
+ __webpack_require__(435);
+ var mapper_service_1 = __webpack_require__(498);
+ var key_action_1 = __webpack_require__(438);
+ var Keymap_1 = __webpack_require__(455);
+ var LongPressAction_1 = __webpack_require__(443);
+ var util_1 = __webpack_require__(635);
+ var actions_1 = __webpack_require__(424);
+ var SvgKeyboardWrapComponent = (function () {
+ function SvgKeyboardWrapComponent(store, mapper, element) {
+ this.store = store;
+ this.mapper = mapper;
+ this.element = element;
+ this.popoverEnabled = true;
+ this.tooltipEnabled = false;
+ this.currentLayer = 0;
+ this.keyEditConfig = {
+ moduleId: undefined,
+ keyId: undefined
+ };
+ this.tooltipData = {
+ posTop: 0,
+ posLeft: 0,
+ content: [],
+ show: false
+ };
+ }
+ Object.defineProperty(SvgKeyboardWrapComponent.prototype, "space", {
+ get: function () {
+ return this.popoverEnabled;
+ },
+ enumerable: true,
+ configurable: true
+ });
+ SvgKeyboardWrapComponent.prototype.onResize = function () {
+ if (this.wrapHost) {
+ this.wrapPosition = this.wrapHost.getBoundingClientRect();
+ }
+ if (this.keyElement) {
+ this.keyPosition = this.keyElement.getBoundingClientRect();
+ }
+ };
+ SvgKeyboardWrapComponent.prototype.ngOnInit = function () {
+ this.wrapHost = this.element.nativeElement;
+ this.wrapPosition = this.wrapHost.getBoundingClientRect();
+ };
+ SvgKeyboardWrapComponent.prototype.ngOnChanges = function (changes) {
+ if (changes['keymap'].previousValue.abbreviation !== changes['keymap'].currentValue.abbreviation) {
+ this.layers = this.keymap.layers;
+ this.currentLayer = 0;
+ this.popoverShown = false;
+ if (this.layers.length > 0) {
+ this.layers.forEach(function (element) { return element.animation = 'leftOut'; });
+ this.layers[0].animation = 'leftIn';
+ }
+ }
+ else if (changes['keymap']) {
+ this.popoverShown = false;
+ }
+ };
+ SvgKeyboardWrapComponent.prototype.onKeyClick = function (moduleId, keyId, keyTarget) {
+ if (!this.popoverShown && this.popoverEnabled) {
+ this.keyEditConfig = {
+ moduleId: moduleId,
+ keyId: keyId
+ };
+ var keyActionToEdit = this.layers[this.currentLayer].modules[moduleId].keyActions[keyId];
+ this.keyElement = keyTarget;
+ this.showPopover(keyActionToEdit);
+ }
+ };
+ SvgKeyboardWrapComponent.prototype.onKeyHover = function (moduleId, event, over, keyId) {
+ if (this.tooltipEnabled) {
+ var keyActionToEdit = this.layers[this.currentLayer].modules[moduleId].keyActions[keyId];
+ if (over) {
+ this.showTooltip(keyActionToEdit, event);
+ }
+ else {
+ this.hideTooltip();
+ }
+ }
+ };
+ SvgKeyboardWrapComponent.prototype.onRemap = function (keyAction) {
+ this.store.dispatch(actions_1.KeymapActions.saveKey(this.keymap, this.currentLayer, this.keyEditConfig.moduleId, this.keyEditConfig.keyId, keyAction));
+ this.hidePopover();
+ };
+ SvgKeyboardWrapComponent.prototype.showPopover = function (keyAction) {
+ this.keyPosition = this.keyElement.getBoundingClientRect();
+ this.popoverInitKeyAction = keyAction;
+ this.popoverShown = true;
+ };
+ SvgKeyboardWrapComponent.prototype.showTooltip = function (keyAction, event) {
+ if (keyAction === undefined) {
+ return;
+ }
+ var el = event.target || event.srcElement;
+ var position = el.getBoundingClientRect();
+ var posLeft = this.tooltipData.posLeft;
+ var posTop = this.tooltipData.posTop;
+ if (el.tagName === 'g') {
+ posLeft = position.left + (position.width / 2);
+ posTop = position.top + position.height;
+ }
+ var content = [];
+ if (keyAction instanceof key_action_1.KeystrokeAction) {
+ var keystrokeAction = keyAction;
+ content.push({
+ name: 'Action type',
+ value: 'Keystroke'
+ });
+ if (keystrokeAction.hasScancode()) {
+ var value = keystrokeAction.scancode.toString();
+ var scanCodeTexts = (this.mapper.scanCodeToText(keystrokeAction.scancode) || []).join(', ');
+ if (scanCodeTexts.length > 0) {
+ value += ' (' + scanCodeTexts + ')';
+ }
+ content.push({
+ name: 'Scancode',
+ value: value
+ });
+ }
+ if (keystrokeAction.hasActiveModifier()) {
+ content.push({
+ name: 'Modifiers',
+ value: keystrokeAction.getModifierList().join(', ')
+ });
+ }
+ if (keystrokeAction.hasLongPressAction()) {
+ content.push({
+ name: 'Long press',
+ value: LongPressAction_1.LongPressAction[keystrokeAction.longPressAction]
+ });
+ }
+ }
+ else if (keyAction instanceof key_action_1.MouseAction) {
+ var mouseAction = keyAction;
+ content.push({
+ name: 'Action type',
+ value: 'Mouse'
+ });
+ content.push({
+ name: 'Action',
+ value: util_1.camelCaseToSentence(key_action_1.MouseActionParam[mouseAction.mouseAction])
+ });
+ }
+ else if (keyAction instanceof key_action_1.PlayMacroAction) {
+ var playMacroAction_1 = keyAction;
+ content.push({
+ name: 'Action type',
+ value: 'Play macro'
+ });
+ content.push({
+ name: 'Macro id',
+ value: playMacroAction_1.macroId.toString()
+ });
+ // Replace the macro id with the name
+ this.store
+ .select(function (appState) { return appState.macros; })
+ .first()
+ .map(function (macroState) { return macroState.entities.filter(function (macro) {
+ return macro.id === playMacroAction_1.macroId;
+ })[0].name; })
+ .subscribe(function (name) {
+ content[1] = {
+ name: 'Macro name',
+ value: name
+ };
+ });
+ }
+ else if (keyAction instanceof key_action_1.SwitchKeymapAction) {
+ var switchKeymapAction_1 = keyAction;
+ content.push({
+ name: 'Action type',
+ value: 'Switch keymap'
+ });
+ content.push({
+ name: 'Keymap',
+ value: '...'
+ });
+ this.store
+ .select(function (appState) { return appState.keymaps; })
+ .first()
+ .switchMap(function (keymaps) { return Observable_1.Observable.from(keymaps.entities); })
+ .filter(function (keymap) { return keymap.abbreviation === switchKeymapAction_1.keymapAbbreviation; })
+ .subscribe(function (keymap) { return content[1].value = keymap.name; });
+ }
+ else if (keyAction instanceof key_action_1.SwitchLayerAction) {
+ var switchLayerAction = keyAction;
+ content.push({
+ name: 'Action type',
+ value: 'Switch layer'
+ });
+ content.push({
+ name: 'Layer',
+ value: util_1.capitalizeFirstLetter(key_action_1.LayerName[switchLayerAction.layer])
+ });
+ content.push({
+ name: 'Toogle',
+ value: switchLayerAction.isLayerToggleable ? 'On' : 'Off'
+ });
+ }
+ this.tooltipData = {
+ posLeft: posLeft,
+ posTop: posTop,
+ content: content,
+ show: true
+ };
+ };
+ SvgKeyboardWrapComponent.prototype.hideTooltip = function () {
+ this.tooltipData.show = false;
+ };
+ SvgKeyboardWrapComponent.prototype.hidePopover = function () {
+ this.popoverShown = false;
+ };
+ SvgKeyboardWrapComponent.prototype.selectLayer = function (oldIndex, index) {
+ if (index > oldIndex) {
+ this.layers[oldIndex].animation = 'leftOut';
+ this.layers[index].animation = 'leftIn';
+ }
+ else {
+ this.layers[oldIndex].animation = 'rightOut';
+ this.layers[index].animation = 'rightIn';
+ }
+ this.currentLayer = index;
+ };
+ SvgKeyboardWrapComponent.prototype.trackKeyboard = function (index) {
+ return index;
+ };
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Keymap_1.Keymap)
+ ], SvgKeyboardWrapComponent.prototype, "keymap", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Boolean)
+ ], SvgKeyboardWrapComponent.prototype, "popoverEnabled", void 0);
+ __decorate([
+ core_1.Input(),
+ __metadata('design:type', Boolean)
+ ], SvgKeyboardWrapComponent.prototype, "tooltipEnabled", void 0);
+ __decorate([
+ core_1.HostBinding('class.space'),
+ __metadata('design:type', Object)
+ ], SvgKeyboardWrapComponent.prototype, "space", null);
+ __decorate([
+ core_1.HostListener('window:resize'),
+ __metadata('design:type', Function),
+ __metadata('design:paramtypes', []),
+ __metadata('design:returntype', void 0)
+ ], SvgKeyboardWrapComponent.prototype, "onResize", null);
+ SvgKeyboardWrapComponent = __decorate([
+ core_1.Component({
+ selector: 'svg-keyboard-wrap',
+ template: __webpack_require__(636),
+ styles: [__webpack_require__(637)],
+ changeDetection: core_1.ChangeDetectionStrategy.OnPush,
+ // We use 101%, because there was still a trace of the keyboard in the screen when animation was done
+ animations: [
+ core_1.trigger('layerState', [
+ core_1.state('leftIn, rightIn', core_1.style({
+ transform: 'translateX(-50%)',
+ left: '50%'
+ })),
+ core_1.state('leftOut', core_1.style({
+ transform: 'translateX(-101%)',
+ left: '0'
+ })),
+ core_1.state('rightOut', core_1.style({
+ transform: 'translateX(0)',
+ left: '101%'
+ })),
+ core_1.transition('leftOut => leftIn, rightOut => leftIn', [
+ core_1.animate('400ms ease-out', core_1.keyframes([
+ core_1.style({ transform: 'translateX(0%)', left: '101%', offset: 0 }),
+ core_1.style({ transform: 'translateX(-50%)', left: '50%', offset: 1 })
+ ]))
+ ]),
+ core_1.transition('leftIn => leftOut, rightIn => leftOut', [
+ core_1.animate('400ms ease-out', core_1.keyframes([
+ core_1.style({ transform: 'translateX(-50%)', left: '50%', offset: 0 }),
+ core_1.style({ transform: 'translateX(-101%)', left: '0%', offset: 1 })
+ ]))
+ ]),
+ core_1.transition('* => rightIn', [
+ core_1.animate('400ms ease-out', core_1.keyframes([
+ core_1.style({ transform: 'translateX(-101%)', left: '0%', offset: 0 }),
+ core_1.style({ transform: 'translateX(-50%)', left: '50%', offset: 1 })
+ ]))
+ ]),
+ core_1.transition('* => rightOut', [
+ core_1.animate('400ms ease-out', core_1.keyframes([
+ core_1.style({ transform: 'translateX(-50%)', left: '50%', offset: 0 }),
+ core_1.style({ transform: 'translateX(0%)', left: '101%', offset: 1 })
+ ]))
+ ])
+ ])
+ ]
+ }),
+ __metadata('design:paramtypes', [store_1.Store, mapper_service_1.MapperService, core_1.ElementRef])
+ ], SvgKeyboardWrapComponent);
+ return SvgKeyboardWrapComponent;
+ }());
+ exports.SvgKeyboardWrapComponent = SvgKeyboardWrapComponent;
+
+
+/***/ },
+/* 632 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var Observable_1 = __webpack_require__(315);
+ var from_1 = __webpack_require__(402);
+ Observable_1.Observable.from = from_1.from;
+ //# sourceMappingURL=from.js.map
+
+/***/ },
+/* 633 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var Observable_1 = __webpack_require__(315);
+ var filter_1 = __webpack_require__(370);
+ Observable_1.Observable.prototype.filter = filter_1.filter;
+ //# sourceMappingURL=filter.js.map
+
+/***/ },
+/* 634 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var Observable_1 = __webpack_require__(315);
+ var first_1 = __webpack_require__(410);
+ Observable_1.Observable.prototype.first = first_1.first;
+ //# sourceMappingURL=first.js.map
+
+/***/ },
+/* 635 */
+/***/ function(module, exports) {
+
+ "use strict";
+ // Source: http://stackoverflow.com/questions/13720256/javascript-regex-camelcase-to-sentence
+ function camelCaseToSentence(camelCasedText) {
+ return camelCasedText.replace(/^[a-z]|[A-Z]/g, function (v, i) {
+ return i === 0 ? v.toUpperCase() : ' ' + v.toLowerCase();
+ });
+ }
+ exports.camelCaseToSentence = camelCaseToSentence;
+ function capitalizeFirstLetter(text) {
+ return text.charAt(0).toUpperCase() + text.slice(1);
+ }
+ exports.capitalizeFirstLetter = capitalizeFirstLetter;
+
+
+/***/ },
+/* 636 */
+/***/ function(module, exports) {
+
+ module.exports = "\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n ";
+
+/***/ },
+/* 637 */
+/***/ function(module, exports) {
+
+ module.exports = ":host {\n width: 100%;\n display: block; }\n :host.space {\n margin-bottom: 405px; }\n\nsvg-keyboard {\n width: 95%;\n max-width: 1400px;\n position: absolute;\n left: 0;\n transform: translateX(-101%);\n user-select: none; }\n\n.keyboard-slider {\n position: relative;\n overflow: hidden;\n /* TODO create dynamic */\n height: 500px;\n margin-top: 30px; }\n\n.tooltip {\n position: fixed;\n transform: translate(-50%, -6px);\n display: none; }\n .tooltip-inner {\n background: #fff;\n color: #000;\n box-shadow: 0 1px 5px #000;\n text-align: left; }\n .tooltip-inner p {\n margin-bottom: 2px; }\n .tooltip-inner p:last-of-type {\n margin-bottom: 0; }\n .tooltip.bottom .tooltip-arrow {\n border-bottom-color: #fff;\n top: 1px; }\n .tooltip.in {\n display: block;\n opacity: 1; }\n"
+
+/***/ },
+/* 638 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(639));
+ __export(__webpack_require__(642));
+
+
+/***/ },
+/* 639 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var MainAppComponent = (function () {
+ function MainAppComponent() {
+ }
+ MainAppComponent = __decorate([
+ core_1.Component({
+ selector: 'main-app',
+ template: __webpack_require__(640),
+ styles: [__webpack_require__(641)],
+ encapsulation: core_1.ViewEncapsulation.None
+ }),
+ __metadata('design:paramtypes', [])
+ ], MainAppComponent);
+ return MainAppComponent;
+ }());
+ exports.MainAppComponent = MainAppComponent;
+
+
+/***/ },
+/* 640 */
+/***/ function(module, exports) {
+
+ module.exports = " \r\n \r\n\r\n \r\n
\r\n\r\n \r\n";
+
+/***/ },
+/* 641 */
+/***/ function(module, exports) {
+
+ module.exports = "main-app {\n display: block;\n min-height: 100vh;\n width: 100%;\n overflow: hidden;\n position: relative; }\n main-app .select2-container--default .select2-selection--single .select2-selection__rendered {\n line-height: 26px; }\n\n.main-content {\n margin-left: 250px; }\n\n.select2-container {\n z-index: 1100; }\n .select2-container .scancode--searchterm {\n text-align: right;\n color: #b7b7b7; }\n\n.select2-item {\n display: flex;\n justify-content: space-between; }\n\n.select2-results {\n text-align: left; }\n\n.nav-pills > li > a {\n cursor: pointer; }\n\n.select2-container--default .select2-dropdown--below .select2-results > .select2-results__options {\n max-height: 300px; }\n\n/* GitHub ribbon */\n.github-fork-ribbon {\n background-color: #a00;\n overflow: hidden;\n white-space: nowrap;\n position: fixed;\n right: -50px;\n bottom: 40px;\n z-index: 2000;\n /* stylelint-disable indentation */\n -webkit-transform: rotate(-45deg);\n -moz-transform: rotate(-45deg);\n -ms-transform: rotate(-45deg);\n -o-transform: rotate(-45deg);\n transform: rotate(-45deg);\n -webkit-box-shadow: 0 0 10px #888;\n -moz-box-shadow: 0 0 10px #888;\n box-shadow: 0 0 10px #888;\n /* stylelint-enable indentation */ }\n .github-fork-ribbon a {\n border: 1px solid #faa;\n color: #fff;\n display: block;\n font: bold 81.25% 'Helvetica Neue', Helvetica, Arial, sans-serif;\n margin: 1px 0;\n padding: 10px 50px;\n text-align: center;\n text-decoration: none;\n text-shadow: 0 0 5px #444; }\n"
+
+/***/ },
+/* 642 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var router_1 = __webpack_require__(401);
+ var add_on_1 = __webpack_require__(399);
+ var keymap_1 = __webpack_require__(419);
+ var macro_1 = __webpack_require__(467);
+ var settings_1 = __webpack_require__(567);
+ var appRoutes = keymap_1.keymapRoutes.concat(macro_1.macroRoutes, add_on_1.addOnRoutes, settings_1.settingsRoutes);
+ exports.appRoutingProviders = [];
+ exports.routing = router_1.RouterModule.forRoot(appRoutes, { useHash: true });
+
+
+/***/ },
+/* 643 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(644));
+
+
+/***/ },
+/* 644 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var cancelable_directive_1 = __webpack_require__(645);
+ exports.CancelableDirective = cancelable_directive_1.CancelableDirective;
+
+
+/***/ },
+/* 645 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var CancelableDirective = (function () {
+ function CancelableDirective(elementRef, renderer) {
+ this.elementRef = elementRef;
+ this.renderer = renderer;
+ }
+ CancelableDirective.prototype.onFocus = function () {
+ this.originalValue = this.elementRef.nativeElement.value;
+ };
+ CancelableDirective.prototype.onEscape = function () {
+ this.renderer.setElementProperty(this.elementRef.nativeElement, 'value', this.originalValue);
+ this.renderer.invokeElementMethod(this.elementRef.nativeElement, 'blur');
+ };
+ __decorate([
+ core_1.HostListener('focus'),
+ __metadata('design:type', Function),
+ __metadata('design:paramtypes', []),
+ __metadata('design:returntype', void 0)
+ ], CancelableDirective.prototype, "onFocus", null);
+ __decorate([
+ core_1.HostListener('keyup.escape'),
+ __metadata('design:type', Function),
+ __metadata('design:paramtypes', []),
+ __metadata('design:returntype', void 0)
+ ], CancelableDirective.prototype, "onEscape", null);
+ CancelableDirective = __decorate([
+ core_1.Directive({
+ selector: '[cancelable]'
+ }),
+ __metadata('design:paramtypes', [core_1.ElementRef, core_1.Renderer])
+ ], CancelableDirective);
+ return CancelableDirective;
+ }());
+ exports.CancelableDirective = CancelableDirective;
+
+
+/***/ },
+/* 646 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ function __export(m) {
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
+ }
+ __export(__webpack_require__(647));
+ __export(__webpack_require__(649));
+
+
+/***/ },
+/* 647 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var router_1 = __webpack_require__(401);
+ var effects_1 = __webpack_require__(338);
+ var store_1 = __webpack_require__(353);
+ __webpack_require__(574);
+ __webpack_require__(437);
+ __webpack_require__(648);
+ var actions_1 = __webpack_require__(424);
+ var KeymapEffects = (function () {
+ function KeymapEffects(actions$, router, store) {
+ var _this = this;
+ this.actions$ = actions$;
+ this.router = router;
+ this.store = store;
+ this.add$ = this.actions$
+ .ofType(actions_1.KeymapActions.ADD)
+ .withLatestFrom(this.store)
+ .do(function (latest) {
+ var state = latest[1];
+ var entities = state.keymaps.entities;
+ _this.router.navigate(['/keymap', entities[entities.length - 1].abbreviation]);
+ });
+ this.duplicate$ = this.actions$
+ .ofType(actions_1.KeymapActions.DUPLICATE)
+ .withLatestFrom(this.store)
+ .do(function (latest) {
+ var state = latest[1];
+ var entities = state.keymaps.entities;
+ _this.router.navigate(['/keymap', entities[entities.length - 1].abbreviation]);
+ });
+ this.remove$ = this.actions$
+ .ofType(actions_1.KeymapActions.REMOVE)
+ .withLatestFrom(this.store)
+ .do(function (latest) {
+ var state = latest[1];
+ if (state.keymaps.entities.length === 0) {
+ _this.router.navigate(['/keymap/add']);
+ }
+ else {
+ var favourite = state.keymaps.entities.find(function (keymap) { return keymap.isDefault; });
+ _this.router.navigate(['/keymap', favourite.abbreviation]);
+ }
+ });
+ this.editAbbr$ = this.actions$
+ .ofType(actions_1.KeymapActions.EDIT_ABBR)
+ .withLatestFrom(this.store)
+ .do(function (latest) {
+ var state = latest[1];
+ _this.router.navigate(['/keymap', state.keymaps.newAbbr]);
+ });
+ }
+ __decorate([
+ effects_1.Effect({ dispatch: false }),
+ __metadata('design:type', Object)
+ ], KeymapEffects.prototype, "add$", void 0);
+ __decorate([
+ effects_1.Effect({ dispatch: false }),
+ __metadata('design:type', Object)
+ ], KeymapEffects.prototype, "duplicate$", void 0);
+ __decorate([
+ effects_1.Effect({ dispatch: false }),
+ __metadata('design:type', Object)
+ ], KeymapEffects.prototype, "remove$", void 0);
+ __decorate([
+ effects_1.Effect({ dispatch: false }),
+ __metadata('design:type', Object)
+ ], KeymapEffects.prototype, "editAbbr$", void 0);
+ KeymapEffects = __decorate([
+ core_1.Injectable(),
+ __metadata('design:paramtypes', [effects_1.Actions, router_1.Router, store_1.Store])
+ ], KeymapEffects);
+ return KeymapEffects;
+ }());
+ exports.KeymapEffects = KeymapEffects;
+
+
+/***/ },
+/* 648 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var Observable_1 = __webpack_require__(315);
+ var withLatestFrom_1 = __webpack_require__(359);
+ Observable_1.Observable.prototype.withLatestFrom = withLatestFrom_1.withLatestFrom;
+ //# sourceMappingURL=withLatestFrom.js.map
+
+/***/ },
+/* 649 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var router_1 = __webpack_require__(401);
+ var effects_1 = __webpack_require__(338);
+ var store_1 = __webpack_require__(353);
+ __webpack_require__(574);
+ __webpack_require__(437);
+ __webpack_require__(648);
+ var actions_1 = __webpack_require__(424);
+ var MacroEffects = (function () {
+ function MacroEffects(actions$, router, store) {
+ var _this = this;
+ this.actions$ = actions$;
+ this.router = router;
+ this.store = store;
+ this.remove$ = this.actions$
+ .ofType(actions_1.MacroActions.REMOVE)
+ .map(function (action) { return _this.store.dispatch(actions_1.KeymapActions.checkMacro(action.payload)); })
+ .withLatestFrom(this.store)
+ .do(function (latest) {
+ var state = latest[1];
+ var macro = state.macros.entities;
+ if (state.macros.entities.length === 0) {
+ _this.router.navigate(['/macro']);
+ }
+ else {
+ _this.router.navigate(['/macro', macro[0].id]);
+ }
+ });
+ this.add$ = this.actions$
+ .ofType(actions_1.MacroActions.ADD)
+ .withLatestFrom(this.store)
+ .do(function (latest) {
+ var state = latest[1];
+ var macro = state.macros.entities[state.macros.entities.length - 1];
+ _this.router.navigate(['/macro', macro.id, 'new']);
+ });
+ }
+ __decorate([
+ effects_1.Effect({ dispatch: false }),
+ __metadata('design:type', Object)
+ ], MacroEffects.prototype, "remove$", void 0);
+ __decorate([
+ effects_1.Effect({ dispatch: false }),
+ __metadata('design:type', Object)
+ ], MacroEffects.prototype, "add$", void 0);
+ MacroEffects = __decorate([
+ core_1.Injectable(),
+ __metadata('design:paramtypes', [effects_1.Actions, router_1.Router, store_1.Store])
+ ], MacroEffects);
+ return MacroEffects;
+ }());
+ exports.MacroEffects = MacroEffects;
+
+
+/***/ },
+/* 650 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
+ };
+ var __metadata = (this && this.__metadata) || function (k, v) {
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+ };
+ var core_1 = __webpack_require__(313);
+ var Keymap_1 = __webpack_require__(455);
+ var Macro_1 = __webpack_require__(471);
+ var UhkConfiguration_1 = __webpack_require__(651);
+ var actions_1 = __webpack_require__(424);
+ var electron_1 = __webpack_require__(653);
+ var local_1 = __webpack_require__(654);
+ var DataStorage = (function () {
+ function DataStorage() {
+ this.initUHKJson();
+ this.detectEnvironment();
+ }
+ DataStorage.prototype.initialState = function () {
+ var config = this.getConfiguration();
+ return {
+ keymaps: {
+ entities: config.keymaps
+ },
+ macros: {
+ entities: config.macros
+ },
+ presetKeymaps: this.uhkPresets
+ };
+ };
+ DataStorage.prototype.detectEnvironment = function () {
+ // Electron
+ // TODO check if we can remove when electron will be implemented (maybe use process.versions['electron'])
+ if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {
+ this._environment = new electron_1.Electron();
+ }
+ else {
+ this._environment = new local_1.Local(this.uhkConfiguration.dataModelVersion);
+ }
+ };
+ // TODO: Add type for state
+ DataStorage.prototype.saveState = function (reducer) {
+ var _this = this;
+ return function (state, action) {
+ var nextState = reducer(state, action);
+ var config;
+ // Save elements to the UhkConfiguration
+ if (action.type.startsWith(actions_1.KeymapActions.PREFIX) &&
+ ((nextState.entities && nextState.entities.length && nextState.entities[0] instanceof Keymap_1.Keymap) ||
+ (state.entities && state.entities.length && state.entities[0] instanceof Keymap_1.Keymap))) {
+ config = _this.getConfiguration();
+ config.keymaps = Object.values(nextState.entities);
+ _this._environment.saveConfig(config);
+ }
+ else if (action.type.startsWith(actions_1.MacroActions.PREFIX) &&
+ ((nextState.entities && nextState.entities.length && nextState.entities[0] instanceof Macro_1.Macro) ||
+ (state.entities && state.entities.length && state.entities[0] instanceof Macro_1.Macro))) {
+ config = _this.getConfiguration();
+ config.macros = Object.values(nextState.entities);
+ _this._environment.saveConfig(config);
+ }
+ return nextState;
+ };
+ };
+ DataStorage.prototype.initUHKJson = function () {
+ this.uhkConfiguration = new UhkConfiguration_1.UhkConfiguration().fromJsObject(__webpack_require__(655));
+ this.uhkPresets = __webpack_require__(656)
+ .map(function (keymap) { return new Keymap_1.Keymap().fromJsObject(keymap); });
+ };
+ DataStorage.prototype.getConfiguration = function () {
+ var config = this._environment.getConfig();
+ if (!config) {
+ config = this.uhkConfiguration;
+ }
+ return config;
+ };
+ DataStorage = __decorate([
+ core_1.Injectable(),
+ __metadata('design:paramtypes', [])
+ ], DataStorage);
+ return DataStorage;
+ }());
+ exports.DataStorage = DataStorage;
+
+
+/***/ },
+/* 651 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -67038,11 +71439,11 @@
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
- var assert_1 = __webpack_require__(433);
- var Serializable_1 = __webpack_require__(430);
- var Keymap_1 = __webpack_require__(429);
- var Macro_1 = __webpack_require__(485);
- var ModuleConfiguration_1 = __webpack_require__(526);
+ var assert_1 = __webpack_require__(442);
+ var Serializable_1 = __webpack_require__(440);
+ var Keymap_1 = __webpack_require__(455);
+ var Macro_1 = __webpack_require__(471);
+ var ModuleConfiguration_1 = __webpack_require__(652);
var UhkConfiguration = (function (_super) {
__extends(UhkConfiguration, _super);
function UhkConfiguration() {
@@ -67133,7 +71534,7 @@
/***/ },
-/* 526 */
+/* 652 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
@@ -67151,8 +71552,8 @@
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
- var assert_1 = __webpack_require__(433);
- var Serializable_1 = __webpack_require__(430);
+ var assert_1 = __webpack_require__(442);
+ var Serializable_1 = __webpack_require__(440);
var ModuleConfiguration = (function (_super) {
__extends(ModuleConfiguration, _super);
function ModuleConfiguration() {
@@ -67211,81 +71612,62 @@
/***/ },
-/* 527 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var svg_module_model_1 = __webpack_require__(528);
- var DataProviderService = (function () {
- function DataProviderService() {
- }
- DataProviderService.prototype.getUHKConfig = function () {
- return __webpack_require__(529);
- };
- DataProviderService.prototype.getDefaultKeymaps = function () {
- return __webpack_require__(530);
- };
- DataProviderService.prototype.getKeyboardSvgAttributes = function () {
- var svg = this.getBaseLayer();
- return {
- viewBox: svg.$.viewBox,
- transform: svg.g[0].$.transform,
- fill: svg.g[0].$.fill
- };
- };
- DataProviderService.prototype.getSvgModules = function () {
- var modules = this.getBaseLayer().g[0].g.map(function (obj) { return new svg_module_model_1.SvgModule(obj); });
- return [modules[1], modules[0]]; // TODO: remove if the svg will be correct
- };
- DataProviderService.prototype.getBaseLayer = function () {
- return __webpack_require__(531).svg;
- };
- DataProviderService = __decorate([
- core_1.Injectable(),
- __metadata('design:paramtypes', [])
- ], DataProviderService);
- return DataProviderService;
- }());
- exports.DataProviderService = DataProviderService;
-
-
-/***/ },
-/* 528 */
+/* 653 */
/***/ function(module, exports) {
"use strict";
- var SvgModule = (function () {
- function SvgModule(obj) {
- this.keyboardKeys = obj.rect.map(function (rect) { return rect.$; }).map(function (rect) {
- rect.height = +rect.height;
- rect.width = +rect.width;
- return rect;
- });
- this.coverages = obj.path;
- this.attributes = obj.$;
+ var Electron = (function () {
+ function Electron() {
}
- return SvgModule;
+ Electron.prototype.getConfig = function () {
+ // TODO implement load logic
+ return;
+ };
+ /* tslint:disable:no-unused-variable */
+ Electron.prototype.saveConfig = function (config) {
+ // TODO implement save logic
+ };
+ return Electron;
}());
- exports.SvgModule = SvgModule;
+ exports.Electron = Electron;
/***/ },
-/* 529 */
+/* 654 */
+/***/ function(module, exports, __webpack_require__) {
+
+ "use strict";
+ var UhkConfiguration_1 = __webpack_require__(651);
+ var Local = (function () {
+ function Local(dataModelVersion) {
+ this.dataModelVersion = dataModelVersion;
+ }
+ Local.prototype.getConfig = function () {
+ var configJsonString = localStorage.getItem('config');
+ var config;
+ if (configJsonString) {
+ var configJsonObject = JSON.parse(configJsonString);
+ if (configJsonObject.dataModelVersion === this.dataModelVersion) {
+ config = new UhkConfiguration_1.UhkConfiguration().fromJsObject(configJsonObject);
+ }
+ }
+ return config;
+ };
+ Local.prototype.saveConfig = function (config) {
+ localStorage.setItem('config', JSON.stringify(config.toJsObject()));
+ };
+ return Local;
+ }());
+ exports.Local = Local;
+
+
+/***/ },
+/* 655 */
/***/ function(module, exports) {
module.exports = {
"signature": "UHK",
- "dataModelVersion": 0,
+ "dataModelVersion": 1,
"prologue": 1234678,
"hardwareId": 0,
"brandId": 0,
@@ -67596,27 +71978,13 @@
"id": 0,
"pointerRole": "none",
"keyActions": [
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "keystroke",
"scancode": 75
@@ -67633,18 +72001,10 @@
"keyActionType": "keystroke",
"scancode": 77
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "keystroke",
"scancode": 78
@@ -67661,28 +72021,16 @@
"keyActionType": "keystroke",
"scancode": 79
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "switchKeymap",
"keymapAbbreviation": "VIM"
},
- {
- "keyActionType": "none"
- },
+ null,
{
"keyActionType": "keystroke",
"scancode": 118
@@ -67691,9 +72039,7 @@
"keyActionType": "keystroke",
"modifierMask": 32
},
- {
- "keyActionType": "none"
- },
+ null,
{
"keyActionType": "switchLayer",
"layer": "fn",
@@ -67722,84 +72068,38 @@
"id": 1,
"pointerRole": "none",
"keyActions": [
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "switchLayer",
"layer": "mouse",
"toggle": false
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "keystroke",
"modifierMask": 2
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "keystroke",
"modifierMask": 1
@@ -67822,9 +72122,7 @@
"layer": "mod",
"toggle": false
},
- {
- "keyActionType": "none"
- }
+ null
]
}
]
@@ -67840,27 +72138,13 @@
"layer": "fn",
"toggle": true
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "keystroke",
"scancode": 232
@@ -67873,21 +72157,11 @@
"keyActionType": "keystroke",
"scancode": 233
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "keystroke",
"scancode": 234
@@ -67900,38 +72174,22 @@
"keyActionType": "keystroke",
"scancode": 235
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "keystroke",
"scancode": 239
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
{
"keyActionType": "keystroke",
"modifierMask": 32
},
- {
- "keyActionType": "none"
- },
+ null,
{
"keyActionType": "switchLayer",
"layer": "fn",
@@ -67960,21 +72218,11 @@
"id": 1,
"pointerRole": "scroll",
"keyActions": [
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "switchLayer",
"layer": "mouse",
@@ -67985,63 +72233,31 @@
"layer": "mod",
"toggle": true
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "switchLayer",
"layer": "mouse",
"toggle": true
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "keystroke",
"modifierMask": 2
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "keystroke",
"modifierMask": 1
@@ -68064,9 +72280,7 @@
"layer": "mod",
"toggle": true
},
- {
- "keyActionType": "none"
- }
+ null
]
}
]
@@ -68077,53 +72291,27 @@
"id": 0,
"pointerRole": "move",
"keyActions": [
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "mouse",
"mouseAction": "scrollUp"
},
- {
- "keyActionType": "none"
- },
+ null,
{
"keyActionType": "mouse",
"mouseAction": "moveUp"
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "mouse",
"mouseAction": "scrollDown"
@@ -68140,39 +72328,17 @@
"keyActionType": "mouse",
"mouseAction": "moveRight"
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "keystroke",
"modifierMask": 64
@@ -68185,62 +72351,32 @@
"keyActionType": "keystroke",
"modifierMask": 16
},
- {
- "keyActionType": "none"
- }
+ null
]
},
{
"id": 1,
"pointerRole": "move",
"keyActions": [
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "switchLayer",
"layer": "mouse",
"toggle": false
},
- {
- "keyActionType": "none"
- },
+ null,
{
"keyActionType": "mouse",
"mouseAction": "rightClick"
@@ -68253,27 +72389,13 @@
"keyActionType": "mouse",
"mouseAction": "leftClick"
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "keystroke",
"modifierMask": 1
@@ -68286,9 +72408,7 @@
"keyActionType": "keystroke",
"modifierMask": 4
},
- {
- "keyActionType": "none"
- },
+ null,
{
"keyActionType": "mouse",
"mouseAction": "accelerate"
@@ -68578,7 +72698,7 @@
};
/***/ },
-/* 530 */
+/* 656 */
/***/ function(module, exports) {
module.exports = [
@@ -68880,27 +73000,13 @@
"id": 0,
"pointerRole": "none",
"keyActions": [
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "keystroke",
"scancode": 75
@@ -68917,18 +73023,10 @@
"keyActionType": "keystroke",
"scancode": 77
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "keystroke",
"scancode": 78
@@ -68945,28 +73043,16 @@
"keyActionType": "keystroke",
"scancode": 79
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "switchKeymap",
"keymapAbbreviation": "VIM"
},
- {
- "keyActionType": "none"
- },
+ null,
{
"keyActionType": "keystroke",
"scancode": 118
@@ -68975,9 +73061,7 @@
"keyActionType": "keystroke",
"modifierMask": 32
},
- {
- "keyActionType": "none"
- },
+ null,
{
"keyActionType": "switchLayer",
"layer": "fn",
@@ -69006,84 +73090,38 @@
"id": 1,
"pointerRole": "none",
"keyActions": [
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "switchLayer",
"layer": "mouse",
"toggle": false
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "keystroke",
"modifierMask": 2
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "keystroke",
"modifierMask": 1
@@ -69106,9 +73144,7 @@
"layer": "mod",
"toggle": false
},
- {
- "keyActionType": "none"
- }
+ null
]
}
]
@@ -69124,27 +73160,13 @@
"layer": "fn",
"toggle": true
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "keystroke",
"scancode": 232
@@ -69157,21 +73179,11 @@
"keyActionType": "keystroke",
"scancode": 233
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "keystroke",
"scancode": 234
@@ -69184,38 +73196,22 @@
"keyActionType": "keystroke",
"scancode": 235
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "keystroke",
"scancode": 239
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
{
"keyActionType": "keystroke",
"modifierMask": 32
},
- {
- "keyActionType": "none"
- },
+ null,
{
"keyActionType": "switchLayer",
"layer": "fn",
@@ -69244,21 +73240,11 @@
"id": 1,
"pointerRole": "scroll",
"keyActions": [
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "switchLayer",
"layer": "mouse",
@@ -69269,63 +73255,31 @@
"layer": "mod",
"toggle": true
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "switchLayer",
"layer": "mouse",
"toggle": true
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "keystroke",
"modifierMask": 2
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "keystroke",
"modifierMask": 1
@@ -69348,9 +73302,7 @@
"layer": "mod",
"toggle": true
},
- {
- "keyActionType": "none"
- }
+ null
]
}
]
@@ -69361,53 +73313,27 @@
"id": 0,
"pointerRole": "move",
"keyActions": [
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "mouse",
"mouseAction": "scrollUp"
},
- {
- "keyActionType": "none"
- },
+ null,
{
"keyActionType": "mouse",
"mouseAction": "moveUp"
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "mouse",
"mouseAction": "scrollDown"
@@ -69424,39 +73350,17 @@
"keyActionType": "mouse",
"mouseAction": "moveRight"
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "keystroke",
"modifierMask": 64
@@ -69469,62 +73373,32 @@
"keyActionType": "keystroke",
"modifierMask": 16
},
- {
- "keyActionType": "none"
- }
+ null
]
},
{
"id": 1,
"pointerRole": "move",
"keyActions": [
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "switchLayer",
"layer": "mouse",
"toggle": false
},
- {
- "keyActionType": "none"
- },
+ null,
{
"keyActionType": "mouse",
"mouseAction": "rightClick"
@@ -69537,27 +73411,13 @@
"keyActionType": "mouse",
"mouseAction": "leftClick"
},
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
- {
- "keyActionType": "none"
- },
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
{
"keyActionType": "keystroke",
"modifierMask": 1
@@ -69570,9 +73430,7 @@
"keyActionType": "keystroke",
"modifierMask": 4
},
- {
- "keyActionType": "none"
- },
+ null,
{
"keyActionType": "mouse",
"mouseAction": "accelerate"
@@ -69737,3003 +73595,79 @@
]
}
]
+ },
+ {
+ "isDefault": false,
+ "abbreviation": "EMY",
+ "name": "Empty keymap",
+ "description": "None of the keys are bind to any key action. It is ideal if you want to start creating your keymap from the ground up.",
+ "layers": [
+ {
+ "modules": [
+ {
+ "id": 0,
+ "pointerRole": "move",
+ "keyActions": []
+ },
+ {
+ "id": 1,
+ "pointerRole": "move",
+ "keyActions": []
+ }
+ ]
+ },
+ {
+ "modules": [
+ {
+ "id": 0,
+ "pointerRole": "move",
+ "keyActions": []
+ },
+ {
+ "id": 1,
+ "pointerRole": "move",
+ "keyActions": []
+ }
+ ]
+ },
+ {
+ "modules": [
+ {
+ "id": 0,
+ "pointerRole": "move",
+ "keyActions": []
+ },
+ {
+ "id": 1,
+ "pointerRole": "move",
+ "keyActions": []
+ }
+ ]
+ },
+ {
+ "modules": [
+ {
+ "id": 0,
+ "pointerRole": "move",
+ "keyActions": []
+ },
+ {
+ "id": 1,
+ "pointerRole": "move",
+ "keyActions": []
+ }
+ ]
+ }
+ ]
}
];
/***/ },
-/* 531 */
-/***/ function(module, exports) {
-
- module.exports = {"svg":{"$":{"xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:cc":"http://creativecommons.org/ns#","xmlns:rdf":"http://www.w3.org/1999/02/22-rdf-syntax-ns#","xmlns:svg":"http://www.w3.org/2000/svg","xmlns":"http://www.w3.org/2000/svg","xmlns:sodipodi":"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd","xmlns:inkscape":"http://www.inkscape.org/namespaces/inkscape","version":"1.1","width":"1024.3346","height":"471.36612","viewBox":"0 0 1024.3346 471.36612","style":"overflow:visible;","id":"SvgjsSvg1006","inkscape:version":"0.91 r","sodipodi:docname":"base-layer.svg"},"metadata":[{"$":{"id":"metadata230"},"rdf:RDF":[{"cc:Work":[{"$":{"rdf:about":""},"dc:format":["image/svg+xml"],"dc:type":[{"$":{"rdf:resource":"http://purl.org/dc/dcmitype/StillImage"}}]}]}]}],"defs":[{"$":{"id":"defs228"}}],"sodipodi:namedview":[{"$":{"pagecolor":"#ffffff","bordercolor":"#666666","borderopacity":"1","objecttolerance":"10","gridtolerance":"10","guidetolerance":"10","inkscape:pageopacity":"0","inkscape:pageshadow":"2","inkscape:window-width":"1920","inkscape:window-height":"1028","id":"namedview226","showgrid":"false","inkscape:zoom":"1.046533","inkscape:cx":"461.77814","inkscape:cy":"312.8806","inkscape:window-x":"0","inkscape:window-y":"25","inkscape:window-maximized":"1","inkscape:current-layer":"left-parts"}}],"text":[{"$":{"x":"495.03632","y":"20","style":"font-size:34px;fill:#000000;font-family:Sans;text-align:center;text-anchor:middle;display:none;","font-family":"Helvetica, Arial, sans-serif","id":"layer-text"},"tspan":[{"_":"\r\n Base layer\r\n ","$":{"x":"495.03632","dy":"20.8","id":"SvgjsTspan1235"}}]}],"g":[{"$":{"transform":"translate(0 -580.99607)","style":"stroke:none;","id":"root","fill":"#333333"},"g":[{"$":{"transform":"translate(221.57008 1101.7666)","id":"left-parts"},"path":[{"$":{"d":"m 272.81516,-456.8166 -110.96971,0 c -0.32924,0 -0.65827,-0.0468 -0.97472,-0.1386 -0.31645,-0.0918 -0.62027,-0.22866 -0.89995,-0.40551 -0.27968,-0.17684 -0.53514,-0.39367 -0.7565,-0.64244 -0.22135,-0.24877 -0.40854,-0.52944 -0.55411,-0.83133 -0.14558,-0.3019 -0.24947,-0.62497 -0.30744,-0.95668 -3.11169,-17.80554 -6.22337,-35.61107 -9.33505,-53.41661 -0.16174,-0.9255 -0.46824,-1.8252 -0.90498,-2.65546 -0.43675,-0.83027 -1.00365,-1.59085 -1.67347,-2.24448 -0.66982,-0.65363 -1.44238,-1.20007 -2.2801,-1.61231 -0.83772,-0.41224 -1.74031,-0.69012 -2.66354,-0.81983 -0.92322,-0.12971 -1.86673,-0.11121 -2.78423,0.0544 l -352.97851,63.7382 c -0.81059,0.14636 -1.60096,0.40708 -2.34074,0.77257 -0.73979,0.3655 -1.42881,0.83571 -2.04035,1.39272 -0.61154,0.55702 -1.14547,1.20071 -1.58116,1.90622 -0.43571,0.70551 -0.77307,1.47267 -0.99931,2.2718 -0.22626,0.79913 -0.34137,1.63006 -0.34137,2.4609 l 0,389.594539 c 0,0.936363 0.14626,1.872858 0.43247,2.764016 0.2862,0.891158 0.7123,1.736655 1.25787,2.494964 0.54557,0.75831 1.21044,1.429141 1.96201,1.979608 0.75157,0.550465 1.58955,0.980376 2.47279,1.269152 0.88324,0.288776 1.8114,0.436358 2.73944,0.436358 l 342.7307,-1.4e-5 c 1.77165,0 3.54314,-1.7716 3.54314,-3.5432 0,-12.931979 0,-22.981768 0,-34.5827 0,-1.7717 -1.77149,-3.545 -3.54314,-3.545 l -322.73675,0.0013 c -2.79101,0 -5.3291,-2.56086 -5.3291,-5.376898 l 0,-329.455425 c 0,-2.81604 2.53809,-5.3769 5.3291,-5.3769 l 463.75521,0 c 0.93041,0 1.77697,-0.85444 1.77697,-1.79353 0,-7.80504 0,-14.68214 0,-21.94355 0,-0.94218 -0.84656,-1.79632 -1.77697,-1.79632","id":"left-case"}}],"rect":[{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-194.89622","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-0"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-127.57339","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-1"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-60.250557","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-2"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"7.072278","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-3"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"74.395111","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-4"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"141.71794","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-5"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"209.04079","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-6"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-194.89622","y":"-360.50003","height":"63.779526","width":"95.669289","id":"key-7"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-95.683624","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-8"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-28.360792","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-9"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"38.962044","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-10"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"106.28487","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-11"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"173.60771","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-12"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-194.89622","y":"-293.17719","height":"63.779526","width":"111.61417","id":"key-13"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-79.419846","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-14"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-11.778116","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-15"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"55.863617","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-16"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"123.50535","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-17"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"191.14708","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-18"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-194.89622","y":"-225.85435","height":"63.779526","width":"143.50394","id":"key-19"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-47.14032","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-20"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"20.891174","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-21"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"88.922668","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-22"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"156.95416","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-23"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"224.98566","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-24"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-194.89622","y":"-158.53151","height":"63.779526","width":"79.724411","id":"key-25"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-111.98284","y":"-158.53151","height":"63.779526","width":"79.724411","id":"key-26"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"-29.069458","y":"-158.53151","height":"63.779526","width":"79.724411","id":"key-27"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"53.843929","y":"-158.53151","height":"63.779526","width":"79.724411","id":"key-28"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"137.11165","y":"-158.53151","height":"63.779526","width":"131.10236","id":"key-29"}},{"$":{"rx":"3.4856062","ry":"3.5433071","x":"137.11165","y":"-91.071709","height":"41.667309","width":"131.10236","id":"key-30"}}],"text":[{"$":{"y":"-435.0346495","x":"-163.006457","font-size":"19","id":"SvgjsText1084","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"~","$":{"x":"-163.006457","dy":"30.400000000000002","id":"SvgjsTspan1085"}},{"_":"`","$":{"x":"-163.006457","dy":"30.400000000000002","id":"SvgjsTspan1086"}}]},{"$":{"y":"-435.0346495","x":"-95.683627","font-size":"19","id":"SvgjsText1087","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"!","$":{"x":"-95.683627","dy":"30.400000000000002","id":"SvgjsTspan1088"}},{"_":"1","$":{"x":"-95.683627","dy":"30.400000000000002","id":"SvgjsTspan1089"}}]},{"$":{"y":"-435.0346495","x":"-28.360794000000002","font-size":"19","id":"SvgjsText1090","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"@","$":{"x":"-28.360794000000002","dy":"30.400000000000002","id":"SvgjsTspan1091"}},{"_":"2","$":{"x":"-28.360794000000002","dy":"30.400000000000002","id":"SvgjsTspan1092"}}]},{"$":{"y":"-435.0346495","x":"38.962041","font-size":"19","id":"SvgjsText1093","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"#","$":{"x":"38.962041","dy":"30.400000000000002","id":"SvgjsTspan1094"}},{"_":"3","$":{"x":"38.962041","dy":"30.400000000000002","id":"SvgjsTspan1095"}}]},{"$":{"y":"-435.0346495","x":"106.284874","font-size":"19","id":"SvgjsText1096","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"$","$":{"x":"106.284874","dy":"30.400000000000002","id":"SvgjsTspan1097"}},{"_":"4","$":{"x":"106.284874","dy":"30.400000000000002","id":"SvgjsTspan1098"}}]},{"$":{"y":"-435.0346495","x":"173.607703","font-size":"19","id":"SvgjsText1099","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"%","$":{"x":"173.607703","dy":"30.400000000000002","id":"SvgjsTspan1100"}},{"_":"5","$":{"x":"173.607703","dy":"30.400000000000002","id":"SvgjsTspan1101"}}]},{"$":{"y":"-435.0346495","x":"240.93055299999997","font-size":"19","id":"SvgjsText1102","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"^","$":{"x":"240.93055299999997","dy":"30.400000000000002","id":"SvgjsTspan1103"}},{"_":"6","$":{"x":"240.93055299999997","dy":"30.400000000000002","id":"SvgjsTspan1104"}}]},{"$":{"y":"-352.50870449999996","x":"-147.0615755","font-size":"19","id":"SvgjsText1125","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Tab\r\n ","$":{"x":"-147.0615755","dy":"30.400000000000002","id":"SvgjsTspan1126"}}]},{"$":{"y":"-352.50870449999996","x":"-63.79386099999999","font-size":"19","id":"SvgjsText1127","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Q\r\n ","$":{"x":"-63.79386099999999","dy":"30.400000000000002","id":"SvgjsTspan1128"}}]},{"$":{"y":"-352.50870449999996","x":"3.5289709999999985","font-size":"19","id":"SvgjsText1129","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n W\r\n ","$":{"x":"3.5289709999999985","dy":"30.400000000000002","id":"SvgjsTspan1130"}}]},{"$":{"y":"-352.50870449999996","x":"70.851807","font-size":"19","id":"SvgjsText1131","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n E\r\n ","$":{"x":"70.851807","dy":"30.400000000000002","id":"SvgjsTspan1132"}}]},{"$":{"y":"-352.50870449999996","x":"138.174633","font-size":"19","id":"SvgjsText1133","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n R\r\n ","$":{"x":"138.174633","dy":"30.400000000000002","id":"SvgjsTspan1134"}}]},{"$":{"y":"-352.50870449999996","x":"205.49747299999999","font-size":"19","id":"SvgjsText1135","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n T\r\n ","$":{"x":"205.49747299999999","dy":"30.400000000000002","id":"SvgjsTspan1136"}}]},{"$":{"y":"-285.1858645","x":"-139.089135","font-size":"19","id":"SvgjsText1156","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Mouse\r\n ","$":{"x":"-139.089135","dy":"30.400000000000002","id":"SvgjsTspan1157"}}]},{"$":{"y":"-285.1858645","x":"-47.530083000000005","font-size":"19","id":"SvgjsText1158","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n A\r\n ","$":{"x":"-47.530083000000005","dy":"30.400000000000002","id":"SvgjsTspan1159"}}]},{"$":{"y":"-285.1858645","x":"20.111646999999998","font-size":"19","id":"SvgjsText1160","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n S\r\n ","$":{"x":"20.111646999999998","dy":"30.400000000000002","id":"SvgjsTspan1161"}}]},{"$":{"y":"-285.1858645","x":"87.75337999999999","font-size":"19","id":"SvgjsText1162","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n D\r\n ","$":{"x":"87.75337999999999","dy":"30.400000000000002","id":"SvgjsTspan1163"}}]},{"$":{"y":"-285.1858645","x":"155.395113","font-size":"19","id":"SvgjsText1164","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n F\r\n ","$":{"x":"155.395113","dy":"30.400000000000002","id":"SvgjsTspan1165"}}]},{"$":{"y":"-285.1858645","x":"223.03684299999998","font-size":"19","id":"SvgjsText1166","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n G\r\n ","$":{"x":"223.03684299999998","dy":"30.400000000000002","id":"SvgjsTspan1167"}}]},{"$":{"y":"-217.86302450000002","x":"-123.14425","font-size":"19","id":"SvgjsText1184","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Shift\r\n ","$":{"x":"-123.14425","dy":"30.400000000000002","id":"SvgjsTspan1185"}}]},{"$":{"y":"-217.86302450000002","x":"-15.250557000000004","font-size":"19","id":"SvgjsText1186","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Z\r\n ","$":{"x":"-15.250557000000004","dy":"30.400000000000002","id":"SvgjsTspan1187"}}]},{"$":{"y":"-217.86302450000002","x":"52.780936999999994","font-size":"19","id":"SvgjsText1188","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n X\r\n ","$":{"x":"52.780936999999994","dy":"30.400000000000002","id":"SvgjsTspan1189"}}]},{"$":{"y":"-217.86302450000002","x":"120.812431","font-size":"19","id":"SvgjsText1190","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n C\r\n ","$":{"x":"120.812431","dy":"30.400000000000002","id":"SvgjsTspan1191"}}]},{"$":{"y":"-217.86302450000002","x":"188.843923","font-size":"19","id":"SvgjsText1192","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n V\r\n ","$":{"x":"188.843923","dy":"30.400000000000002","id":"SvgjsTspan1193"}}]},{"$":{"y":"-217.86302450000002","x":"256.875423","font-size":"19","id":"SvgjsText1194","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n B\r\n ","$":{"x":"256.875423","dy":"30.400000000000002","id":"SvgjsTspan1195"}}]},{"$":{"y":"-150.5401845","x":"-155.0340145","font-size":"19","id":"SvgjsText1211","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Ctrl\r\n ","$":{"x":"-155.0340145","dy":"30.400000000000002","id":"SvgjsTspan1212"}}]},{"$":{"y":"-150.5401845","x":"-72.1206345","font-size":"19","id":"SvgjsText1213","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Super\r\n ","$":{"x":"-72.1206345","dy":"30.400000000000002","id":"SvgjsTspan1214"}}]},{"$":{"y":"-150.5401845","x":"10.7927475","font-size":"19","id":"SvgjsText1215","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Alt\r\n ","$":{"x":"10.7927475","dy":"30.400000000000002","id":"SvgjsTspan1216"}}]},{"$":{"y":"-150.5401845","x":"93.7061345","font-size":"19","id":"SvgjsText1217","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Fn\r\n ","$":{"x":"93.7061345","dy":"30.400000000000002","id":"SvgjsTspan1218"}}]},{"$":{"y":"-150.5401845","x":"202.66282999999999","font-size":"19","id":"SvgjsText1219","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Mod\r\n ","$":{"x":"202.66282999999999","dy":"30.400000000000002","id":"SvgjsTspan1220"}}]},{"$":{"y":"-94.136492","x":"202.66282999999999","font-size":"19","id":"SvgjsText1231","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Space\r\n ","$":{"x":"202.66282999999999","dy":"30.400000000000002","id":"SvgjsTspan1232"}}]}]},{"$":{"transform":"translate(44.404903 1101.7674)","id":"right-parts"},"path":[{"$":{"d":"m 951.05862,-431.2832 c 2.791,0 5.32908,2.56086 5.32908,5.3769 l 0,329.455425 c 0,2.816038 -2.53808,5.376898 -5.32908,5.376898 l -370.67909,-0.0013 c -1.77166,0 -3.54347,1.7733 -3.54347,3.545 0,12.895215 0,23.315027 0,34.58266 0,1.7716 1.77181,3.5432 3.54347,3.5432 l 390.67297,1.44e-4 c 0.92804,0 1.85621,-0.147582 2.73944,-0.436358 0.88324,-0.288776 1.72122,-0.718687 2.47277,-1.269152 0.75157,-0.550467 1.41644,-1.221298 1.96201,-1.979608 0.54557,-0.758309 0.97166,-1.603806 1.25787,-2.494964 0.2862,-0.891158 0.43247,-1.827653 0.43247,-2.764016 l 0,-389.434639 c 0,-0.83901 -0.11739,-1.67813 -0.34806,-2.4845 -0.23066,-0.80638 -0.57456,-1.57983 -1.01841,-2.28986 -0.44385,-0.71002 -0.98756,-1.35643 -1.60971,-1.91378 -0.62215,-0.55735 -1.3226,-1.0255 -2.07365,-1.38629 -0.75105,-0.36078 -1.55253,-0.61412 -2.37301,-0.75058 -130.52433,-21.7076 -270.93602,-45.05959 -384.94144,-64.01992 -0.91165,-0.15162 -1.8469,-0.15828 -2.76061,-0.0195 -0.91372,0.13871 -1.8056,0.42276 -2.63265,0.83829 -0.82706,0.41551 -1.58903,0.96236 -2.24949,1.61394 -0.66047,0.65158 -1.21924,1.40768 -1.64996,2.2319 -0.43072,0.82422 -0.73327,1.71631 -0.8936,2.63375 -3.12168,17.84567 -6.23258,35.69325 -9.35634,53.53854 -0.058,0.33171 -0.16187,0.65478 -0.30744,0.95668 -0.14556,0.30189 -0.33275,0.58256 -0.5541,0.83133 -0.22136,0.24877 -0.47683,0.4656 -0.7565,0.64244 -0.27967,0.17685 -0.5835,0.31372 -0.89995,0.40551 -0.31645,0.0919 -0.64548,0.1386 -0.97471,0.1386 l -109.19782,-2e-5 c -0.93043,-10e-6 -1.77697,0.85413 -1.77697,1.79631 10e-6,7.4108 -1e-5,15.64271 0,21.94355 0,0.93909 0.84654,1.79353 1.77697,1.79353 l 495.73901,0","id":"right-case"}}],"rect":[{"$":{"rx":"3.5433071","ry":"3.5433071","x":"453.52896","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-0"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"520.85181","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-1"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"588.17462","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-2"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"655.4975","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-3"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"722.82031","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-4"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"790.14313","y":"-427.82285","height":"63.779526","width":"63.779526","id":"key-5"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"857.466","y":"-427.82285","height":"63.779526","width":"95.669289","id":"key-6"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"418.09589","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-7"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"485.41873","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-8"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"552.74158","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-9"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"620.06439","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-10"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"687.38727","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-11"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"754.71008","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-12"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"822.0329","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-13"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"889.35571","y":"-360.50003","height":"63.779526","width":"63.779526","id":"key-14"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"435.67072","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-15"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"503.31244","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-16"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"570.95416","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-17"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"638.59589","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-18"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"706.23761","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-19"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"773.87939","y":"-293.17719","height":"63.779526","width":"63.779526","id":"key-20"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"841.52112","y":"-293.17719","height":"63.779526","width":"111.61417","id":"key-21"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"469.47385","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-22"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"537.50537","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-23"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"605.53687","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-24"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"673.56836","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-25"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"741.59985","y":"-225.85435","height":"63.779526","width":"63.779526","id":"key-26"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"809.63135","y":"-225.85435","height":"63.779526","width":"143.50394","id":"key-27"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"448.92267","y":"-158.53151","height":"63.779526","width":"124.37008","id":"key-28"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"576.83606","y":"-158.53151","height":"63.779526","width":"79.724411","id":"key-29"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"659.74945","y":"-158.53151","height":"63.779526","width":"79.724411","id":"key-30"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"742.66284","y":"-158.53151","height":"63.779526","width":"79.724411","id":"key-31"}},{"$":{"rx":"3.5433071","ry":"3.5433071","x":"825.57623","y":"-158.53151","height":"63.779526","width":"127.55905","id":"key-32"}},{"$":{"rx":"3.493542","ry":"3.5433071","x":"448.92267","y":"-91.071663","height":"41.667309","width":"124.37009","id":"key-33"}}],"text":[{"$":{"y":"-435.0346495","x":"485.418723","font-size":"19","id":"SvgjsText1105","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"&","$":{"x":"485.418723","dy":"30.400000000000002","id":"SvgjsTspan1106"}},{"_":"7","$":{"x":"485.418723","dy":"30.400000000000002","id":"SvgjsTspan1107"}}]},{"$":{"y":"-435.0346495","x":"552.741573","font-size":"19","id":"SvgjsText1108","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"*","$":{"x":"552.741573","dy":"30.400000000000002","id":"SvgjsTspan1109"}},{"_":"8","$":{"x":"552.741573","dy":"30.400000000000002","id":"SvgjsTspan1110"}}]},{"$":{"y":"-435.0346495","x":"620.064383","font-size":"19","id":"SvgjsText1111","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"(","$":{"x":"620.064383","dy":"30.400000000000002","id":"SvgjsTspan1112"}},{"_":"9","$":{"x":"620.064383","dy":"30.400000000000002","id":"SvgjsTspan1113"}}]},{"$":{"y":"-435.0346495","x":"687.387263","font-size":"19","id":"SvgjsText1114","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":")","$":{"x":"687.387263","dy":"30.400000000000002","id":"SvgjsTspan1115"}},{"_":"0","$":{"x":"687.387263","dy":"30.400000000000002","id":"SvgjsTspan1116"}}]},{"$":{"y":"-435.0346495","x":"754.710073","font-size":"19","id":"SvgjsText1117","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"_","$":{"x":"754.710073","dy":"30.400000000000002","id":"SvgjsTspan1118"}},{"_":"-","$":{"x":"754.710073","dy":"30.400000000000002","id":"SvgjsTspan1119"}}]},{"$":{"y":"-435.0346495","x":"822.0328930000001","font-size":"19","id":"SvgjsText1120","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"+","$":{"x":"822.0328930000001","dy":"30.400000000000002","id":"SvgjsTspan1121"}},{"_":"=","$":{"x":"822.0328930000001","dy":"30.400000000000002","id":"SvgjsTspan1122"}}]},{"$":{"y":"-419.8315245","x":"905.3006445","font-size":"19","id":"SvgjsText1123","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n ←\r\n ","$":{"x":"905.3006445","dy":"30.400000000000002","id":"SvgjsTspan1124"}}]},{"$":{"y":"-352.50870449999996","x":"449.985653","font-size":"19","id":"SvgjsText1137","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Y\r\n ","$":{"x":"449.985653","dy":"30.400000000000002","id":"SvgjsTspan1138"}}]},{"$":{"y":"-352.50870449999996","x":"517.308493","font-size":"19","id":"SvgjsText1139","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n U\r\n ","$":{"x":"517.308493","dy":"30.400000000000002","id":"SvgjsTspan1140"}}]},{"$":{"y":"-352.50870449999996","x":"584.631343","font-size":"19","id":"SvgjsText1141","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n I\r\n ","$":{"x":"584.631343","dy":"30.400000000000002","id":"SvgjsTspan1142"}}]},{"$":{"y":"-352.50870449999996","x":"651.954153","font-size":"19","id":"SvgjsText1143","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n O\r\n ","$":{"x":"651.954153","dy":"30.400000000000002","id":"SvgjsTspan1144"}}]},{"$":{"y":"-352.50870449999996","x":"719.277033","font-size":"19","id":"SvgjsText1145","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n P\r\n ","$":{"x":"719.277033","dy":"30.400000000000002","id":"SvgjsTspan1146"}}]},{"$":{"y":"-367.71182949999996","x":"786.599843","font-size":"19","id":"SvgjsText1147","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"{","$":{"x":"786.599843","dy":"30.400000000000002","id":"SvgjsTspan1148"}},{"_":"[","$":{"x":"786.599843","dy":"30.400000000000002","id":"SvgjsTspan1149"}}]},{"$":{"y":"-367.71182949999996","x":"853.9226630000001","font-size":"19","id":"SvgjsText1150","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"}","$":{"x":"853.9226630000001","dy":"30.400000000000002","id":"SvgjsTspan1151"}},{"_":"]","$":{"x":"853.9226630000001","dy":"30.400000000000002","id":"SvgjsTspan1152"}}]},{"$":{"y":"-367.71182949999996","x":"921.2454730000001","font-size":"19","id":"SvgjsText1153","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"|","$":{"x":"921.2454730000001","dy":"30.400000000000002","id":"SvgjsTspan1154"}},{"_":"\\","$":{"x":"921.2454730000001","dy":"30.400000000000002","id":"SvgjsTspan1155"}}]},{"$":{"y":"-285.1858645","x":"467.56048300000003","font-size":"19","id":"SvgjsText1168","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n H\r\n ","$":{"x":"467.56048300000003","dy":"30.400000000000002","id":"SvgjsTspan1169"}}]},{"$":{"y":"-285.1858645","x":"535.2022029999999","font-size":"19","id":"SvgjsText1170","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n J\r\n ","$":{"x":"535.2022029999999","dy":"30.400000000000002","id":"SvgjsTspan1171"}}]},{"$":{"y":"-285.1858645","x":"602.843923","font-size":"19","id":"SvgjsText1172","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n K\r\n ","$":{"x":"602.843923","dy":"30.400000000000002","id":"SvgjsTspan1173"}}]},{"$":{"y":"-285.1858645","x":"670.4856530000001","font-size":"19","id":"SvgjsText1174","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n L\r\n ","$":{"x":"670.4856530000001","dy":"30.400000000000002","id":"SvgjsTspan1175"}}]},{"$":{"y":"-300.3889895","x":"738.127373","font-size":"19","id":"SvgjsText1176","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":":","$":{"x":"738.127373","dy":"30.400000000000002","id":"SvgjsTspan1177"}},{"_":";","$":{"x":"738.127373","dy":"30.400000000000002","id":"SvgjsTspan1178"}}]},{"$":{"y":"-300.3889895","x":"805.769153","font-size":"19","id":"SvgjsText1179","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\"","$":{"x":"805.769153","dy":"30.400000000000002","id":"SvgjsTspan1180"}},{"_":"'","$":{"x":"805.769153","dy":"30.400000000000002","id":"SvgjsTspan1181"}}]},{"$":{"y":"-285.1858645","x":"897.328205","font-size":"19","id":"SvgjsText1182","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Enter\r\n ","$":{"x":"897.328205","dy":"30.400000000000002","id":"SvgjsTspan1183"}}]},{"$":{"y":"-217.86302450000002","x":"501.36361300000004","font-size":"19","id":"SvgjsText1196","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n N\r\n ","$":{"x":"501.36361300000004","dy":"30.400000000000002","id":"SvgjsTspan1197"}}]},{"$":{"y":"-217.86302450000002","x":"569.395133","font-size":"19","id":"SvgjsText1198","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n M\r\n ","$":{"x":"569.395133","dy":"30.400000000000002","id":"SvgjsTspan1199"}}]},{"$":{"y":"-233.06614950000002","x":"637.426633","font-size":"19","id":"SvgjsText1200","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"<","$":{"x":"637.426633","dy":"30.400000000000002","id":"SvgjsTspan1201"}},{"_":",","$":{"x":"637.426633","dy":"30.400000000000002","id":"SvgjsTspan1202"}}]},{"$":{"y":"-233.06614950000002","x":"705.458123","font-size":"19","id":"SvgjsText1203","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":">","$":{"x":"705.458123","dy":"30.400000000000002","id":"SvgjsTspan1204"}},{"_":".","$":{"x":"705.458123","dy":"30.400000000000002","id":"SvgjsTspan1205"}}]},{"$":{"y":"-233.06614950000002","x":"773.489613","font-size":"19","id":"SvgjsText1206","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"?","$":{"x":"773.489613","dy":"30.400000000000002","id":"SvgjsTspan1207"}},{"_":"/","$":{"x":"773.489613","dy":"30.400000000000002","id":"SvgjsTspan1208"}}]},{"$":{"y":"-217.86302450000002","x":"881.38332","font-size":"19","id":"SvgjsText1209","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Shift\r\n ","$":{"x":"881.38332","dy":"30.400000000000002","id":"SvgjsTspan1210"}}]},{"$":{"y":"-150.5401845","x":"511.10771","font-size":"19","id":"SvgjsText1221","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Space\r\n ","$":{"x":"511.10771","dy":"30.400000000000002","id":"SvgjsTspan1222"}}]},{"$":{"y":"-150.5401845","x":"616.6982654999999","font-size":"19","id":"SvgjsText1223","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Fn\r\n ","$":{"x":"616.6982654999999","dy":"30.400000000000002","id":"SvgjsTspan1224"}}]},{"$":{"y":"-150.5401845","x":"699.6116555","font-size":"19","id":"SvgjsText1225","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Alt\r\n ","$":{"x":"699.6116555","dy":"30.400000000000002","id":"SvgjsTspan1226"}}]},{"$":{"y":"-150.5401845","x":"782.5250454999999","font-size":"19","id":"SvgjsText1227","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Super\r\n ","$":{"x":"782.5250454999999","dy":"30.400000000000002","id":"SvgjsTspan1228"}}]},{"$":{"y":"-150.5401845","x":"889.355755","font-size":"19","id":"SvgjsText1229","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Ctrl\r\n ","$":{"x":"889.355755","dy":"30.400000000000002","id":"SvgjsTspan1230"}}]},{"$":{"y":"-94.136446","x":"511.107715","font-size":"19","id":"SvgjsText1233","text-anchor":"middle","font-family":"Helvetica","fill":"#ffffff"},"tspan":[{"_":"\r\n Mod\r\n ","$":{"x":"511.107715","dy":"30.400000000000002","id":"SvgjsTspan1234"}}]}]}]}]}}
-
-/***/ },
-/* 532 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n Play macro: \r\n \r\n
\r\n\r\n
= 0\">\r\n \r\n \r\n \r\n
\r\n \r\n
";
-
-/***/ },
-/* 533 */
-/***/ function(module, exports) {
-
- module.exports = ":host {\n display: flex;\n flex-direction: column; }\n :host .macro-selector {\n display: flex;\n margin-top: 2px; }\n :host .macro-selector b {\n display: flex;\n align-items: center;\n margin-right: 7px; }\n :host .macro-selector select2 {\n flex: 1; }\n :host .macro-action-container {\n display: flex;\n flex-direction: column;\n min-height: 200px;\n max-height: 300px;\n margin: 20px 0;\n overflow-x: hidden;\n overflow-y: auto;\n border-radius: 4px;\n border: 1px solid #ddd; }\n :host .macro-action-container.inactive {\n border: 0; }\n :host .macro-action-container .list-group {\n margin-bottom: 0;\n border: 0; }\n"
-
-/***/ },
-/* 534 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(535));
-
-
-/***/ },
-/* 535 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var key_action_1 = __webpack_require__(434);
- var MouseTabComponent = (function () {
- function MouseTabComponent() {
- /* tslint:disable:variable-name: It is an enum type. So it can start with uppercase. */
- /* tslint:disable:no-unused-variable: It is used in the template. */
- this.MouseActionParam = key_action_1.MouseActionParam;
- this.selectedPageIndex = 0;
- this.pages = ['Move', 'Scroll', 'Click', 'Speed'];
- }
- MouseTabComponent.prototype.ngOnInit = function () {
- this.fromKeyAction(this.defaultKeyAction);
- };
- MouseTabComponent.prototype.keyActionValid = function () {
- return this.mouseActionParam !== undefined;
- };
- MouseTabComponent.prototype.fromKeyAction = function (keyAction) {
- if (!(keyAction instanceof key_action_1.MouseAction)) {
- return false;
- }
- var mouseAction = keyAction;
- this.mouseActionParam = mouseAction.mouseAction;
- if (mouseAction.mouseAction === key_action_1.MouseActionParam.moveUp) {
- this.selectedPageIndex = 0;
- }
- switch (mouseAction.mouseAction) {
- case key_action_1.MouseActionParam.moveDown:
- case key_action_1.MouseActionParam.moveUp:
- case key_action_1.MouseActionParam.moveLeft:
- case key_action_1.MouseActionParam.moveRight:
- this.selectedPageIndex = 0;
- break;
- case key_action_1.MouseActionParam.scrollDown:
- case key_action_1.MouseActionParam.scrollUp:
- case key_action_1.MouseActionParam.scrollLeft:
- case key_action_1.MouseActionParam.scrollRight:
- this.selectedPageIndex = 1;
- break;
- case key_action_1.MouseActionParam.leftClick:
- case key_action_1.MouseActionParam.middleClick:
- case key_action_1.MouseActionParam.rightClick:
- this.selectedPageIndex = 2;
- break;
- case key_action_1.MouseActionParam.decelerate:
- case key_action_1.MouseActionParam.accelerate:
- this.selectedPageIndex = 3;
- break;
- default:
- return false;
- }
- return true;
- };
- MouseTabComponent.prototype.toKeyAction = function () {
- if (!this.keyActionValid()) {
- throw new Error('KeyAction is not valid. No selected mouse action!');
- }
- var mouseAction = new key_action_1.MouseAction();
- mouseAction.mouseAction = this.mouseActionParam;
- return mouseAction;
- };
- MouseTabComponent.prototype.changePage = function (index) {
- if (index < -1 || index > 3) {
- console.error("Invalid index error: " + index);
- return;
- }
- this.selectedPageIndex = index;
- this.mouseActionParam = undefined;
- };
- MouseTabComponent.prototype.setMouseActionParam = function (mouseActionParam) {
- this.mouseActionParam = mouseActionParam;
- };
- __decorate([
- core_1.Input(),
- __metadata('design:type', key_action_1.KeyAction)
- ], MouseTabComponent.prototype, "defaultKeyAction", void 0);
- MouseTabComponent = __decorate([
- core_1.Component({
- selector: 'mouse-tab',
- template: __webpack_require__(536),
- styles: [__webpack_require__(537)]
- }),
- __metadata('design:paramtypes', [])
- ], MouseTabComponent);
- return MouseTabComponent;
- }());
- exports.MouseTabComponent = MouseTabComponent;
-
-
-/***/ },
-/* 536 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n Left \r\n Middle \r\n Right \r\n
\r\n
\r\n
\r\n
\r\n
Press this key along with mouse movement/scrolling to accelerate/decelerate the speed of the action.
\r\n
You can set the multiplier in link to setting .
\r\n
\r\n
\r\n - \r\n + \r\n
\r\n
\r\n
\r\n
\r\n
";
-
-/***/ },
-/* 537 */
-/***/ function(module, exports) {
-
- module.exports = ":host {\n display: flex; }\n :host.popover-content {\n padding: 10px;\n display: flex;\n align-items: center; }\n :host .mouse-action .nav {\n border-right: 1px solid #ccc; }\n :host .mouse-action .nav li a {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n :host .mouse-action .nav li a.selected {\n font-style: italic; }\n :host .mouse-action .nav li.active a.selected {\n font-style: normal; }\n :host .mouse-action .nav li.active a:after {\n content: '';\n display: block;\n position: absolute;\n width: 0;\n height: 0;\n top: 0;\n right: -4rem;\n border-color: transparent transparent transparent #337ab7;\n border-style: solid;\n border-width: 2rem; }\n :host .help-text--mouse-speed {\n margin-bottom: 2rem;\n font-size: 0.9em;\n color: #666; }\n :host .help-text--mouse-speed p {\n margin: 0; }\n :host .details .btn-placeholder {\n visibility: hidden; }\n"
-
-/***/ },
-/* 538 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(539));
-
-
-/***/ },
-/* 539 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var key_action_1 = __webpack_require__(434);
- var NoneTabComponent = (function () {
- function NoneTabComponent() {
- }
- NoneTabComponent.prototype.ngOnInit = function () { };
- NoneTabComponent.prototype.keyActionValid = function () {
- return true;
- };
- NoneTabComponent.prototype.fromKeyAction = function () {
- return false;
- };
- NoneTabComponent.prototype.toKeyAction = function () {
- return new key_action_1.NoneAction();
- };
- NoneTabComponent = __decorate([
- core_1.Component({
- selector: 'none-tab',
- template: __webpack_require__(540),
- styles: [__webpack_require__(541)]
- }),
- __metadata('design:paramtypes', [])
- ], NoneTabComponent);
- return NoneTabComponent;
- }());
- exports.NoneTabComponent = NoneTabComponent;
-
-
-/***/ },
-/* 540 */
-/***/ function(module, exports) {
-
- module.exports = "This key is unassigned and has no functionality.";
-
-/***/ },
-/* 541 */
-/***/ function(module, exports) {
-
- module.exports = ":host {\n display: flex;\n justify-content: center;\n padding: 2rem 0; }\n"
-
-/***/ },
-/* 542 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n
\r\n
\r\n
\r\n
Press key \r\n Hold key \r\n Release key \r\n \r\n \r\n
\r\n
";
-
-/***/ },
-/* 543 */
-/***/ function(module, exports) {
-
- module.exports = ".macro-key__container {\n padding: 0; }\n\n.macro-key__types {\n margin-left: 0;\n padding: 0 0 1rem; }\n\n.macro-key__action {\n padding-left: 3rem;\n padding-bottom: 1rem; }\n .macro-key__action-container {\n margin-top: -1rem;\n padding-top: 1rem;\n border-left: 1px solid #ddd; }\n\n.fa {\n min-width: 14px; }\n"
-
-/***/ },
-/* 544 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var macro_mouse_component_1 = __webpack_require__(545);
- exports.MacroMouseTabComponent = macro_mouse_component_1.MacroMouseTabComponent;
-
-
-/***/ },
-/* 545 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var macro_action_1 = __webpack_require__(471);
- var TabName;
- (function (TabName) {
- TabName[TabName["Move"] = 0] = "Move";
- TabName[TabName["Scroll"] = 1] = "Scroll";
- TabName[TabName["Click"] = 2] = "Click";
- TabName[TabName["Hold"] = 3] = "Hold";
- TabName[TabName["Release"] = 4] = "Release";
- })(TabName || (TabName = {}));
- var MacroMouseTabComponent = (function () {
- /* tslint:enable:no-unused-variable */
- /* tslint:enable:variable-name */
- function MacroMouseTabComponent() {
- /* tslint:disable:variable-name: It is an enum type. So it can start with uppercase. */
- /* tslint:disable:no-unused-variable: It is used in the template. */
- this.TabName = TabName;
- this.buttonLabels = ['Left', 'Middle', 'Right'];
- this.selectedButtons = Array(this.buttonLabels.length).fill(false);
- }
- MacroMouseTabComponent.prototype.ngOnInit = function () {
- var tabName = this.getTabName(this.macroAction);
- this.selectTab(tabName);
- var buttonActions = [TabName.Click, TabName.Hold, TabName.Release];
- if (buttonActions.includes(this.activeTab)) {
- this.selectedButtons = this.macroAction.getMouseButtons();
- }
- };
- MacroMouseTabComponent.prototype.selectTab = function (tab) {
- this.activeTab = tab;
- this.macroAction.macroActionType = this.getMacroActionType(tab);
- if (this.macroAction.macroActionType === macro_action_1.macroActionType.MouseButtonMacroAction) {
- this.macroAction.action = this.getAction(tab);
- }
- };
- MacroMouseTabComponent.prototype.setMouseClick = function (index) {
- this.selectedButtons[index] = !this.selectedButtons[index];
- this.macroAction.setMouseButtons(this.selectedButtons);
- };
- MacroMouseTabComponent.prototype.hasButton = function (index) {
- return this.selectedButtons[index];
- };
- MacroMouseTabComponent.prototype.getAction = function (tab) {
- switch (tab) {
- case TabName.Click:
- return macro_action_1.MacroSubAction.press;
- case TabName.Hold:
- return macro_action_1.MacroSubAction.hold;
- case TabName.Release:
- return macro_action_1.MacroSubAction.release;
- default:
- throw new Error('Invalid tab name');
- }
- };
- MacroMouseTabComponent.prototype.getTabName = function (action) {
- if (action.macroActionType === macro_action_1.macroActionType.MouseButtonMacroAction) {
- if (!action.action || action.isOnlyPressAction()) {
- return TabName.Click;
- }
- else if (action.isOnlyPressAction()) {
- return TabName.Hold;
- }
- else if (action.isOnlyReleaseAction()) {
- return TabName.Release;
- }
- }
- else if (action.macroActionType === macro_action_1.macroActionType.MoveMouseMacroAction) {
- return TabName.Move;
- }
- else if (action.macroActionType === macro_action_1.macroActionType.ScrollMouseMacroAction) {
- return TabName.Scroll;
- }
- return TabName.Move;
- };
- MacroMouseTabComponent.prototype.getMacroActionType = function (tab) {
- if (tab === TabName.Click || tab === TabName.Hold || tab === TabName.Release) {
- return macro_action_1.macroActionType.MouseButtonMacroAction;
- }
- else if (tab === TabName.Move) {
- return macro_action_1.macroActionType.MoveMouseMacroAction;
- }
- else if (tab === TabName.Scroll) {
- return macro_action_1.macroActionType.ScrollMouseMacroAction;
- }
- };
- __decorate([
- core_1.Input(),
- __metadata('design:type', macro_action_1.EditableMacroAction)
- ], MacroMouseTabComponent.prototype, "macroAction", void 0);
- __decorate([
- core_1.ViewChild('tab'),
- __metadata('design:type', Object)
- ], MacroMouseTabComponent.prototype, "selectedTab", void 0);
- MacroMouseTabComponent = __decorate([
- core_1.Component({
- selector: 'macro-mouse-tab',
- template: __webpack_require__(546),
- styles: [
- __webpack_require__(499),
- __webpack_require__(547)
- ],
- host: { 'class': 'macro__mouse' }
- }),
- __metadata('design:paramtypes', [])
- ], MacroMouseTabComponent);
- return MacroMouseTabComponent;
- }());
- exports.MacroMouseTabComponent = MacroMouseTabComponent;
-
-
-/***/ },
-/* 546 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n
\r\n
\r\n
\r\n
Move pointer \r\n
Use negative values to move down or left from current position.
\r\n
\r\n
\r\n
\r\n
Scroll \r\n
Use negative values to move down or left from current position.
\r\n
\r\n
\r\n
\r\n
Click mouse button \r\n
Hold mouse button \r\n
Release mouse button \r\n
\r\n {{buttonLabel}} \r\n
\r\n
\r\n
\r\n
";
-
-/***/ },
-/* 547 */
-/***/ function(module, exports) {
-
- module.exports = ".macro-mouse__container {\n padding: 0; }\n\n.macro-mouse__types {\n border-right: 1px solid #ddd;\n border-left: 0;\n margin-top: -1rem;\n margin-left: 0;\n padding: 1rem 0; }\n\n.macro-mouse__actions {\n padding-left: 3rem;\n padding-bottom: 1rem; }\n\n.macro-mouse__buttons {\n margin-top: 3rem;\n margin-bottom: 1rem; }\n\n.fa {\n min-width: 14px; }\n\n.form-horizontal .form-group {\n margin: 0 0 0.5rem; }\n\n.form-horizontal label {\n display: inline-block;\n margin-right: 0.5rem; }\n\n.form-horizontal .form-control {\n display: inline-block;\n width: 60%; }\n"
-
-/***/ },
-/* 548 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var macro_text_component_1 = __webpack_require__(549);
- exports.MacroTextTabComponent = macro_text_component_1.MacroTextTabComponent;
-
-
-/***/ },
-/* 549 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var macro_action_1 = __webpack_require__(471);
- var MacroTextTabComponent = (function () {
- function MacroTextTabComponent(renderer) {
- this.renderer = renderer;
- }
- MacroTextTabComponent.prototype.ngAfterViewInit = function () {
- this.renderer.invokeElementMethod(this.input.nativeElement, 'focus');
- };
- __decorate([
- core_1.Input(),
- __metadata('design:type', macro_action_1.EditableMacroAction)
- ], MacroTextTabComponent.prototype, "macroAction", void 0);
- __decorate([
- core_1.ViewChild('macroTextInput'),
- __metadata('design:type', core_1.ElementRef)
- ], MacroTextTabComponent.prototype, "input", void 0);
- MacroTextTabComponent = __decorate([
- core_1.Component({
- selector: 'macro-text-tab',
- template: __webpack_require__(550),
- styles: [__webpack_require__(551)],
- host: { 'class': 'macro__text' }
- }),
- __metadata('design:paramtypes', [core_1.Renderer])
- ], MacroTextTabComponent);
- return MacroTextTabComponent;
- }());
- exports.MacroTextTabComponent = MacroTextTabComponent;
-
-
-/***/ },
-/* 550 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n
Type text \r\n
Input the text you want to type with this macro action.
\r\n
\r\n
";
-
-/***/ },
-/* 551 */
-/***/ function(module, exports) {
-
- module.exports = ":host {\n display: flex;\n flex-direction: column;\n position: relative; }\n\n.macro__text-input {\n width: 100%;\n min-height: 10rem;\n margin-bottom: 1rem; }\n"
-
-/***/ },
-/* 552 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(553));
-
-
-/***/ },
-/* 553 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var NotificationComponent = (function () {
- function NotificationComponent() {
- }
- NotificationComponent = __decorate([
- core_1.Component({
- selector: 'notification',
- template: __webpack_require__(554),
- styles: [__webpack_require__(555)]
- }),
- __metadata('design:paramtypes', [])
- ], NotificationComponent);
- return NotificationComponent;
- }());
- exports.NotificationComponent = NotificationComponent;
-
-
-/***/ },
-/* 554 */
-/***/ function(module, exports) {
-
- module.exports = "Keymap removed \r\nUndo \r\n× ";
-
-/***/ },
-/* 555 */
-/***/ function(module, exports) {
-
- module.exports = ":host {\n padding: 1rem 1.5rem;\n box-shadow: 0 0 0 1px #000;\n border-radius: 0.5rem;\n position: absolute;\n top: 2rem;\n right: 2rem;\n z-index: 10000;\n background-color: #333;\n color: #eee;\n display: none; }\n\n.action {\n margin-left: 1rem;\n margin-right: 1rem;\n color: #5bc0de;\n text-transform: uppercase;\n font-weight: bold; }\n .action:focus, .action:active, .action:hover {\n text-decoration: none;\n color: #5bc0de; }\n\n.dismiss {\n position: relative;\n bottom: 1px;\n color: #ccc; }\n .dismiss:hover {\n cursor: pointer;\n color: #fff; }\n"
-
-/***/ },
-/* 556 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(557));
-
-
-/***/ },
-/* 557 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var store_1 = __webpack_require__(353);
- var key_action_1 = __webpack_require__(434);
- var reducers_1 = __webpack_require__(558);
- var TabName;
- (function (TabName) {
- TabName[TabName["Keypress"] = 0] = "Keypress";
- TabName[TabName["Layer"] = 1] = "Layer";
- TabName[TabName["Mouse"] = 2] = "Mouse";
- TabName[TabName["Macro"] = 3] = "Macro";
- TabName[TabName["Keymap"] = 4] = "Keymap";
- TabName[TabName["None"] = 5] = "None";
- })(TabName || (TabName = {}));
- var PopoverComponent = (function () {
- function PopoverComponent(store) {
- this.store = store;
- this.cancel = new core_1.EventEmitter();
- this.remap = new core_1.EventEmitter();
- /* tslint:disable:variable-name: It is an enum type. So it can start with uppercase. */
- /* tslint:disable:no-unused-variable: It is used in the template. */
- this.TabName = TabName;
- this.keymaps$ = store.let(reducers_1.getKeymapEntities());
- }
- PopoverComponent.prototype.ngOnInit = function () {
- var tab;
- if (this.defaultKeyAction instanceof key_action_1.KeystrokeAction) {
- tab = TabName.Keypress;
- }
- else if (this.defaultKeyAction instanceof key_action_1.SwitchLayerAction) {
- tab = TabName.Layer;
- }
- else if (this.defaultKeyAction instanceof key_action_1.MouseAction) {
- tab = TabName.Mouse;
- }
- else if (this.defaultKeyAction instanceof key_action_1.PlayMacroAction) {
- tab = TabName.Macro;
- }
- else if (this.defaultKeyAction instanceof key_action_1.SwitchKeymapAction) {
- tab = TabName.Keymap;
- }
- else {
- tab = TabName.None;
- }
- this.selectTab(tab);
- };
- PopoverComponent.prototype.onCancelClick = function () {
- this.cancel.emit(undefined);
- };
- PopoverComponent.prototype.onRemapKey = function () {
- try {
- var keyAction = this.selectedTab.toKeyAction();
- this.remap.emit(keyAction);
- }
- catch (e) {
- // TODO: show error dialog
- console.error(e);
- }
- };
- PopoverComponent.prototype.selectTab = function (tab) {
- this.activeTab = tab;
- };
- __decorate([
- core_1.Input(),
- __metadata('design:type', key_action_1.KeyAction)
- ], PopoverComponent.prototype, "defaultKeyAction", void 0);
- __decorate([
- core_1.Output(),
- __metadata('design:type', Object)
- ], PopoverComponent.prototype, "cancel", void 0);
- __decorate([
- core_1.Output(),
- __metadata('design:type', Object)
- ], PopoverComponent.prototype, "remap", void 0);
- __decorate([
- core_1.ViewChild('tab'),
- __metadata('design:type', Object)
- ], PopoverComponent.prototype, "selectedTab", void 0);
- PopoverComponent = __decorate([
- core_1.Component({
- selector: 'popover',
- template: __webpack_require__(560),
- styles: [__webpack_require__(561)],
- host: { 'class': 'popover' }
- }),
- __metadata('design:paramtypes', [store_1.Store])
- ], PopoverComponent);
- return PopoverComponent;
- }());
- exports.PopoverComponent = PopoverComponent;
-
-
-/***/ },
-/* 558 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var keymap_1 = __webpack_require__(427);
- exports.keymapReducer = keymap_1.default;
- exports.getKeymapEntities = keymap_1.getKeymapEntities;
- var macro_1 = __webpack_require__(484);
- exports.macroReducer = macro_1.default;
- exports.getMacroEntities = macro_1.getMacroEntities;
- var preset_1 = __webpack_require__(559);
- exports.presetReducer = preset_1.default;
-
-
-/***/ },
-/* 559 */
-/***/ function(module, exports) {
-
- "use strict";
- var initialState = [];
- function default_1(state) {
- if (state === void 0) { state = initialState; }
- return state;
- }
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.default = default_1;
-
-
-/***/ },
-/* 560 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n Cancel \r\n Remap Key \r\n
\r\n
\r\n
\r\n";
-
-/***/ },
-/* 561 */
-/***/ function(module, exports) {
-
- module.exports = ":host {\n display: flex;\n flex-direction: column;\n max-width: none;\n padding: 0;\n left: 50%;\n transform: translateX(-50%);\n top: 100px; }\n\n.popover-action {\n padding: 8px 14px;\n margin: 0;\n font-size: 14px;\n background-color: #f7f7f7;\n border-top: 1px solid #ebebeb;\n border-radius: 0 0 5px 5px;\n text-align: right; }\n\n.popover-title.menu-tabs {\n padding: 0.5rem 0.5rem 0;\n display: block; }\n .popover-title.menu-tabs .nav-tabs {\n position: relative;\n top: 1px;\n display: flex; }\n .popover-title.menu-tabs .nav-tabs .menu-tabs--item {\n display: flex;\n align-items: center;\n cursor: pointer; }\n .popover-title.menu-tabs .nav-tabs .menu-tabs--item i {\n margin-right: 0.25em; }\n\n.popover-content {\n padding: 10px 24px; }\n\n.select2-item {\n position: relative;\n font-size: 1.5rem; }\n .select2-item.keymap-name--wrapper {\n padding-left: 50px; }\n .select2-item .layout-segment-code {\n height: 2rem;\n position: absolute;\n left: 0;\n top: 50%;\n margin-top: -1rem; }\n"
-
-/***/ },
-/* 562 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(563));
-
-
-/***/ },
-/* 563 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var CaptureKeystrokeButtonComponent = (function () {
- function CaptureKeystrokeButtonComponent() {
- }
- CaptureKeystrokeButtonComponent.prototype.ngOnInit = function () { };
- CaptureKeystrokeButtonComponent.prototype.start = function () {
- this.record = true;
- };
- CaptureKeystrokeButtonComponent.prototype.stop = function () {
- this.record = false;
- };
- CaptureKeystrokeButtonComponent = __decorate([
- core_1.Component({
- selector: 'capture-keystroke-button',
- template: __webpack_require__(564),
- styles: [__webpack_require__(565)]
- }),
- __metadata('design:paramtypes', [])
- ], CaptureKeystrokeButtonComponent);
- return CaptureKeystrokeButtonComponent;
- }());
- exports.CaptureKeystrokeButtonComponent = CaptureKeystrokeButtonComponent;
-
-
-/***/ },
-/* 564 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n \r\n \r\n Capture keystroke\r\n \r\n \r\n Stop capturing\r\n \r\n ";
-
-/***/ },
-/* 565 */
-/***/ function(module, exports) {
-
- module.exports = "button {\n display: inline-block;\n margin: 0 0 0 0.25rem; }\n\n.fa-circle {\n color: #c00; }\n"
-
-/***/ },
-/* 566 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(567));
-
-
-/***/ },
-/* 567 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var IconComponent = (function () {
- function IconComponent() {
- }
- IconComponent.prototype.ngOnInit = function () { };
- __decorate([
- core_1.Input(),
- __metadata('design:type', String)
- ], IconComponent.prototype, "name", void 0);
- IconComponent = __decorate([
- core_1.Component({
- selector: 'icon',
- template: __webpack_require__(568),
- styles: [__webpack_require__(569)]
- }),
- __metadata('design:paramtypes', [])
- ], IconComponent);
- return IconComponent;
- }());
- exports.IconComponent = IconComponent;
-
-
-/***/ },
-/* 568 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
";
-
-/***/ },
-/* 569 */
-/***/ function(module, exports) {
-
- module.exports = ":host {\n display: flex;\n align-items: center; }\n\n.action--edit:hover {\n color: #337ab7;\n cursor: pointer; }\n\n.action--trash:hover {\n color: #d9534f;\n cursor: pointer; }\n"
-
-/***/ },
-/* 570 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(571));
- __export(__webpack_require__(574));
-
-
-/***/ },
-/* 571 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var SettingsComponent = (function () {
- function SettingsComponent() {
- }
- SettingsComponent = __decorate([
- core_1.Component({
- selector: 'settings',
- template: __webpack_require__(572),
- styles: [__webpack_require__(573)]
- }),
- __metadata('design:paramtypes', [])
- ], SettingsComponent);
- return SettingsComponent;
- }());
- exports.SettingsComponent = SettingsComponent;
-
-
-/***/ },
-/* 572 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n
\r\n \r\n Settings \r\n \r\n\r\nTo be done...";
-
-/***/ },
-/* 573 */
-/***/ function(module, exports) {
-
- module.exports = ""
-
-/***/ },
-/* 574 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var settings_component_1 = __webpack_require__(571);
- exports.settingsRoutes = [
- {
- path: 'settings',
- component: settings_component_1.SettingsComponent
- }
- ];
-
-
-/***/ },
-/* 575 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(576));
-
-
-/***/ },
-/* 576 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var reducers_1 = __webpack_require__(558);
- var store_1 = __webpack_require__(353);
- var SideMenuComponent = (function () {
- function SideMenuComponent(store, renderer) {
- this.store = store;
- this.renderer = renderer;
- this.animation = {
- keymap: 'active',
- macro: 'active',
- addon: 'active'
- };
- this.keymaps$ = store.let(reducers_1.getKeymapEntities());
- this.macros$ = store.let(reducers_1.getMacroEntities());
- }
- SideMenuComponent.prototype.toggleHide = function (event, type) {
- var header = event.target.classList;
- var show = false;
- if (header.contains('fa-chevron-down')) {
- show = true;
- this.animation[type] = 'active';
- }
- else {
- this.animation[type] = 'inactive';
- }
- this.renderer.setElementClass(event.target, 'fa-chevron-up', show);
- this.renderer.setElementClass(event.target, 'fa-chevron-down', !show);
- };
- SideMenuComponent = __decorate([
- core_1.Component({
- animations: [
- core_1.trigger('toggler', [
- core_1.state('inactive', core_1.style({
- height: '0px'
- })),
- core_1.state('active', core_1.style({
- height: '*'
- })),
- core_1.transition('inactive <=> active', core_1.animate('500ms ease-out'))
- ])
- ],
- selector: 'side-menu',
- template: __webpack_require__(577),
- styles: [__webpack_require__(578)]
- }),
- __metadata('design:paramtypes', [store_1.Store, core_1.Renderer])
- ], SideMenuComponent);
- return SideMenuComponent;
- }());
- exports.SideMenuComponent = SideMenuComponent;
-
-
-/***/ },
-/* 577 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n";
-
-/***/ },
-/* 578 */
-/***/ function(module, exports) {
-
- module.exports = ":host {\n background-color: #f5f5f5;\n border-right: 1px solid #ccc;\n position: fixed;\n overflow-y: auto;\n width: 250px;\n height: 100%; }\n\na {\n color: #333; }\n\nul {\n padding: 0;\n margin: 0; }\n ul li {\n list-style: none;\n padding: 0; }\n ul ul {\n overflow: hidden; }\n\n.sidebar__level-1 {\n padding: 0.5rem 1rem;\n font-size: 2rem;\n line-height: 3rem;\n cursor: default; }\n .sidebar__level-1:hover .fa-chevron-up,\n .sidebar__level-1:hover .fa-chevron-down {\n display: inline-block; }\n .sidebar__level-1--item {\n margin-top: 0; }\n .sidebar__level-1--item:nth-child(1) {\n margin: 0; }\n .sidebar__level-1 .sidebar__name {\n width: 100%;\n display: block; }\n .sidebar__level-1 .fa-chevron-up,\n .sidebar__level-1 .fa-chevron-down {\n margin-right: 1rem;\n font-size: 1.5rem;\n position: relative;\n top: 0.5rem;\n display: none;\n cursor: pointer; }\n\n.sidebar__level-2--item {\n padding: 0 20px 0 0;\n position: relative; }\n .sidebar__level-2--item.active {\n background-color: #555;\n color: #fff; }\n .sidebar__level-2--item.active .fa-star {\n color: #fff; }\n .sidebar__level-2--item.active:hover {\n background-color: #555; }\n .sidebar__level-2--item:hover {\n cursor: pointer; }\n .sidebar__level-2--item .fa.pull-right {\n position: relative;\n top: 2px; }\n .sidebar__level-2--item .fa-star {\n color: #666; }\n .sidebar__level-2--item a {\n display: block;\n width: 100%;\n padding: 0 15px 0 30px; }\n .sidebar__level-2--item a:hover, .sidebar__level-2--item a:focus {\n text-decoration: none; }\n\n.sidebar__level-1:hover, .sidebar__level-2--item:hover {\n background-color: rgba(0, 0, 0, 0.05); }\n\n.sidebar__fav {\n position: absolute;\n right: 19px;\n top: 3px; }\n\n.menu--bottom {\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%; }\n .menu--bottom .sidebar__level-1 {\n display: block;\n padding: 1rem;\n cursor: pointer; }\n .menu--bottom .sidebar__level-1:hover {\n text-decoration: none; }\n"
-
-/***/ },
-/* 579 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(580));
-
-
-/***/ },
-/* 580 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var data_provider_service_1 = __webpack_require__(527);
- var SvgKeyboardComponent = (function () {
- function SvgKeyboardComponent(dps) {
- this.dps = dps;
- this.keyClick = new core_1.EventEmitter();
- this.keyHover = new core_1.EventEmitter();
- this.modules = [];
- this.svgAttributes = this.dps.getKeyboardSvgAttributes();
- }
- SvgKeyboardComponent.prototype.ngOnInit = function () {
- this.modules = this.dps.getSvgModules();
- };
- SvgKeyboardComponent.prototype.onKeyClick = function (moduleId, keyId) {
- this.keyClick.emit({
- moduleId: moduleId,
- keyId: keyId
- });
- };
- SvgKeyboardComponent.prototype.onKeyHover = function (keyId, event, over, moduleId) {
- this.keyHover.emit({
- moduleId: moduleId,
- event: event,
- over: over,
- keyId: keyId
- });
- };
- __decorate([
- core_1.Input(),
- __metadata('design:type', Array)
- ], SvgKeyboardComponent.prototype, "moduleConfig", void 0);
- __decorate([
- core_1.Output(),
- __metadata('design:type', Object)
- ], SvgKeyboardComponent.prototype, "keyClick", void 0);
- __decorate([
- core_1.Output(),
- __metadata('design:type', Object)
- ], SvgKeyboardComponent.prototype, "keyHover", void 0);
- SvgKeyboardComponent = __decorate([
- core_1.Component({
- selector: 'svg-keyboard',
- template: __webpack_require__(581),
- styles: [__webpack_require__(582)]
- }),
- __metadata('design:paramtypes', [data_provider_service_1.DataProviderService])
- ], SvgKeyboardComponent);
- return SvgKeyboardComponent;
- }());
- exports.SvgKeyboardComponent = SvgKeyboardComponent;
-
-
-/***/ },
-/* 581 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n \r\n \r\n \r\n ";
-
-/***/ },
-/* 582 */
-/***/ function(module, exports) {
-
- module.exports = ":host {\n display: flex;\n width: 100%;\n height: 100%;\n position: relative; }\n"
-
-/***/ },
-/* 583 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var svg_icon_text_key_1 = __webpack_require__(584);
- exports.SvgIconTextKeyComponent = svg_icon_text_key_1.SvgIconTextKeyComponent;
- var svg_keyboard_key_1 = __webpack_require__(587);
- exports.SvgKeyboardKeyComponent = svg_keyboard_key_1.SvgKeyboardKeyComponent;
- var svg_keystroke_key_1 = __webpack_require__(591);
- exports.SvgKeystrokeKeyComponent = svg_keystroke_key_1.SvgKeystrokeKeyComponent;
- var svg_mouse_key_1 = __webpack_require__(595);
- exports.SvgMouseKeyComponent = svg_mouse_key_1.SvgMouseKeyComponent;
- var svg_mouse_click_key_1 = __webpack_require__(598);
- exports.SvgMouseClickKeyComponent = svg_mouse_click_key_1.SvgMouseClickKeyComponent;
- var svg_mouse_move_key_1 = __webpack_require__(601);
- exports.SvgMouseMoveKeyComponent = svg_mouse_move_key_1.SvgMouseMoveKeyComponent;
- var svg_mouse_speed_key_1 = __webpack_require__(604);
- exports.SvgMouseSpeedKeyComponent = svg_mouse_speed_key_1.SvgMouseSpeedKeyComponent;
- var svg_mouse_scroll_key_1 = __webpack_require__(607);
- exports.SvgMouseScrollKeyComponent = svg_mouse_scroll_key_1.SvgMouseScrollKeyComponent;
- var svg_one_line_text_key_1 = __webpack_require__(610);
- exports.SvgOneLineTextKeyComponent = svg_one_line_text_key_1.SvgOneLineTextKeyComponent;
- var svg_single_icon_key_1 = __webpack_require__(613);
- exports.SvgSingleIconKeyComponent = svg_single_icon_key_1.SvgSingleIconKeyComponent;
- var svg_switch_keymap_key_1 = __webpack_require__(616);
- exports.SvgSwitchKeymapKeyComponent = svg_switch_keymap_key_1.SvgSwitchKeymapKeyComponent;
- var svg_text_icon_key_1 = __webpack_require__(619);
- exports.SvgTextIconKeyComponent = svg_text_icon_key_1.SvgTextIconKeyComponent;
- var svg_two_line_text_key_1 = __webpack_require__(622);
- exports.SvgTwoLineTextKeyComponent = svg_two_line_text_key_1.SvgTwoLineTextKeyComponent;
-
-
-/***/ },
-/* 584 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(585));
-
-
-/***/ },
-/* 585 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var SvgIconTextKeyComponent = (function () {
- function SvgIconTextKeyComponent() {
- }
- SvgIconTextKeyComponent.prototype.ngOnInit = function () {
- this.useWidth = this.width / 3;
- this.useHeight = this.height / 3;
- this.useX = (this.width > 2 * this.height) ? 0 : this.width / 3;
- this.useY = (this.width > 2 * this.height) ? this.height / 3 : this.height / 10;
- this.textY = (this.width > 2 * this.height) ? this.height / 2 : this.height * 0.6;
- this.spanX = (this.width > 2 * this.height) ? this.width * 0.6 : this.width / 2;
- };
- __decorate([
- core_1.Input(),
- __metadata('design:type', Number)
- ], SvgIconTextKeyComponent.prototype, "width", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', Number)
- ], SvgIconTextKeyComponent.prototype, "height", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', String)
- ], SvgIconTextKeyComponent.prototype, "icon", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', String)
- ], SvgIconTextKeyComponent.prototype, "text", void 0);
- SvgIconTextKeyComponent = __decorate([
- core_1.Component({
- selector: 'g[svg-icon-text-key]',
- template: __webpack_require__(586)
- }),
- __metadata('design:paramtypes', [])
- ], SvgIconTextKeyComponent);
- return SvgIconTextKeyComponent;
- }());
- exports.SvgIconTextKeyComponent = SvgIconTextKeyComponent;
-
-
-/***/ },
-/* 586 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n \r\n\r\n {{ text }} \r\n ";
-
-/***/ },
-/* 587 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(588));
-
-
-/***/ },
-/* 588 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var key_action_1 = __webpack_require__(434);
- var KeyModifiers_1 = __webpack_require__(470);
- var mapper_service_1 = __webpack_require__(481);
- var uhk_configuration_service_1 = __webpack_require__(524);
- var LabelTypes;
- (function (LabelTypes) {
- LabelTypes[LabelTypes["KeystrokeKey"] = 0] = "KeystrokeKey";
- LabelTypes[LabelTypes["MouseKey"] = 1] = "MouseKey";
- LabelTypes[LabelTypes["OneLineText"] = 2] = "OneLineText";
- LabelTypes[LabelTypes["TwoLineText"] = 3] = "TwoLineText";
- LabelTypes[LabelTypes["TextIcon"] = 4] = "TextIcon";
- LabelTypes[LabelTypes["SingleIcon"] = 5] = "SingleIcon";
- LabelTypes[LabelTypes["SwitchKeymap"] = 6] = "SwitchKeymap";
- LabelTypes[LabelTypes["IconText"] = 7] = "IconText";
- })(LabelTypes || (LabelTypes = {}));
- var SvgKeyboardKeyComponent = (function () {
- function SvgKeyboardKeyComponent(mapperService, uhkConfigurationService) {
- this.mapperService = mapperService;
- this.uhkConfigurationService = uhkConfigurationService;
- /* tslint:disable:no-unused-variable */
- /* It is used in the template */
- this.enumLabelTypes = LabelTypes;
- }
- SvgKeyboardKeyComponent.prototype.ngOnInit = function () {
- this.setLabels();
- };
- SvgKeyboardKeyComponent.prototype.ngOnChanges = function (changes) {
- /* tslint:disable:no-string-literal */
- if (changes['keyAction']) {
- this.setLabels();
- }
- /* tslint:enable:no-string-literal */
- };
- SvgKeyboardKeyComponent.prototype.setLabels = function () {
- if (!this.keyAction) {
- this.labelSource = undefined;
- this.labelType = LabelTypes.OneLineText;
- return;
- }
- this.labelType = LabelTypes.OneLineText;
- if (this.keyAction instanceof key_action_1.KeystrokeAction) {
- var keyAction = this.keyAction;
- var newLabelSource = void 0;
- if (!keyAction.hasActiveModifier() && keyAction.hasScancode()) {
- var scancode = keyAction.scancode;
- newLabelSource = this.mapperService.scanCodeToText(scancode);
- if (newLabelSource) {
- if (newLabelSource.length === 1) {
- this.labelSource = newLabelSource[0];
- this.labelType = LabelTypes.OneLineText;
- }
- else {
- this.labelSource = newLabelSource;
- this.labelType = LabelTypes.TwoLineText;
- }
- }
- else {
- this.labelSource = this.mapperService.scanCodeToSvgImagePath(scancode);
- this.labelType = LabelTypes.SingleIcon;
- }
- }
- else if (keyAction.hasOnlyOneActiveModifier() && !keyAction.hasScancode()) {
- newLabelSource = [];
- switch (keyAction.modifierMask) {
- case KeyModifiers_1.KeyModifiers.leftCtrl:
- case KeyModifiers_1.KeyModifiers.rightCtrl:
- newLabelSource.push('Ctrl');
- break;
- case KeyModifiers_1.KeyModifiers.leftShift:
- case KeyModifiers_1.KeyModifiers.rightShift:
- newLabelSource.push('Shift');
- break;
- case KeyModifiers_1.KeyModifiers.leftAlt:
- case KeyModifiers_1.KeyModifiers.rightAlt:
- newLabelSource.push('Alt');
- break;
- case KeyModifiers_1.KeyModifiers.leftGui:
- case KeyModifiers_1.KeyModifiers.rightGui:
- newLabelSource.push('Super');
- break;
- default:
- newLabelSource.push('Undefined');
- break;
- }
- this.labelSource = newLabelSource;
- }
- else {
- this.labelType = LabelTypes.KeystrokeKey;
- this.labelSource = this.keyAction;
- }
- }
- else if (this.keyAction instanceof key_action_1.SwitchLayerAction) {
- var keyAction = this.keyAction;
- var newLabelSource = void 0;
- switch (keyAction.layer) {
- case key_action_1.LayerName.mod:
- newLabelSource = 'Mod';
- break;
- case key_action_1.LayerName.fn:
- newLabelSource = 'Fn';
- break;
- case key_action_1.LayerName.mouse:
- newLabelSource = 'Mouse';
- break;
- default:
- break;
- }
- if (keyAction.isLayerToggleable) {
- this.labelType = LabelTypes.TextIcon;
- this.labelSource = {
- text: newLabelSource,
- icon: this.mapperService.getIcon('toggle')
- };
- }
- else {
- this.labelType = LabelTypes.OneLineText;
- this.labelSource = newLabelSource;
- }
- }
- else if (this.keyAction instanceof key_action_1.SwitchKeymapAction) {
- var keyAction = this.keyAction;
- this.labelType = LabelTypes.SwitchKeymap;
- this.labelSource = keyAction.keymapAbbreviation;
- }
- else if (this.keyAction instanceof key_action_1.PlayMacroAction) {
- var keyAction = this.keyAction;
- this.labelType = LabelTypes.IconText;
- var uhkConfiguration = this.uhkConfigurationService.getUhkConfiguration();
- this.labelSource = {
- icon: this.mapperService.getIcon('macro'),
- text: uhkConfiguration.getMacro(keyAction.macroId).name
- };
- }
- else if (this.keyAction instanceof key_action_1.MouseAction) {
- this.labelType = LabelTypes.MouseKey;
- this.labelSource = this.keyAction;
- }
- else {
- this.labelSource = undefined;
- }
- };
- __decorate([
- core_1.Input(),
- __metadata('design:type', String)
- ], SvgKeyboardKeyComponent.prototype, "id", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', String)
- ], SvgKeyboardKeyComponent.prototype, "rx", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', String)
- ], SvgKeyboardKeyComponent.prototype, "ry", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', Number)
- ], SvgKeyboardKeyComponent.prototype, "height", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', Number)
- ], SvgKeyboardKeyComponent.prototype, "width", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', key_action_1.KeyAction)
- ], SvgKeyboardKeyComponent.prototype, "keyAction", void 0);
- SvgKeyboardKeyComponent = __decorate([
- core_1.Component({
- selector: 'g[svg-keyboard-key]',
- template: __webpack_require__(589),
- styles: [__webpack_require__(590)]
- }),
- __metadata('design:paramtypes', [mapper_service_1.MapperService, uhk_configuration_service_1.UhkConfigurationService])
- ], SvgKeyboardKeyComponent);
- return SvgKeyboardKeyComponent;
- }());
- exports.SvgKeyboardKeyComponent = SvgKeyboardKeyComponent;
-
-
-/***/ },
-/* 589 */
-/***/ function(module, exports) {
-
- module.exports = " \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ";
-
-/***/ },
-/* 590 */
-/***/ function(module, exports) {
-
- module.exports = ":host /deep/ text {\n dominant-baseline: central; }\n"
-
-/***/ },
-/* 591 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(592));
-
-
-/***/ },
-/* 592 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var key_action_1 = __webpack_require__(434);
- var KeyModifiers_1 = __webpack_require__(470);
- var mapper_service_1 = __webpack_require__(481);
- var SvgAttributes = (function () {
- function SvgAttributes() {
- this.width = 0;
- this.height = 0;
- this.x = 0;
- this.y = 0;
- this.disabled = true;
- }
- return SvgAttributes;
- }());
- var Modifiers;
- (function (Modifiers) {
- Modifiers[Modifiers["Shift"] = 0] = "Shift";
- Modifiers[Modifiers["Control"] = 1] = "Control";
- Modifiers[Modifiers["Alt"] = 2] = "Alt";
- Modifiers[Modifiers["Command"] = 3] = "Command";
- })(Modifiers || (Modifiers = {}));
- var SvgKeystrokeKeyComponent = (function () {
- function SvgKeystrokeKeyComponent(mapper) {
- this.mapper = mapper;
- this.modifierIconNames = {};
- this.textContainer = new SvgAttributes();
- this.modifierContainer = new SvgAttributes();
- this.shift = new SvgAttributes();
- this.control = new SvgAttributes();
- this.option = new SvgAttributes();
- this.command = new SvgAttributes();
- }
- SvgKeystrokeKeyComponent.prototype.ngOnInit = function () {
- this.viewBox = [0, 0, this.width, this.height].join(' ');
- this.modifierIconNames.shift = this.mapper.getIcon('shift');
- this.modifierIconNames.option = this.mapper.getIcon('option');
- this.modifierIconNames.command = this.mapper.getIcon('command');
- var bottomSideMode = this.width < this.height * 1.8;
- var heightWidthRatio = this.height / this.width;
- if (bottomSideMode) {
- var maxIconWidth = this.width / 4;
- var maxIconHeight = this.height;
- var iconScalingFactor = 0.8;
- var iconWidth = iconScalingFactor * heightWidthRatio * maxIconWidth;
- var iconHeight = iconScalingFactor * maxIconHeight;
- this.modifierContainer.width = this.width;
- this.modifierContainer.height = this.height / 5;
- this.modifierContainer.y = this.height - this.modifierContainer.height;
- this.shift.width = iconWidth;
- this.shift.height = iconHeight;
- this.shift.x = (maxIconWidth - iconWidth) / 2;
- this.shift.y = (maxIconHeight - iconHeight) / 2;
- this.control.width = iconWidth;
- this.control.height = iconHeight;
- this.control.x = this.shift.x + maxIconWidth;
- this.control.y = this.shift.y;
- this.option.width = iconWidth;
- this.option.height = iconHeight;
- this.option.x = this.control.x + maxIconWidth;
- this.option.y = this.shift.y;
- this.command.width = iconWidth;
- this.command.height = iconHeight;
- this.command.x = this.option.x + maxIconWidth;
- this.command.y = this.shift.y;
- this.textContainer.y = -this.modifierContainer.height / 2;
- }
- else {
- this.modifierContainer.width = this.width / 4;
- this.modifierContainer.height = this.height;
- this.modifierContainer.x = this.width - this.modifierContainer.width;
- var length_1 = Math.min(this.modifierContainer.width / 2, this.modifierContainer.height / 2);
- var iconScalingFactor = 0.8;
- var iconWidth = iconScalingFactor * this.width * (length_1 / this.modifierContainer.width);
- var iconHeight = iconScalingFactor * this.height * (length_1 / this.modifierContainer.height);
- this.shift.width = iconWidth;
- this.shift.height = iconHeight;
- this.shift.x = this.width / 4 - iconWidth / 2;
- this.shift.y = this.height / 4 - iconHeight / 2;
- this.control.width = iconWidth;
- this.control.height = iconHeight;
- this.control.x = this.shift.x + this.width / 2;
- this.control.y = this.shift.y;
- this.option.width = iconWidth;
- this.option.height = iconHeight;
- this.option.x = this.shift.x;
- this.option.y = this.shift.y + this.height / 2;
- this.command.width = iconWidth;
- this.command.height = iconHeight;
- this.command.x = this.option.x + this.width / 2;
- this.command.y = this.option.y;
- this.textContainer.x = -this.modifierContainer.width / 2;
- }
- this.textContainer.width = this.width;
- this.textContainer.height = this.height;
- };
- SvgKeystrokeKeyComponent.prototype.ngOnChanges = function () {
- var newLabelSource;
- if (this.keystrokeAction.hasScancode()) {
- var scancode = this.keystrokeAction.scancode;
- newLabelSource = this.mapper.scanCodeToText(scancode);
- if (newLabelSource) {
- if (newLabelSource.length === 1) {
- this.labelSource = newLabelSource[0];
- this.labelType = 'one-line';
- }
- else {
- this.labelSource = newLabelSource;
- this.labelType = 'two-line';
- }
- }
- else {
- this.labelSource = this.mapper.scanCodeToSvgImagePath(scancode);
- this.labelType = 'icon';
- }
- }
- else {
- this.labelType = 'empty';
- }
- this.shift.disabled = !this.keystrokeAction.isActive(KeyModifiers_1.KeyModifiers.leftShift | KeyModifiers_1.KeyModifiers.rightShift);
- this.control.disabled = !this.keystrokeAction.isActive(KeyModifiers_1.KeyModifiers.leftCtrl | KeyModifiers_1.KeyModifiers.rightCtrl);
- this.option.disabled = !this.keystrokeAction.isActive(KeyModifiers_1.KeyModifiers.leftAlt | KeyModifiers_1.KeyModifiers.rightAlt);
- this.command.disabled = !this.keystrokeAction.isActive(KeyModifiers_1.KeyModifiers.leftGui | KeyModifiers_1.KeyModifiers.rightGui);
- };
- __decorate([
- core_1.Input(),
- __metadata('design:type', Number)
- ], SvgKeystrokeKeyComponent.prototype, "height", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', Number)
- ], SvgKeystrokeKeyComponent.prototype, "width", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', key_action_1.KeystrokeAction)
- ], SvgKeystrokeKeyComponent.prototype, "keystrokeAction", void 0);
- SvgKeystrokeKeyComponent = __decorate([
- core_1.Component({
- selector: 'g[svg-keystroke-key]',
- template: __webpack_require__(593),
- styles: [__webpack_require__(594)]
- }),
- __metadata('design:paramtypes', [mapper_service_1.MapperService])
- ], SvgKeystrokeKeyComponent);
- return SvgKeystrokeKeyComponent;
- }());
- exports.SvgKeystrokeKeyComponent = SvgKeystrokeKeyComponent;
-
-
-/***/ },
-/* 593 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n C \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ";
-
-/***/ },
-/* 594 */
-/***/ function(module, exports) {
-
- module.exports = ".disabled {\n fill: gray; }\n\ntext {\n font-size: 100px; }\n"
-
-/***/ },
-/* 595 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(596));
-
-
-/***/ },
-/* 596 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var key_action_1 = __webpack_require__(434);
- var SvgMouseKeyComponent = (function () {
- function SvgMouseKeyComponent() {
- }
- SvgMouseKeyComponent.prototype.ngOnChanges = function () {
- switch (this.mouseAction.mouseAction) {
- case key_action_1.MouseActionParam.leftClick:
- this.type = 'click';
- this.param = 'Left';
- break;
- case key_action_1.MouseActionParam.rightClick:
- this.type = 'click';
- this.param = 'Right';
- break;
- case key_action_1.MouseActionParam.middleClick:
- this.type = 'click';
- this.param = 'Middle';
- break;
- case key_action_1.MouseActionParam.scrollDown:
- this.type = 'scroll';
- this.param = 'down';
- break;
- case key_action_1.MouseActionParam.scrollLeft:
- this.type = 'scroll';
- this.param = 'left';
- break;
- case key_action_1.MouseActionParam.scrollRight:
- this.type = 'scroll';
- this.param = 'right';
- break;
- case key_action_1.MouseActionParam.scrollUp:
- this.type = 'scroll';
- this.param = 'up';
- break;
- case key_action_1.MouseActionParam.moveDown:
- this.type = 'move';
- this.param = 'down';
- break;
- case key_action_1.MouseActionParam.moveLeft:
- this.type = 'move';
- this.param = 'left';
- break;
- case key_action_1.MouseActionParam.moveRight:
- this.type = 'move';
- this.param = 'right';
- break;
- case key_action_1.MouseActionParam.moveUp:
- this.type = 'move';
- this.param = 'up';
- break;
- case key_action_1.MouseActionParam.accelerate:
- this.type = 'speed';
- this.param = true;
- break;
- case key_action_1.MouseActionParam.decelerate:
- this.type = 'speed';
- this.param = false;
- break;
- default:
- break;
- }
- };
- __decorate([
- core_1.Input(),
- __metadata('design:type', key_action_1.MouseAction)
- ], SvgMouseKeyComponent.prototype, "mouseAction", void 0);
- SvgMouseKeyComponent = __decorate([
- core_1.Component({
- selector: 'g[svg-mouse-key]',
- template: __webpack_require__(597)
- }),
- __metadata('design:paramtypes', [])
- ], SvgMouseKeyComponent);
- return SvgMouseKeyComponent;
- }());
- exports.SvgMouseKeyComponent = SvgMouseKeyComponent;
-
-
-/***/ },
-/* 597 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n \r\n \r\n \r\n \r\n ";
-
-/***/ },
-/* 598 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(599));
-
-
-/***/ },
-/* 599 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var mapper_service_1 = __webpack_require__(481);
- var SvgMouseClickKeyComponent = (function () {
- function SvgMouseClickKeyComponent(mapper) {
- this.mapper = mapper;
- this.icon = this.mapper.getIcon('mouse');
- }
- SvgMouseClickKeyComponent.prototype.ngOnInit = function () { };
- __decorate([
- core_1.Input(),
- __metadata('design:type', String)
- ], SvgMouseClickKeyComponent.prototype, "button", void 0);
- SvgMouseClickKeyComponent = __decorate([
- core_1.Component({
- selector: 'g[svg-mouse-click-key]',
- template: __webpack_require__(600)
- }),
- __metadata('design:paramtypes', [mapper_service_1.MapperService])
- ], SvgMouseClickKeyComponent);
- return SvgMouseClickKeyComponent;
- }());
- exports.SvgMouseClickKeyComponent = SvgMouseClickKeyComponent;
-
-
-/***/ },
-/* 600 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n \r\n\r\n Click \r\n \r\n\r\n {{ button }} \r\n ";
-
-/***/ },
-/* 601 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(602));
-
-
-/***/ },
-/* 602 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var mapper_service_1 = __webpack_require__(481);
- var SvgMouseMoveKeyComponent = (function () {
- function SvgMouseMoveKeyComponent(mapper) {
- this.mapper = mapper;
- }
- SvgMouseMoveKeyComponent.prototype.ngOnChanges = function () {
- this.mouseIcon = this.mapper.getIcon('mouse');
- this.directionIcon = this.mapper.getIcon(this.direction + "-arrow");
- };
- __decorate([
- core_1.Input(),
- __metadata('design:type', String)
- ], SvgMouseMoveKeyComponent.prototype, "direction", void 0);
- SvgMouseMoveKeyComponent = __decorate([
- core_1.Component({
- selector: 'g[svg-mouse-move-key]',
- template: __webpack_require__(603)
- }),
- __metadata('design:paramtypes', [mapper_service_1.MapperService])
- ], SvgMouseMoveKeyComponent);
- return SvgMouseMoveKeyComponent;
- }());
- exports.SvgMouseMoveKeyComponent = SvgMouseMoveKeyComponent;
-
-
-/***/ },
-/* 603 */
-/***/ function(module, exports) {
-
- module.exports = " \r\n\r\n Move \r\n \r\n ";
-
-/***/ },
-/* 604 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(605));
-
-
-/***/ },
-/* 605 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var mapper_service_1 = __webpack_require__(481);
- var SvgMouseSpeedKeyComponent = (function () {
- function SvgMouseSpeedKeyComponent(mapper) {
- this.mapper = mapper;
- this.icon = this.mapper.getIcon('mouse');
- }
- SvgMouseSpeedKeyComponent.prototype.ngOnChanges = function () {
- this.sign = this.plus ? '+' : '-';
- };
- __decorate([
- core_1.Input(),
- __metadata('design:type', Boolean)
- ], SvgMouseSpeedKeyComponent.prototype, "plus", void 0);
- SvgMouseSpeedKeyComponent = __decorate([
- core_1.Component({
- selector: 'g[svg-mouse-speed-key]',
- template: __webpack_require__(606)
- }),
- __metadata('design:paramtypes', [mapper_service_1.MapperService])
- ], SvgMouseSpeedKeyComponent);
- return SvgMouseSpeedKeyComponent;
- }());
- exports.SvgMouseSpeedKeyComponent = SvgMouseSpeedKeyComponent;
-
-
-/***/ },
-/* 606 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n \r\n\r\n Speed \r\n \r\n\r\n {{ sign }} \r\n ";
-
-/***/ },
-/* 607 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(608));
-
-
-/***/ },
-/* 608 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var mapper_service_1 = __webpack_require__(481);
- var SvgMouseScrollKeyComponent = (function () {
- function SvgMouseScrollKeyComponent(mapper) {
- this.mapper = mapper;
- }
- SvgMouseScrollKeyComponent.prototype.ngOnChanges = function () {
- this.mouseIcon = this.mapper.getIcon('mouse');
- this.directionIcon = this.mapper.getIcon("scroll-" + this.direction);
- };
- __decorate([
- core_1.Input(),
- __metadata('design:type', String)
- ], SvgMouseScrollKeyComponent.prototype, "direction", void 0);
- SvgMouseScrollKeyComponent = __decorate([
- core_1.Component({
- selector: 'g[svg-mouse-scroll-key]',
- template: __webpack_require__(609)
- }),
- __metadata('design:paramtypes', [mapper_service_1.MapperService])
- ], SvgMouseScrollKeyComponent);
- return SvgMouseScrollKeyComponent;
- }());
- exports.SvgMouseScrollKeyComponent = SvgMouseScrollKeyComponent;
-
-
-/***/ },
-/* 609 */
-/***/ function(module, exports) {
-
- module.exports = " \r\n\r\n Scroll \r\n \r\n ";
-
-/***/ },
-/* 610 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(611));
-
-
-/***/ },
-/* 611 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var SvgOneLineTextKeyComponent = (function () {
- function SvgOneLineTextKeyComponent() {
- }
- SvgOneLineTextKeyComponent.prototype.ngOnInit = function () {
- this.textY = this.height / 2;
- this.spanX = this.width / 2;
- };
- __decorate([
- core_1.Input(),
- __metadata('design:type', Number)
- ], SvgOneLineTextKeyComponent.prototype, "height", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', Number)
- ], SvgOneLineTextKeyComponent.prototype, "width", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', String)
- ], SvgOneLineTextKeyComponent.prototype, "text", void 0);
- SvgOneLineTextKeyComponent = __decorate([
- core_1.Component({
- selector: 'g[svg-one-line-text-key]',
- template: __webpack_require__(612)
- }),
- __metadata('design:paramtypes', [])
- ], SvgOneLineTextKeyComponent);
- return SvgOneLineTextKeyComponent;
- }());
- exports.SvgOneLineTextKeyComponent = SvgOneLineTextKeyComponent;
-
-
-/***/ },
-/* 612 */
-/***/ function(module, exports) {
-
- module.exports = " \r\n {{ text }} \r\n ";
-
-/***/ },
-/* 613 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(614));
-
-
-/***/ },
-/* 614 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var SvgSingleIconKeyComponent = (function () {
- function SvgSingleIconKeyComponent() {
- }
- SvgSingleIconKeyComponent.prototype.ngOnInit = function () {
- this.svgWidth = this.width / 3;
- this.svgHeight = this.height / 3;
- };
- __decorate([
- core_1.Input(),
- __metadata('design:type', Number)
- ], SvgSingleIconKeyComponent.prototype, "width", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', Number)
- ], SvgSingleIconKeyComponent.prototype, "height", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', String)
- ], SvgSingleIconKeyComponent.prototype, "icon", void 0);
- SvgSingleIconKeyComponent = __decorate([
- core_1.Component({
- selector: 'g[svg-single-icon-key]',
- template: __webpack_require__(615)
- }),
- __metadata('design:paramtypes', [])
- ], SvgSingleIconKeyComponent);
- return SvgSingleIconKeyComponent;
- }());
- exports.SvgSingleIconKeyComponent = SvgSingleIconKeyComponent;
-
-
-/***/ },
-/* 615 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n ";
-
-/***/ },
-/* 616 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(617));
-
-
-/***/ },
-/* 617 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var mapper_service_1 = __webpack_require__(481);
- var SvgSwitchKeymapKeyComponent = (function () {
- function SvgSwitchKeymapKeyComponent(mapperService) {
- this.mapperService = mapperService;
- }
- SvgSwitchKeymapKeyComponent.prototype.ngOnInit = function () {
- this.icon = this.mapperService.getIcon('switch-keymap');
- this.useWidth = this.width / 4;
- this.useHeight = this.height / 4;
- this.useX = this.width * 3 / 8;
- this.useY = this.height / 5;
- this.textY = this.height * 2 / 3;
- this.spanX = this.width / 2;
- };
- __decorate([
- core_1.Input(),
- __metadata('design:type', Number)
- ], SvgSwitchKeymapKeyComponent.prototype, "width", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', Number)
- ], SvgSwitchKeymapKeyComponent.prototype, "height", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', String)
- ], SvgSwitchKeymapKeyComponent.prototype, "abbreviation", void 0);
- SvgSwitchKeymapKeyComponent = __decorate([
- core_1.Component({
- selector: 'g[svg-switch-keymap-key]',
- template: __webpack_require__(618)
- }),
- __metadata('design:paramtypes', [mapper_service_1.MapperService])
- ], SvgSwitchKeymapKeyComponent);
- return SvgSwitchKeymapKeyComponent;
- }());
- exports.SvgSwitchKeymapKeyComponent = SvgSwitchKeymapKeyComponent;
-
-
-/***/ },
-/* 618 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n \r\n\r\n {{ abbreviation }} \r\n ";
-
-/***/ },
-/* 619 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(620));
-
-
-/***/ },
-/* 620 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var SvgTextIconKeyComponent = (function () {
- function SvgTextIconKeyComponent() {
- }
- SvgTextIconKeyComponent.prototype.ngOnInit = function () {
- this.useWidth = this.width / 3;
- this.useHeight = this.height / 3;
- this.useX = (this.width > 2 * this.height) ? this.width * 0.6 : this.width / 3;
- this.useY = (this.width > 2 * this.height) ? this.height / 3 : this.height / 2;
- this.textY = (this.width > 2 * this.height) ? this.height / 2 : this.height / 3;
- this.textAnchor = (this.width > 2 * this.height) ? 'end' : 'middle';
- this.spanX = (this.width > 2 * this.height) ? 0.6 * this.width : this.width / 2;
- };
- __decorate([
- core_1.Input(),
- __metadata('design:type', Number)
- ], SvgTextIconKeyComponent.prototype, "width", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', Number)
- ], SvgTextIconKeyComponent.prototype, "height", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', String)
- ], SvgTextIconKeyComponent.prototype, "text", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', String)
- ], SvgTextIconKeyComponent.prototype, "icon", void 0);
- SvgTextIconKeyComponent = __decorate([
- core_1.Component({
- selector: 'g[svg-text-icon-key]',
- template: __webpack_require__(621)
- }),
- __metadata('design:paramtypes', [])
- ], SvgTextIconKeyComponent);
- return SvgTextIconKeyComponent;
- }());
- exports.SvgTextIconKeyComponent = SvgTextIconKeyComponent;
-
-
-/***/ },
-/* 621 */
-/***/ function(module, exports) {
-
- module.exports = " \r\n {{ text }} \r\n \r\n\r\n ";
-
-/***/ },
-/* 622 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(623));
-
-
-/***/ },
-/* 623 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var SvgTwoLineTextKeyComponent = (function () {
- function SvgTwoLineTextKeyComponent() {
- this.spanYs = [];
- }
- SvgTwoLineTextKeyComponent.prototype.ngOnInit = function () {
- this.textY = this.height / 2;
- this.spanX = this.width / 2;
- for (var i = 0; i < this.texts.length; ++i) {
- this.spanYs.push((0.75 - i * 0.5) * this.height);
- }
- };
- __decorate([
- core_1.Input(),
- __metadata('design:type', Number)
- ], SvgTwoLineTextKeyComponent.prototype, "height", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', Number)
- ], SvgTwoLineTextKeyComponent.prototype, "width", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', Array)
- ], SvgTwoLineTextKeyComponent.prototype, "texts", void 0);
- SvgTwoLineTextKeyComponent = __decorate([
- core_1.Component({
- selector: 'g[svg-two-line-text-key]',
- template: __webpack_require__(624)
- }),
- __metadata('design:paramtypes', [])
- ], SvgTwoLineTextKeyComponent);
- return SvgTwoLineTextKeyComponent;
- }());
- exports.SvgTwoLineTextKeyComponent = SvgTwoLineTextKeyComponent;
-
-
-/***/ },
-/* 624 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n {{ text }} \r\n ";
-
-/***/ },
-/* 625 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(626));
- __export(__webpack_require__(528));
-
-
-/***/ },
-/* 626 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var SvgModuleComponent = (function () {
- function SvgModuleComponent() {
- this.keyClick = new core_1.EventEmitter();
- this.keyHover = new core_1.EventEmitter();
- this.keyboardKeys = [];
- }
- SvgModuleComponent.prototype.onKeyClick = function (index) {
- this.keyClick.emit(index);
- };
- SvgModuleComponent.prototype.onKeyHover = function (index, event, over) {
- this.keyHover.emit({
- index: index,
- event: event,
- over: over
- });
- };
- __decorate([
- core_1.Input(),
- __metadata('design:type', Array)
- ], SvgModuleComponent.prototype, "coverages", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', Array)
- ], SvgModuleComponent.prototype, "keyboardKeys", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', Array)
- ], SvgModuleComponent.prototype, "keyActions", void 0);
- __decorate([
- core_1.Output(),
- __metadata('design:type', Object)
- ], SvgModuleComponent.prototype, "keyClick", void 0);
- __decorate([
- core_1.Output(),
- __metadata('design:type', Object)
- ], SvgModuleComponent.prototype, "keyHover", void 0);
- SvgModuleComponent = __decorate([
- core_1.Component({
- selector: 'g[svg-module]',
- template: __webpack_require__(627),
- styles: [__webpack_require__(628)]
- }),
- __metadata('design:paramtypes', [])
- ], SvgModuleComponent);
- return SvgModuleComponent;
- }());
- exports.SvgModuleComponent = SvgModuleComponent;
-
-
-/***/ },
-/* 627 */
-/***/ function(module, exports) {
-
- module.exports = " \r\n ";
-
-/***/ },
-/* 628 */
-/***/ function(module, exports) {
-
- module.exports = ":host {\n position: relative; }\n"
-
-/***/ },
-/* 629 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(630));
-
-
-/***/ },
-/* 630 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var store_1 = __webpack_require__(353);
- var key_action_1 = __webpack_require__(434);
- var Keymap_1 = __webpack_require__(429);
- var actions_1 = __webpack_require__(449);
- var SvgKeyboardWrapComponent = (function () {
- function SvgKeyboardWrapComponent(store) {
- this.store = store;
- this.popoverEnabled = true;
- this.tooltipEnabled = false;
- this.currentLayer = 0;
- this.keyEditConfig = {
- keyActions: undefined,
- keyId: undefined
- };
- this.tooltipData = {
- posTop: 0,
- posLeft: 0,
- content: [],
- shown: false
- };
- }
- SvgKeyboardWrapComponent.prototype.ngOnChanges = function (changes) {
- if (changes['keymap'].previousValue.abbreviation !== changes['keymap'].currentValue.abbreviation) {
- this.layers = this.keymap.layers;
- this.currentLayer = 0;
- if (this.layers.length > 0) {
- this.layers.forEach(function (element) { return element.animation = 'none'; });
- this.layers[0].animation = 'leftIn';
- }
- }
- };
- SvgKeyboardWrapComponent.prototype.onKeyClick = function (moduleId, keyId) {
- if (!this.popoverShown && this.popoverEnabled) {
- this.keyEditConfig = {
- keyActions: this.layers[this.currentLayer].modules[moduleId].keyActions,
- keyId: keyId
- };
- var keyActionToEdit = this.keyEditConfig.keyActions[keyId];
- this.showPopover(keyActionToEdit);
- }
- };
- SvgKeyboardWrapComponent.prototype.onKeyHover = function (moduleId, event, over, keyId) {
- var keyActionToEdit = this.layers[this.currentLayer].modules[moduleId].keyActions[keyId];
- if (this.tooltipEnabled) {
- if (over) {
- this.showTooltip(keyActionToEdit, event);
- }
- else {
- this.hideTooltip(event);
- }
- }
- };
- SvgKeyboardWrapComponent.prototype.onRemap = function (keyAction) {
- this.changeKeyAction(keyAction);
- this.store.dispatch(actions_1.KeymapActions.saveKey(this.keymap));
- this.hidePopover();
- };
- SvgKeyboardWrapComponent.prototype.showPopover = function (keyAction) {
- this.popoverInitKeyAction = keyAction;
- this.popoverShown = true;
- };
- SvgKeyboardWrapComponent.prototype.showTooltip = function (keyAction, event) {
- if (keyAction instanceof key_action_1.NoneAction || keyAction === undefined) {
- return;
- }
- var el = event.target || event.srcElement;
- var position = el.getBoundingClientRect();
- var posLeft = this.tooltipData.posLeft;
- var posTop = this.tooltipData.posTop;
- if (el.tagName === 'rect') {
- posLeft = position.left + (position.width / 2);
- posTop = position.top;
- }
- // TODO connect with real data
- var dummyData = [
- {
- name: 'Key action',
- value: 'o'
- },
- {
- name: 'Scancode',
- value: '55'
- }
- ];
- this.tooltipData = {
- posLeft: posLeft,
- posTop: posTop,
- content: dummyData,
- shown: true
- };
- };
- SvgKeyboardWrapComponent.prototype.hideTooltip = function (event) {
- var target = event.relatedTarget;
- if (!target) {
- this.tooltipData.shown = false;
- return;
- }
- // Check if we are hovering tooltip
- var list = target.classList;
- if (!list.contains('tooltip') && !list.contains('tooltip-inner')) {
- this.tooltipData.shown = false;
- }
- };
- SvgKeyboardWrapComponent.prototype.hidePopover = function () {
- this.popoverShown = false;
- this.popoverInitKeyAction = undefined;
- };
- SvgKeyboardWrapComponent.prototype.changeKeyAction = function (keyAction) {
- var keyId = this.keyEditConfig.keyId;
- this.keyEditConfig.keyActions[keyId] = keyAction;
- };
- SvgKeyboardWrapComponent.prototype.selectLayer = function (oldIndex, index) {
- if (index > oldIndex) {
- this.layers[oldIndex].animation = 'leftOut';
- this.layers[index].animation = 'leftIn';
- }
- else {
- this.layers[oldIndex].animation = 'rightOut';
- this.layers[index].animation = 'rightIn';
- }
- this.currentLayer = index;
- };
- __decorate([
- core_1.Input(),
- __metadata('design:type', Keymap_1.Keymap)
- ], SvgKeyboardWrapComponent.prototype, "keymap", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', Boolean)
- ], SvgKeyboardWrapComponent.prototype, "popoverEnabled", void 0);
- __decorate([
- core_1.Input(),
- __metadata('design:type', Boolean)
- ], SvgKeyboardWrapComponent.prototype, "tooltipEnabled", void 0);
- SvgKeyboardWrapComponent = __decorate([
- core_1.Component({
- selector: 'svg-keyboard-wrap',
- template: __webpack_require__(631),
- styles: [__webpack_require__(632)],
- // We use 101%, because there was still a trace of the keyboard in the screen when animation was done
- animations: [
- core_1.trigger('layerState', [
- /* Right -> Left animation*/
- core_1.state('leftIn', core_1.style({
- transform: 'translateX(-50%)',
- left: '50%'
- })),
- core_1.state('leftOut', core_1.style({
- transform: 'translateX(-101%)',
- left: '0'
- })),
- /* Right -> Left animation */
- core_1.state('rightIn', core_1.style({
- transform: 'translateX(-50%)',
- left: '50%'
- })),
- core_1.state('rightOut', core_1.style({
- transform: 'translateX(0%)',
- left: '101%'
- })),
- /* Transitions */
- core_1.transition('none => leftIn, leftOut => leftIn', [
- core_1.style({
- opacity: 0,
- transform: 'translateX(0%)',
- left: '101%'
- }),
- core_1.style({
- opacity: 1
- }),
- core_1.animate('400ms ease-out')
- ]),
- core_1.transition('* => none', [
- core_1.style({
- opacity: 0,
- transform: 'translateX(-101%)',
- left: '0'
- }),
- core_1.style({
- opacity: 1
- })
- ]),
- core_1.transition('none => rightIn, rightOut => rightIn', [
- core_1.style({
- opacity: 0,
- transform: 'translateX(-101%)',
- left: '0'
- }),
- core_1.style({
- opacity: 1
- }),
- core_1.animate('400ms ease-out')
- ]),
- core_1.transition('leftIn => leftOut,' +
- 'rightIn => rightOut,' +
- 'leftIn <=> rightOut,' +
- 'rightIn <=> leftOut', core_1.animate('400ms ease-out'))
- ])
- ]
- }),
- __metadata('design:paramtypes', [store_1.Store])
- ], SvgKeyboardWrapComponent);
- return SvgKeyboardWrapComponent;
- }());
- exports.SvgKeyboardWrapComponent = SvgKeyboardWrapComponent;
-
-
-/***/ },
-/* 631 */
-/***/ function(module, exports) {
-
- module.exports = "\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n ";
-
-/***/ },
-/* 632 */
-/***/ function(module, exports) {
-
- module.exports = ":host {\n width: 100%;\n height: 100%;\n position: relative;\n display: block; }\n\nsvg-keyboard {\n width: 95%;\n max-width: 1400px;\n position: absolute;\n left: 0;\n transform: translateX(-101%); }\n\n.keyboard-slider {\n position: relative;\n overflow: hidden;\n /* TODO create dynamic */\n height: 500px;\n margin-top: 30px; }\n\n.tooltip {\n position: fixed;\n transform: translate(-50%, -85%); }\n .tooltip-inner {\n background: #fff;\n color: #000;\n box-shadow: 0 1px 5px #000;\n text-align: left; }\n .tooltip-inner p {\n margin-bottom: 2px; }\n .tooltip-inner p:last-of-type {\n margin-bottom: 0; }\n .tooltip.top .tooltip-arrow {\n border-top-color: #fff; }\n .tooltip.in {\n opacity: 1; }\n"
-
-/***/ },
-/* 633 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(634));
- __export(__webpack_require__(637));
-
-
-/***/ },
-/* 634 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var MainAppComponent = (function () {
- function MainAppComponent() {
- }
- MainAppComponent = __decorate([
- core_1.Component({
- selector: 'main-app',
- template: __webpack_require__(635),
- styles: [__webpack_require__(636)],
- encapsulation: core_1.ViewEncapsulation.None
- }),
- __metadata('design:paramtypes', [])
- ], MainAppComponent);
- return MainAppComponent;
- }());
- exports.MainAppComponent = MainAppComponent;
-
-
-/***/ },
-/* 635 */
-/***/ function(module, exports) {
-
- module.exports = " \r\n \r\n\r\n \r\n
\r\n\r\n \r\n";
-
-/***/ },
-/* 636 */
-/***/ function(module, exports) {
-
- module.exports = "main-app {\n display: block;\n height: 100vh;\n width: 100%;\n overflow: hidden;\n position: relative; }\n main-app .select2-container--default .select2-selection--single .select2-selection__rendered {\n line-height: 26px; }\n\n.main-content {\n height: 100%;\n margin-left: 250px; }\n\n.select2-container {\n z-index: 1100; }\n\n.select2-results {\n text-align: center; }\n\n/* GitHub ribbon */\n.github-fork-ribbon {\n background-color: #a00;\n overflow: hidden;\n white-space: nowrap;\n position: fixed;\n right: -50px;\n bottom: 40px;\n z-index: 2000;\n /* stylelint-disable indentation */\n -webkit-transform: rotate(-45deg);\n -moz-transform: rotate(-45deg);\n -ms-transform: rotate(-45deg);\n -o-transform: rotate(-45deg);\n transform: rotate(-45deg);\n -webkit-box-shadow: 0 0 10px #888;\n -moz-box-shadow: 0 0 10px #888;\n box-shadow: 0 0 10px #888;\n /* stylelint-enable indentation */ }\n .github-fork-ribbon a {\n border: 1px solid #faa;\n color: #fff;\n display: block;\n font: bold 81.25% 'Helvetica Neue', Helvetica, Arial, sans-serif;\n margin: 1px 0;\n padding: 10px 50px;\n text-align: center;\n text-decoration: none;\n text-shadow: 0 0 5px #444; }\n"
-
-/***/ },
-/* 637 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var router_1 = __webpack_require__(402);
- var add_on_1 = __webpack_require__(400);
- var keymap_1 = __webpack_require__(420);
- var macro_1 = __webpack_require__(467);
- var settings_1 = __webpack_require__(570);
- var appRoutes = keymap_1.keymapRoutes.concat(macro_1.macroRoutes, add_on_1.addOnRoutes, settings_1.settingsRoutes);
- exports.appRoutingProviders = [];
- exports.routing = router_1.RouterModule.forRoot(appRoutes, { useHash: true });
-
-
-/***/ },
-/* 638 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- function __export(m) {
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
- }
- __export(__webpack_require__(639));
- __export(__webpack_require__(643));
-
-
-/***/ },
-/* 639 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var router_1 = __webpack_require__(402);
- var effects_1 = __webpack_require__(338);
- var store_1 = __webpack_require__(353);
- __webpack_require__(640);
- __webpack_require__(642);
- var actions_1 = __webpack_require__(449);
- var KeymapEffects = (function () {
- function KeymapEffects(actions$, router, store) {
- var _this = this;
- this.actions$ = actions$;
- this.router = router;
- this.store = store;
- this.remove$ = this.actions$
- .ofType(actions_1.KeymapActions.REMOVE)
- .withLatestFrom(this.store)
- .do(function (latest) {
- var state = latest[1];
- if (state.keymaps.entities.length === 0) {
- _this.router.navigate(['/keymap/add']);
- }
- else {
- _this.router.navigate(['/keymap']);
- }
- });
- this.editAbbr$ = this.actions$
- .ofType(actions_1.KeymapActions.EDIT_ABBR)
- .withLatestFrom(this.store)
- .do(function (latest) {
- var state = latest[1];
- _this.router.navigate(['/keymap', state.keymaps.newAbbr]);
- });
- }
- __decorate([
- effects_1.Effect({ dispatch: false }),
- __metadata('design:type', Object)
- ], KeymapEffects.prototype, "remove$", void 0);
- __decorate([
- effects_1.Effect({ dispatch: false }),
- __metadata('design:type', Object)
- ], KeymapEffects.prototype, "editAbbr$", void 0);
- KeymapEffects = __decorate([
- core_1.Injectable(),
- __metadata('design:paramtypes', [effects_1.Actions, router_1.Router, store_1.Store])
- ], KeymapEffects);
- return KeymapEffects;
- }());
- exports.KeymapEffects = KeymapEffects;
-
-
-/***/ },
-/* 640 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var Observable_1 = __webpack_require__(315);
- var do_1 = __webpack_require__(641);
- Observable_1.Observable.prototype.do = do_1._do;
- Observable_1.Observable.prototype._do = do_1._do;
- //# sourceMappingURL=do.js.map
-
-/***/ },
-/* 641 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __extends = (this && this.__extends) || function (d, b) {
- for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
- function __() { this.constructor = d; }
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
- };
- var Subscriber_1 = __webpack_require__(318);
- /**
- * Perform a side effect for every emission on the source Observable, but return
- * an Observable that is identical to the source.
- *
- * Intercepts each emission on the source and runs a
- * function, but returns an output which is identical to the source.
- *
- *
- *
- * Returns a mirrored Observable of the source Observable, but modified so that
- * the provided Observer is called to perform a side effect for every value,
- * error, and completion emitted by the source. Any errors that are thrown in
- * the aforementioned Observer or handlers are safely sent down the error path
- * of the output Observable.
- *
- * This operator is useful for debugging your Observables for the correct values
- * or performing other side effects.
- *
- * Note: this is different to a `subscribe` on the Observable. If the Observable
- * returned by `do` is not subscribed, the side effects specified by the
- * Observer will never happen. `do` therefore simply spies on existing
- * execution, it does not trigger an execution to happen like `subscribe` does.
- *
- * @example Map every every click to the clientX position of that click, while also logging the click event
- * var clicks = Rx.Observable.fromEvent(document, 'click');
- * var positions = clicks
- * .do(ev => console.log(ev))
- * .map(ev => ev.clientX);
- * positions.subscribe(x => console.log(x));
- *
- * @see {@link map}
- * @see {@link subscribe}
- *
- * @param {Observer|function} [nextOrObserver] A normal Observer object or a
- * callback for `next`.
- * @param {function} [error] Callback for errors in the source.
- * @param {function} [complete] Callback for the completion of the source.
- * @return {Observable} An Observable identical to the source, but runs the
- * specified Observer or callback(s) for each item.
- * @method do
- * @name do
- * @owner Observable
- */
- function _do(nextOrObserver, error, complete) {
- return this.lift(new DoOperator(nextOrObserver, error, complete));
- }
- exports._do = _do;
- var DoOperator = (function () {
- function DoOperator(nextOrObserver, error, complete) {
- this.nextOrObserver = nextOrObserver;
- this.error = error;
- this.complete = complete;
- }
- DoOperator.prototype.call = function (subscriber, source) {
- return source._subscribe(new DoSubscriber(subscriber, this.nextOrObserver, this.error, this.complete));
- };
- return DoOperator;
- }());
- /**
- * We need this JSDoc comment for affecting ESDoc.
- * @ignore
- * @extends {Ignored}
- */
- var DoSubscriber = (function (_super) {
- __extends(DoSubscriber, _super);
- function DoSubscriber(destination, nextOrObserver, error, complete) {
- _super.call(this, destination);
- var safeSubscriber = new Subscriber_1.Subscriber(nextOrObserver, error, complete);
- safeSubscriber.syncErrorThrowable = true;
- this.add(safeSubscriber);
- this.safeSubscriber = safeSubscriber;
- }
- DoSubscriber.prototype._next = function (value) {
- var safeSubscriber = this.safeSubscriber;
- safeSubscriber.next(value);
- if (safeSubscriber.syncErrorThrown) {
- this.destination.error(safeSubscriber.syncErrorValue);
- }
- else {
- this.destination.next(value);
- }
- };
- DoSubscriber.prototype._error = function (err) {
- var safeSubscriber = this.safeSubscriber;
- safeSubscriber.error(err);
- if (safeSubscriber.syncErrorThrown) {
- this.destination.error(safeSubscriber.syncErrorValue);
- }
- else {
- this.destination.error(err);
- }
- };
- DoSubscriber.prototype._complete = function () {
- var safeSubscriber = this.safeSubscriber;
- safeSubscriber.complete();
- if (safeSubscriber.syncErrorThrown) {
- this.destination.error(safeSubscriber.syncErrorValue);
- }
- else {
- this.destination.complete();
- }
- };
- return DoSubscriber;
- }(Subscriber_1.Subscriber));
- //# sourceMappingURL=do.js.map
-
-/***/ },
-/* 642 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var Observable_1 = __webpack_require__(315);
- var withLatestFrom_1 = __webpack_require__(359);
- Observable_1.Observable.prototype.withLatestFrom = withLatestFrom_1.withLatestFrom;
- //# sourceMappingURL=withLatestFrom.js.map
-
-/***/ },
-/* 643 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var router_1 = __webpack_require__(402);
- var effects_1 = __webpack_require__(338);
- var store_1 = __webpack_require__(353);
- __webpack_require__(640);
- __webpack_require__(642);
- var actions_1 = __webpack_require__(449);
- var MacroEffects = (function () {
- function MacroEffects(actions$, router, store) {
- var _this = this;
- this.actions$ = actions$;
- this.router = router;
- this.store = store;
- this.remove$ = this.actions$
- .ofType(actions_1.MacroActions.REMOVE)
- .withLatestFrom(this.store)
- .do(function (latest) {
- var state = latest[1];
- if (state.macros.entities.length === 0) {
- _this.router.navigate(['/macro/add']);
- }
- else {
- _this.router.navigate(['/macro']);
- }
- });
- }
- __decorate([
- effects_1.Effect({ dispatch: false }),
- __metadata('design:type', Object)
- ], MacroEffects.prototype, "remove$", void 0);
- MacroEffects = __decorate([
- core_1.Injectable(),
- __metadata('design:paramtypes', [effects_1.Actions, router_1.Router, store_1.Store])
- ], MacroEffects);
- return MacroEffects;
- }());
- exports.MacroEffects = MacroEffects;
-
-
-/***/ },
-/* 644 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
- return c > 3 && r && Object.defineProperty(target, key, r), r;
- };
- var __metadata = (this && this.__metadata) || function (k, v) {
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
- };
- var core_1 = __webpack_require__(313);
- var electron_1 = __webpack_require__(645);
- var local_1 = __webpack_require__(646);
- var DataStorage = (function () {
- function DataStorage() {
- this.detectEnvironment();
- }
- DataStorage.prototype.initialState = function () {
- return this._environment.initialState();
- };
- DataStorage.prototype.detectEnvironment = function () {
- // Electron
- // TODO check if we can remove when electron will be implemented (maybe use process.versions['electron'])
- if (typeof window !== 'undefined' && window.process && window.process.type === 'renderer') {
- this._environment = new electron_1.Electron();
- }
- else {
- this._environment = new local_1.Local();
- }
- };
- DataStorage.prototype.saveSate = function (reducer) {
- return this._environment.saveSate(reducer);
- };
- DataStorage = __decorate([
- core_1.Injectable(),
- __metadata('design:paramtypes', [])
- ], DataStorage);
- return DataStorage;
- }());
- exports.DataStorage = DataStorage;
-
-
-/***/ },
-/* 645 */
-/***/ function(module, exports) {
-
- "use strict";
- var Electron = (function () {
- function Electron() {
- }
- Electron.prototype.initialState = function () {
- // TODO implement load logic
- };
- /* tslint:disable:no-unused-variable */
- Electron.prototype.saveSate = function (reducer) {
- // TODO implement save logic
- };
- return Electron;
- }());
- exports.Electron = Electron;
-
-
-/***/ },
-/* 646 */
-/***/ function(module, exports, __webpack_require__) {
-
- "use strict";
- var Keymap_1 = __webpack_require__(429);
- var Macro_1 = __webpack_require__(485);
- var UhkConfiguration_1 = __webpack_require__(525);
- var actions_1 = __webpack_require__(449);
- var Local = (function () {
- function Local() {
- }
- Local.prototype.initialState = function () {
- var config;
- var presetAll;
- // Load data from json
- if (!localStorage.getItem('config')) {
- var jsonUser = __webpack_require__(529);
- var presets = __webpack_require__(530);
- config = new UhkConfiguration_1.UhkConfiguration().fromJsObject(jsonUser);
- presetAll = presets.map(function (keymap) { return new Keymap_1.Keymap().fromJsObject(keymap); });
- // Save to local storage
- localStorage.setItem('config', JSON.stringify(config.toJsObject()));
- localStorage.setItem('preset', JSON.stringify(presetAll.map(function (preset) { return preset.toJsObject(); })));
- }
- else {
- config = new UhkConfiguration_1.UhkConfiguration().fromJsObject(JSON.parse(localStorage.getItem('config')));
- presetAll = JSON.parse(localStorage.getItem('preset')).map(function (keymap) { return new Keymap_1.Keymap().fromJsObject(keymap); });
- }
- return {
- keymaps: {
- entities: config.keymaps
- },
- macros: {
- entities: config.macros
- },
- presetKeymaps: presetAll
- };
- };
- Local.prototype.saveSate = function (reducer) {
- return function (state, action) {
- var nextState = reducer(state, action);
- var config;
- // Save elements to the UhkConfiguration
- if (action.type.startsWith(actions_1.KeymapActions.PREFIX) &&
- ((nextState.entities && nextState.entities.length && nextState.entities[0] instanceof Keymap_1.Keymap) ||
- (state.entities && state.entities.length && state.entities[0] instanceof Keymap_1.Keymap))) {
- config = new UhkConfiguration_1.UhkConfiguration().fromJsObject(JSON.parse(localStorage.getItem('config')));
- config.keymaps = Object.values(nextState.entities);
- localStorage.setItem('config', JSON.stringify(config.toJsObject()));
- }
- else if (action.type.startsWith(actions_1.MacroActions.PREFIX) &&
- ((nextState.entities && nextState.entities.length && nextState.entities[0] instanceof Macro_1.Macro) ||
- (state.entities && state.entities.length && state.entities[0] instanceof Macro_1.Macro))) {
- config = new UhkConfiguration_1.UhkConfiguration().fromJsObject(JSON.parse(localStorage.getItem('config')));
- config.macros = Object.values(nextState.entities);
- localStorage.setItem('config', JSON.stringify(config.toJsObject()));
- }
- return nextState;
- };
- };
- return Local;
- }());
- exports.Local = Local;
-
-
-/***/ },
-/* 647 */
+/* 657 */
/***/ function(module, exports, __webpack_require__) {
- /* WEBPACK VAR INJECTION */(function(process) {var WritableStream = __webpack_require__(648).Writable
- var inherits = __webpack_require__(665).inherits
+ /* WEBPACK VAR INJECTION */(function(process) {var WritableStream = __webpack_require__(658).Writable
+ var inherits = __webpack_require__(675).inherits
module.exports = BrowserStdout
@@ -72761,7 +73695,7 @@
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(309)))
/***/ },
-/* 648 */
+/* 658 */
/***/ function(module, exports, __webpack_require__) {
// Copyright Joyent, Inc. and other Node contributors.
@@ -72787,15 +73721,15 @@
module.exports = Stream;
- var EE = __webpack_require__(649).EventEmitter;
- var inherits = __webpack_require__(650);
+ var EE = __webpack_require__(659).EventEmitter;
+ var inherits = __webpack_require__(660);
inherits(Stream, EE);
- Stream.Readable = __webpack_require__(651);
- Stream.Writable = __webpack_require__(661);
- Stream.Duplex = __webpack_require__(662);
- Stream.Transform = __webpack_require__(663);
- Stream.PassThrough = __webpack_require__(664);
+ Stream.Readable = __webpack_require__(661);
+ Stream.Writable = __webpack_require__(671);
+ Stream.Duplex = __webpack_require__(672);
+ Stream.Transform = __webpack_require__(673);
+ Stream.PassThrough = __webpack_require__(674);
// Backwards-compat with node 0.4.x
Stream.Stream = Stream;
@@ -72894,7 +73828,7 @@
/***/ },
-/* 649 */
+/* 659 */
/***/ function(module, exports) {
// Copyright Joyent, Inc. and other Node contributors.
@@ -73202,7 +74136,7 @@
/***/ },
-/* 650 */
+/* 660 */
/***/ function(module, exports) {
if (typeof Object.create === 'function') {
@@ -73231,24 +74165,24 @@
/***/ },
-/* 651 */
+/* 661 */
/***/ function(module, exports, __webpack_require__) {
- /* WEBPACK VAR INJECTION */(function(process) {exports = module.exports = __webpack_require__(652);
- exports.Stream = __webpack_require__(648);
+ /* WEBPACK VAR INJECTION */(function(process) {exports = module.exports = __webpack_require__(662);
+ exports.Stream = __webpack_require__(658);
exports.Readable = exports;
- exports.Writable = __webpack_require__(657);
- exports.Duplex = __webpack_require__(656);
- exports.Transform = __webpack_require__(659);
- exports.PassThrough = __webpack_require__(660);
+ exports.Writable = __webpack_require__(667);
+ exports.Duplex = __webpack_require__(666);
+ exports.Transform = __webpack_require__(669);
+ exports.PassThrough = __webpack_require__(670);
if (!process.browser && process.env.READABLE_STREAM === 'disable') {
- module.exports = __webpack_require__(648);
+ module.exports = __webpack_require__(658);
}
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(309)))
/***/ },
-/* 652 */
+/* 662 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {// Copyright Joyent, Inc. and other Node contributors.
@@ -73275,17 +74209,17 @@
module.exports = Readable;
/**/
- var isArray = __webpack_require__(653);
+ var isArray = __webpack_require__(663);
/* */
/**/
- var Buffer = __webpack_require__(445).Buffer;
+ var Buffer = __webpack_require__(451).Buffer;
/* */
Readable.ReadableState = ReadableState;
- var EE = __webpack_require__(649).EventEmitter;
+ var EE = __webpack_require__(659).EventEmitter;
/**/
if (!EE.listenerCount) EE.listenerCount = function(emitter, type) {
@@ -73293,18 +74227,18 @@
};
/* */
- var Stream = __webpack_require__(648);
+ var Stream = __webpack_require__(658);
/**/
- var util = __webpack_require__(654);
- util.inherits = __webpack_require__(650);
+ var util = __webpack_require__(664);
+ util.inherits = __webpack_require__(660);
/* */
var StringDecoder;
/**/
- var debug = __webpack_require__(655);
+ var debug = __webpack_require__(665);
if (debug && debug.debuglog) {
debug = debug.debuglog('stream');
} else {
@@ -73316,7 +74250,7 @@
util.inherits(Readable, Stream);
function ReadableState(options, stream) {
- var Duplex = __webpack_require__(656);
+ var Duplex = __webpack_require__(666);
options = options || {};
@@ -73377,14 +74311,14 @@
this.encoding = null;
if (options.encoding) {
if (!StringDecoder)
- StringDecoder = __webpack_require__(658).StringDecoder;
+ StringDecoder = __webpack_require__(668).StringDecoder;
this.decoder = new StringDecoder(options.encoding);
this.encoding = options.encoding;
}
}
function Readable(options) {
- var Duplex = __webpack_require__(656);
+ var Duplex = __webpack_require__(666);
if (!(this instanceof Readable))
return new Readable(options);
@@ -73487,7 +74421,7 @@
// backwards compatibility.
Readable.prototype.setEncoding = function(enc) {
if (!StringDecoder)
- StringDecoder = __webpack_require__(658).StringDecoder;
+ StringDecoder = __webpack_require__(668).StringDecoder;
this._readableState.decoder = new StringDecoder(enc);
this._readableState.encoding = enc;
return this;
@@ -74206,7 +75140,7 @@
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(309)))
/***/ },
-/* 653 */
+/* 663 */
/***/ function(module, exports) {
module.exports = Array.isArray || function (arr) {
@@ -74215,7 +75149,7 @@
/***/ },
-/* 654 */
+/* 664 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(Buffer) {// Copyright Joyent, Inc. and other Node contributors.
@@ -74326,16 +75260,16 @@
return Object.prototype.toString.call(o);
}
- /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(445).Buffer))
+ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(451).Buffer))
/***/ },
-/* 655 */
+/* 665 */
/***/ function(module, exports) {
/* (ignored) */
/***/ },
-/* 656 */
+/* 666 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {// Copyright Joyent, Inc. and other Node contributors.
@@ -74376,12 +75310,12 @@
/**/
- var util = __webpack_require__(654);
- util.inherits = __webpack_require__(650);
+ var util = __webpack_require__(664);
+ util.inherits = __webpack_require__(660);
/* */
- var Readable = __webpack_require__(652);
- var Writable = __webpack_require__(657);
+ var Readable = __webpack_require__(662);
+ var Writable = __webpack_require__(667);
util.inherits(Duplex, Readable);
@@ -74431,7 +75365,7 @@
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(309)))
/***/ },
-/* 657 */
+/* 667 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(process) {// Copyright Joyent, Inc. and other Node contributors.
@@ -74462,18 +75396,18 @@
module.exports = Writable;
/**/
- var Buffer = __webpack_require__(445).Buffer;
+ var Buffer = __webpack_require__(451).Buffer;
/* */
Writable.WritableState = WritableState;
/**/
- var util = __webpack_require__(654);
- util.inherits = __webpack_require__(650);
+ var util = __webpack_require__(664);
+ util.inherits = __webpack_require__(660);
/* */
- var Stream = __webpack_require__(648);
+ var Stream = __webpack_require__(658);
util.inherits(Writable, Stream);
@@ -74484,7 +75418,7 @@
}
function WritableState(options, stream) {
- var Duplex = __webpack_require__(656);
+ var Duplex = __webpack_require__(666);
options = options || {};
@@ -74572,7 +75506,7 @@
}
function Writable(options) {
- var Duplex = __webpack_require__(656);
+ var Duplex = __webpack_require__(666);
// Writable ctor is applied to Duplexes, though they're not
// instanceof Writable, they're instanceof Readable.
@@ -74915,7 +75849,7 @@
/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(309)))
/***/ },
-/* 658 */
+/* 668 */
/***/ function(module, exports, __webpack_require__) {
// Copyright Joyent, Inc. and other Node contributors.
@@ -74939,7 +75873,7 @@
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
// USE OR OTHER DEALINGS IN THE SOFTWARE.
- var Buffer = __webpack_require__(445).Buffer;
+ var Buffer = __webpack_require__(451).Buffer;
var isBufferEncoding = Buffer.isEncoding
|| function(encoding) {
@@ -75142,7 +76076,7 @@
/***/ },
-/* 659 */
+/* 669 */
/***/ function(module, exports, __webpack_require__) {
// Copyright Joyent, Inc. and other Node contributors.
@@ -75211,11 +76145,11 @@
module.exports = Transform;
- var Duplex = __webpack_require__(656);
+ var Duplex = __webpack_require__(666);
/**/
- var util = __webpack_require__(654);
- util.inherits = __webpack_require__(650);
+ var util = __webpack_require__(664);
+ util.inherits = __webpack_require__(660);
/* */
util.inherits(Transform, Duplex);
@@ -75357,7 +76291,7 @@
/***/ },
-/* 660 */
+/* 670 */
/***/ function(module, exports, __webpack_require__) {
// Copyright Joyent, Inc. and other Node contributors.
@@ -75387,11 +76321,11 @@
module.exports = PassThrough;
- var Transform = __webpack_require__(659);
+ var Transform = __webpack_require__(669);
/**/
- var util = __webpack_require__(654);
- util.inherits = __webpack_require__(650);
+ var util = __webpack_require__(664);
+ util.inherits = __webpack_require__(660);
/* */
util.inherits(PassThrough, Transform);
@@ -75409,35 +76343,35 @@
/***/ },
-/* 661 */
+/* 671 */
/***/ function(module, exports, __webpack_require__) {
- module.exports = __webpack_require__(657)
+ module.exports = __webpack_require__(667)
/***/ },
-/* 662 */
+/* 672 */
/***/ function(module, exports, __webpack_require__) {
- module.exports = __webpack_require__(656)
+ module.exports = __webpack_require__(666)
/***/ },
-/* 663 */
+/* 673 */
/***/ function(module, exports, __webpack_require__) {
- module.exports = __webpack_require__(659)
+ module.exports = __webpack_require__(669)
/***/ },
-/* 664 */
+/* 674 */
/***/ function(module, exports, __webpack_require__) {
- module.exports = __webpack_require__(660)
+ module.exports = __webpack_require__(670)
/***/ },
-/* 665 */
+/* 675 */
/***/ function(module, exports, __webpack_require__) {
/* WEBPACK VAR INJECTION */(function(global, process) {// Copyright Joyent, Inc. and other Node contributors.
@@ -75965,7 +76899,7 @@
}
exports.isPrimitive = isPrimitive;
- exports.isBuffer = __webpack_require__(666);
+ exports.isBuffer = __webpack_require__(676);
function objectToString(o) {
return Object.prototype.toString.call(o);
@@ -76009,7 +76943,7 @@
* prototype.
* @param {function} superCtor Constructor function to inherit prototype from.
*/
- exports.inherits = __webpack_require__(667);
+ exports.inherits = __webpack_require__(677);
exports._extend = function(origin, add) {
// Don't do anything if add isn't an object
@@ -76030,7 +76964,7 @@
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(309)))
/***/ },
-/* 666 */
+/* 676 */
/***/ function(module, exports) {
module.exports = function isBuffer(arg) {
@@ -76041,7 +76975,7 @@
}
/***/ },
-/* 667 */
+/* 677 */
/***/ function(module, exports) {
if (typeof Object.create === 'function') {
diff --git a/uhk.js.map b/uhk.js.map
index d6a761e5..039fea76 100644
--- a/uhk.js.map
+++ b/uhk.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap 7baca51d72e9ae0af827","webpack:///./~/core-js/index.js","webpack:///./~/core-js/shim.js","webpack:///./~/core-js/modules/es6.symbol.js","webpack:///./~/core-js/modules/_global.js","webpack:///./~/core-js/modules/_has.js","webpack:///./~/core-js/modules/_descriptors.js","webpack:///./~/core-js/modules/_fails.js","webpack:///./~/core-js/modules/_export.js","webpack:///./~/core-js/modules/_core.js","webpack:///./~/core-js/modules/_hide.js","webpack:///./~/core-js/modules/_object-dp.js","webpack:///./~/core-js/modules/_an-object.js","webpack:///./~/core-js/modules/_is-object.js","webpack:///./~/core-js/modules/_ie8-dom-define.js","webpack:///./~/core-js/modules/_dom-create.js","webpack:///./~/core-js/modules/_to-primitive.js","webpack:///./~/core-js/modules/_property-desc.js","webpack:///./~/core-js/modules/_redefine.js","webpack:///./~/core-js/modules/_uid.js","webpack:///./~/core-js/modules/_ctx.js","webpack:///./~/core-js/modules/_a-function.js","webpack:///./~/core-js/modules/_meta.js","webpack:///./~/core-js/modules/_shared.js","webpack:///./~/core-js/modules/_set-to-string-tag.js","webpack:///./~/core-js/modules/_wks.js","webpack:///./~/core-js/modules/_wks-ext.js","webpack:///./~/core-js/modules/_wks-define.js","webpack:///./~/core-js/modules/_library.js","webpack:///./~/core-js/modules/_keyof.js","webpack:///./~/core-js/modules/_object-keys.js","webpack:///./~/core-js/modules/_object-keys-internal.js","webpack:///./~/core-js/modules/_to-iobject.js","webpack:///./~/core-js/modules/_iobject.js","webpack:///./~/core-js/modules/_cof.js","webpack:///./~/core-js/modules/_defined.js","webpack:///./~/core-js/modules/_array-includes.js","webpack:///./~/core-js/modules/_to-length.js","webpack:///./~/core-js/modules/_to-integer.js","webpack:///./~/core-js/modules/_to-index.js","webpack:///./~/core-js/modules/_shared-key.js","webpack:///./~/core-js/modules/_enum-bug-keys.js","webpack:///./~/core-js/modules/_enum-keys.js","webpack:///./~/core-js/modules/_object-gops.js","webpack:///./~/core-js/modules/_object-pie.js","webpack:///./~/core-js/modules/_is-array.js","webpack:///./~/core-js/modules/_object-create.js","webpack:///./~/core-js/modules/_object-dps.js","webpack:///./~/core-js/modules/_html.js","webpack:///./~/core-js/modules/_object-gopn-ext.js","webpack:///./~/core-js/modules/_object-gopn.js","webpack:///./~/core-js/modules/_object-gopd.js","webpack:///./~/core-js/modules/es6.object.create.js","webpack:///./~/core-js/modules/es6.object.define-property.js","webpack:///./~/core-js/modules/es6.object.define-properties.js","webpack:///./~/core-js/modules/es6.object.get-own-property-descriptor.js","webpack:///./~/core-js/modules/_object-sap.js","webpack:///./~/core-js/modules/es6.object.get-prototype-of.js","webpack:///./~/core-js/modules/_to-object.js","webpack:///./~/core-js/modules/_object-gpo.js","webpack:///./~/core-js/modules/es6.object.keys.js","webpack:///./~/core-js/modules/es6.object.get-own-property-names.js","webpack:///./~/core-js/modules/es6.object.freeze.js","webpack:///./~/core-js/modules/es6.object.seal.js","webpack:///./~/core-js/modules/es6.object.prevent-extensions.js","webpack:///./~/core-js/modules/es6.object.is-frozen.js","webpack:///./~/core-js/modules/es6.object.is-sealed.js","webpack:///./~/core-js/modules/es6.object.is-extensible.js","webpack:///./~/core-js/modules/es6.object.assign.js","webpack:///./~/core-js/modules/_object-assign.js","webpack:///./~/core-js/modules/es6.object.is.js","webpack:///./~/core-js/modules/_same-value.js","webpack:///./~/core-js/modules/es6.object.set-prototype-of.js","webpack:///./~/core-js/modules/_set-proto.js","webpack:///./~/core-js/modules/es6.object.to-string.js","webpack:///./~/core-js/modules/_classof.js","webpack:///./~/core-js/modules/es6.function.bind.js","webpack:///./~/core-js/modules/_bind.js","webpack:///./~/core-js/modules/_invoke.js","webpack:///./~/core-js/modules/es6.function.name.js","webpack:///./~/core-js/modules/es6.function.has-instance.js","webpack:///./~/core-js/modules/es6.parse-int.js","webpack:///./~/core-js/modules/_parse-int.js","webpack:///./~/core-js/modules/_string-trim.js","webpack:///./~/core-js/modules/_string-ws.js","webpack:///./~/core-js/modules/es6.parse-float.js","webpack:///./~/core-js/modules/_parse-float.js","webpack:///./~/core-js/modules/es6.number.constructor.js","webpack:///./~/core-js/modules/_inherit-if-required.js","webpack:///./~/core-js/modules/es6.number.to-fixed.js","webpack:///./~/core-js/modules/_a-number-value.js","webpack:///./~/core-js/modules/_string-repeat.js","webpack:///./~/core-js/modules/es6.number.to-precision.js","webpack:///./~/core-js/modules/es6.number.epsilon.js","webpack:///./~/core-js/modules/es6.number.is-finite.js","webpack:///./~/core-js/modules/es6.number.is-integer.js","webpack:///./~/core-js/modules/_is-integer.js","webpack:///./~/core-js/modules/es6.number.is-nan.js","webpack:///./~/core-js/modules/es6.number.is-safe-integer.js","webpack:///./~/core-js/modules/es6.number.max-safe-integer.js","webpack:///./~/core-js/modules/es6.number.min-safe-integer.js","webpack:///./~/core-js/modules/es6.number.parse-float.js","webpack:///./~/core-js/modules/es6.number.parse-int.js","webpack:///./~/core-js/modules/es6.math.acosh.js","webpack:///./~/core-js/modules/_math-log1p.js","webpack:///./~/core-js/modules/es6.math.asinh.js","webpack:///./~/core-js/modules/es6.math.atanh.js","webpack:///./~/core-js/modules/es6.math.cbrt.js","webpack:///./~/core-js/modules/_math-sign.js","webpack:///./~/core-js/modules/es6.math.clz32.js","webpack:///./~/core-js/modules/es6.math.cosh.js","webpack:///./~/core-js/modules/es6.math.expm1.js","webpack:///./~/core-js/modules/_math-expm1.js","webpack:///./~/core-js/modules/es6.math.fround.js","webpack:///./~/core-js/modules/es6.math.hypot.js","webpack:///./~/core-js/modules/es6.math.imul.js","webpack:///./~/core-js/modules/es6.math.log10.js","webpack:///./~/core-js/modules/es6.math.log1p.js","webpack:///./~/core-js/modules/es6.math.log2.js","webpack:///./~/core-js/modules/es6.math.sign.js","webpack:///./~/core-js/modules/es6.math.sinh.js","webpack:///./~/core-js/modules/es6.math.tanh.js","webpack:///./~/core-js/modules/es6.math.trunc.js","webpack:///./~/core-js/modules/es6.string.from-code-point.js","webpack:///./~/core-js/modules/es6.string.raw.js","webpack:///./~/core-js/modules/es6.string.trim.js","webpack:///./~/core-js/modules/es6.string.iterator.js","webpack:///./~/core-js/modules/_string-at.js","webpack:///./~/core-js/modules/_iter-define.js","webpack:///./~/core-js/modules/_iterators.js","webpack:///./~/core-js/modules/_iter-create.js","webpack:///./~/core-js/modules/es6.string.code-point-at.js","webpack:///./~/core-js/modules/es6.string.ends-with.js","webpack:///./~/core-js/modules/_string-context.js","webpack:///./~/core-js/modules/_is-regexp.js","webpack:///./~/core-js/modules/_fails-is-regexp.js","webpack:///./~/core-js/modules/es6.string.includes.js","webpack:///./~/core-js/modules/es6.string.repeat.js","webpack:///./~/core-js/modules/es6.string.starts-with.js","webpack:///./~/core-js/modules/es6.string.anchor.js","webpack:///./~/core-js/modules/_string-html.js","webpack:///./~/core-js/modules/es6.string.big.js","webpack:///./~/core-js/modules/es6.string.blink.js","webpack:///./~/core-js/modules/es6.string.bold.js","webpack:///./~/core-js/modules/es6.string.fixed.js","webpack:///./~/core-js/modules/es6.string.fontcolor.js","webpack:///./~/core-js/modules/es6.string.fontsize.js","webpack:///./~/core-js/modules/es6.string.italics.js","webpack:///./~/core-js/modules/es6.string.link.js","webpack:///./~/core-js/modules/es6.string.small.js","webpack:///./~/core-js/modules/es6.string.strike.js","webpack:///./~/core-js/modules/es6.string.sub.js","webpack:///./~/core-js/modules/es6.string.sup.js","webpack:///./~/core-js/modules/es6.date.now.js","webpack:///./~/core-js/modules/es6.date.to-json.js","webpack:///./~/core-js/modules/es6.date.to-iso-string.js","webpack:///./~/core-js/modules/es6.date.to-string.js","webpack:///./~/core-js/modules/es6.date.to-primitive.js","webpack:///./~/core-js/modules/_date-to-primitive.js","webpack:///./~/core-js/modules/es6.array.is-array.js","webpack:///./~/core-js/modules/es6.array.from.js","webpack:///./~/core-js/modules/_iter-call.js","webpack:///./~/core-js/modules/_is-array-iter.js","webpack:///./~/core-js/modules/_create-property.js","webpack:///./~/core-js/modules/core.get-iterator-method.js","webpack:///./~/core-js/modules/_iter-detect.js","webpack:///./~/core-js/modules/es6.array.of.js","webpack:///./~/core-js/modules/es6.array.join.js","webpack:///./~/core-js/modules/_strict-method.js","webpack:///./~/core-js/modules/es6.array.slice.js","webpack:///./~/core-js/modules/es6.array.sort.js","webpack:///./~/core-js/modules/es6.array.for-each.js","webpack:///./~/core-js/modules/_array-methods.js","webpack:///./~/core-js/modules/_array-species-create.js","webpack:///./~/core-js/modules/_array-species-constructor.js","webpack:///./~/core-js/modules/es6.array.map.js","webpack:///./~/core-js/modules/es6.array.filter.js","webpack:///./~/core-js/modules/es6.array.some.js","webpack:///./~/core-js/modules/es6.array.every.js","webpack:///./~/core-js/modules/es6.array.reduce.js","webpack:///./~/core-js/modules/_array-reduce.js","webpack:///./~/core-js/modules/es6.array.reduce-right.js","webpack:///./~/core-js/modules/es6.array.index-of.js","webpack:///./~/core-js/modules/es6.array.last-index-of.js","webpack:///./~/core-js/modules/es6.array.copy-within.js","webpack:///./~/core-js/modules/_array-copy-within.js","webpack:///./~/core-js/modules/_add-to-unscopables.js","webpack:///./~/core-js/modules/es6.array.fill.js","webpack:///./~/core-js/modules/_array-fill.js","webpack:///./~/core-js/modules/es6.array.find.js","webpack:///./~/core-js/modules/es6.array.find-index.js","webpack:///./~/core-js/modules/es6.array.species.js","webpack:///./~/core-js/modules/_set-species.js","webpack:///./~/core-js/modules/es6.array.iterator.js","webpack:///./~/core-js/modules/_iter-step.js","webpack:///./~/core-js/modules/es6.regexp.constructor.js","webpack:///./~/core-js/modules/_flags.js","webpack:///./~/core-js/modules/es6.regexp.to-string.js","webpack:///./~/core-js/modules/es6.regexp.flags.js","webpack:///./~/core-js/modules/es6.regexp.match.js","webpack:///./~/core-js/modules/_fix-re-wks.js","webpack:///./~/core-js/modules/es6.regexp.replace.js","webpack:///./~/core-js/modules/es6.regexp.search.js","webpack:///./~/core-js/modules/es6.regexp.split.js","webpack:///./~/core-js/modules/es6.promise.js","webpack:///./~/core-js/modules/_an-instance.js","webpack:///./~/core-js/modules/_for-of.js","webpack:///./~/core-js/modules/_species-constructor.js","webpack:///./~/core-js/modules/_task.js","webpack:///./~/core-js/modules/_microtask.js","webpack:///./~/core-js/modules/_redefine-all.js","webpack:///./~/core-js/modules/es6.map.js","webpack:///./~/core-js/modules/_collection-strong.js","webpack:///./~/core-js/modules/_collection.js","webpack:///./~/core-js/modules/es6.set.js","webpack:///./~/core-js/modules/es6.weak-map.js","webpack:///./~/core-js/modules/_collection-weak.js","webpack:///./~/core-js/modules/es6.weak-set.js","webpack:///./~/core-js/modules/es6.typed.array-buffer.js","webpack:///./~/core-js/modules/_typed.js","webpack:///./~/core-js/modules/_typed-buffer.js","webpack:///./~/core-js/modules/es6.typed.data-view.js","webpack:///./~/core-js/modules/es6.typed.int8-array.js","webpack:///./~/core-js/modules/_typed-array.js","webpack:///./~/core-js/modules/es6.typed.uint8-array.js","webpack:///./~/core-js/modules/es6.typed.uint8-clamped-array.js","webpack:///./~/core-js/modules/es6.typed.int16-array.js","webpack:///./~/core-js/modules/es6.typed.uint16-array.js","webpack:///./~/core-js/modules/es6.typed.int32-array.js","webpack:///./~/core-js/modules/es6.typed.uint32-array.js","webpack:///./~/core-js/modules/es6.typed.float32-array.js","webpack:///./~/core-js/modules/es6.typed.float64-array.js","webpack:///./~/core-js/modules/es6.reflect.apply.js","webpack:///./~/core-js/modules/es6.reflect.construct.js","webpack:///./~/core-js/modules/es6.reflect.define-property.js","webpack:///./~/core-js/modules/es6.reflect.delete-property.js","webpack:///./~/core-js/modules/es6.reflect.enumerate.js","webpack:///./~/core-js/modules/es6.reflect.get.js","webpack:///./~/core-js/modules/es6.reflect.get-own-property-descriptor.js","webpack:///./~/core-js/modules/es6.reflect.get-prototype-of.js","webpack:///./~/core-js/modules/es6.reflect.has.js","webpack:///./~/core-js/modules/es6.reflect.is-extensible.js","webpack:///./~/core-js/modules/es6.reflect.own-keys.js","webpack:///./~/core-js/modules/_own-keys.js","webpack:///./~/core-js/modules/es6.reflect.prevent-extensions.js","webpack:///./~/core-js/modules/es6.reflect.set.js","webpack:///./~/core-js/modules/es6.reflect.set-prototype-of.js","webpack:///./~/core-js/modules/es7.array.includes.js","webpack:///./~/core-js/modules/es7.string.at.js","webpack:///./~/core-js/modules/es7.string.pad-start.js","webpack:///./~/core-js/modules/_string-pad.js","webpack:///./~/core-js/modules/es7.string.pad-end.js","webpack:///./~/core-js/modules/es7.string.trim-left.js","webpack:///./~/core-js/modules/es7.string.trim-right.js","webpack:///./~/core-js/modules/es7.string.match-all.js","webpack:///./~/core-js/modules/es7.symbol.async-iterator.js","webpack:///./~/core-js/modules/es7.symbol.observable.js","webpack:///./~/core-js/modules/es7.object.get-own-property-descriptors.js","webpack:///./~/core-js/modules/es7.object.values.js","webpack:///./~/core-js/modules/_object-to-array.js","webpack:///./~/core-js/modules/es7.object.entries.js","webpack:///./~/core-js/modules/es7.object.define-getter.js","webpack:///./~/core-js/modules/_object-forced-pam.js","webpack:///./~/core-js/modules/es7.object.define-setter.js","webpack:///./~/core-js/modules/es7.object.lookup-getter.js","webpack:///./~/core-js/modules/es7.object.lookup-setter.js","webpack:///./~/core-js/modules/es7.map.to-json.js","webpack:///./~/core-js/modules/_collection-to-json.js","webpack:///./~/core-js/modules/_array-from-iterable.js","webpack:///./~/core-js/modules/es7.set.to-json.js","webpack:///./~/core-js/modules/es7.system.global.js","webpack:///./~/core-js/modules/es7.error.is-error.js","webpack:///./~/core-js/modules/es7.math.iaddh.js","webpack:///./~/core-js/modules/es7.math.isubh.js","webpack:///./~/core-js/modules/es7.math.imulh.js","webpack:///./~/core-js/modules/es7.math.umulh.js","webpack:///./~/core-js/modules/es7.reflect.define-metadata.js","webpack:///./~/core-js/modules/_metadata.js","webpack:///./~/core-js/modules/es7.reflect.delete-metadata.js","webpack:///./~/core-js/modules/es7.reflect.get-metadata.js","webpack:///./~/core-js/modules/es7.reflect.get-metadata-keys.js","webpack:///./~/core-js/modules/es7.reflect.get-own-metadata.js","webpack:///./~/core-js/modules/es7.reflect.get-own-metadata-keys.js","webpack:///./~/core-js/modules/es7.reflect.has-metadata.js","webpack:///./~/core-js/modules/es7.reflect.has-own-metadata.js","webpack:///./~/core-js/modules/es7.reflect.metadata.js","webpack:///./~/core-js/modules/es7.asap.js","webpack:///./~/core-js/modules/es7.observable.js","webpack:///./~/core-js/modules/web.timers.js","webpack:///./~/core-js/modules/_partial.js","webpack:///./~/core-js/modules/_path.js","webpack:///./~/core-js/modules/web.immediate.js","webpack:///./~/core-js/modules/web.dom.iterable.js","webpack:///./~/core-js/modules/core.dict.js","webpack:///./~/core-js/modules/core.is-iterable.js","webpack:///./~/core-js/modules/core.get-iterator.js","webpack:///./~/core-js/modules/core.delay.js","webpack:///./~/core-js/modules/core.function.part.js","webpack:///./~/core-js/modules/core.object.is-object.js","webpack:///./~/core-js/modules/core.object.classof.js","webpack:///./~/core-js/modules/core.object.define.js","webpack:///./~/core-js/modules/_object-define.js","webpack:///./~/core-js/modules/core.object.make.js","webpack:///./~/core-js/modules/core.number.iterator.js","webpack:///./~/core-js/modules/core.regexp.escape.js","webpack:///./~/core-js/modules/_replacer.js","webpack:///./~/core-js/modules/core.string.escape-html.js","webpack:///./~/core-js/modules/core.string.unescape-html.js","webpack:///./~/zone.js/dist/zone.js","webpack:///./~/process/browser.js","webpack:///./src/main.ts","webpack:///./~/@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js","webpack:///./~/@angular/compiler/bundles/compiler.umd.js","webpack:///./~/@angular/core/bundles/core.umd.js","webpack:///./~/rxjs/Subject.js","webpack:///./~/rxjs/Observable.js","webpack:///./~/rxjs/util/root.js","webpack:///./~/rxjs/util/toSubscriber.js","webpack:///./~/rxjs/Subscriber.js","webpack:///./~/rxjs/util/isFunction.js","webpack:///./~/rxjs/Subscription.js","webpack:///./~/rxjs/util/isArray.js","webpack:///./~/rxjs/util/isObject.js","webpack:///./~/rxjs/util/tryCatch.js","webpack:///./~/rxjs/util/errorObject.js","webpack:///./~/rxjs/util/UnsubscriptionError.js","webpack:///./~/rxjs/Observer.js","webpack:///./~/rxjs/symbol/rxSubscriber.js","webpack:///./~/rxjs/symbol/observable.js","webpack:///./~/rxjs/util/ObjectUnsubscribedError.js","webpack:///./~/rxjs/SubjectSubscription.js","webpack:///./~/@angular/platform-browser/bundles/platform-browser.umd.js","webpack:///./~/@angular/common/bundles/common.umd.js","webpack:///./src/app.module.ts","webpack:///./~/@angular/forms/bundles/forms.umd.js","webpack:///./~/rxjs/operator/toPromise.js","webpack:///./~/rxjs/observable/fromPromise.js","webpack:///./~/rxjs/observable/PromiseObservable.js","webpack:///./~/@ngrx/effects/bundles/effects.umd.js","webpack:///./~/rxjs/observable/merge.js","webpack:///./~/rxjs/operator/merge.js","webpack:///./~/rxjs/observable/ArrayObservable.js","webpack:///./~/rxjs/observable/ScalarObservable.js","webpack:///./~/rxjs/observable/EmptyObservable.js","webpack:///./~/rxjs/util/isScheduler.js","webpack:///./~/rxjs/operator/mergeAll.js","webpack:///./~/rxjs/OuterSubscriber.js","webpack:///./~/rxjs/util/subscribeToResult.js","webpack:///./~/rxjs/util/isPromise.js","webpack:///./~/rxjs/symbol/iterator.js","webpack:///./~/rxjs/InnerSubscriber.js","webpack:///./~/rxjs/operator/ignoreElements.js","webpack:///./~/rxjs/util/noop.js","webpack:///./~/@ngrx/store/bundles/store.umd.js","webpack:///./~/rxjs/BehaviorSubject.js","webpack:///./~/@ngrx/core/bundles/core.umd.js","webpack:///./~/rxjs/operator/pluck.js","webpack:///./~/rxjs/operator/map.js","webpack:///./~/rxjs/operator/distinctUntilChanged.js","webpack:///./~/rxjs/operator/withLatestFrom.js","webpack:///./~/rxjs/operator/scan.js","webpack:///./~/rxjs/operator/observeOn.js","webpack:///./~/rxjs/Notification.js","webpack:///./~/rxjs/scheduler/queue.js","webpack:///./~/rxjs/scheduler/QueueAction.js","webpack:///./~/rxjs/scheduler/AsyncAction.js","webpack:///./~/rxjs/scheduler/Action.js","webpack:///./~/rxjs/scheduler/QueueScheduler.js","webpack:///./~/rxjs/scheduler/AsyncScheduler.js","webpack:///./~/rxjs/Scheduler.js","webpack:///./~/rxjs/operator/filter.js","webpack:///./~/@ngrx/store-devtools/bundles/store-devtools.umd.js","webpack:///./~/rxjs/operator/publishReplay.js","webpack:///./~/rxjs/ReplaySubject.js","webpack:///./~/rxjs/operator/multicast.js","webpack:///./~/rxjs/observable/MulticastObservable.js","webpack:///./~/rxjs/observable/ConnectableObservable.js","webpack:///./~/rxjs/operator/skip.js","webpack:///./~/rxjs/observable/empty.js","webpack:///./~/rxjs/operator/share.js","webpack:///./~/rxjs/operator/switchMap.js","webpack:///./~/rxjs/operator/takeUntil.js","webpack:///./~/@ngrx/store-log-monitor/bundles/store-log-monitor.umd.js","webpack:///./~/@ngrx/core/operator/select.js","webpack:///./~/@ngrx/core/compose.js","webpack:///./~/ng2-dragula/ng2-dragula.js","webpack:///./~/ng2-dragula/components/dragula.directive.js","webpack:///./~/ng2-dragula/components/dragula.provider.js","webpack:///./~/dragula/dragula.js","webpack:///./~/contra/emitter.js","webpack:///./~/atoa/atoa.js","webpack:///./~/contra/debounce.js","webpack:///./~/ticky/ticky-browser.js","webpack:///./~/timers-browserify/main.js","webpack:///./~/crossvent/src/crossvent.js","webpack:///./~/custom-event/index.js","webpack:///./~/crossvent/src/eventmap.js","webpack:///./~/dragula/classes.js","webpack:///./~/ng2-select2/ng2-select2.js","webpack:///./~/ng2-select2/src/select2.component.js","webpack:///./src/components/add-on/index.ts","webpack:///./src/components/add-on/add-on.component.ts","webpack:///./~/@angular/router/bundles/router.umd.js","webpack:///./~/rxjs/observable/from.js","webpack:///./~/rxjs/observable/FromObservable.js","webpack:///./~/rxjs/observable/IteratorObservable.js","webpack:///./~/rxjs/observable/ArrayLikeObservable.js","webpack:///./~/rxjs/observable/of.js","webpack:///./~/rxjs/operator/concatMap.js","webpack:///./~/rxjs/operator/mergeMap.js","webpack:///./~/rxjs/operator/every.js","webpack:///./~/rxjs/operator/reduce.js","webpack:///./~/rxjs/operator/catch.js","webpack:///./~/rxjs/operator/concatAll.js","webpack:///./~/rxjs/operator/first.js","webpack:///./~/rxjs/util/EmptyError.js","webpack:///./~/rxjs/operator/last.js","webpack:///./src/components/add-on/add-on.component.html","webpack:///./src/components/add-on/add-on.component.scss","webpack:///./src/components/add-on/add-on.routes.ts","webpack:///./src/components/keymap/index.ts","webpack:///./src/components/keymap/keymap.component.ts","webpack:///./~/@ngrx/core/add/operator/select.js","webpack:///./~/rxjs/add/operator/let.js","webpack:///./~/rxjs/operator/let.js","webpack:///./~/rxjs/add/operator/publishReplay.js","webpack:///./~/rxjs/add/operator/switchMap.js","webpack:///./src/store/reducers/keymap.ts","webpack:///./~/rxjs/add/operator/map.js","webpack:///./src/config-serializer/config-items/Keymap.ts","webpack:///./src/config-serializer/Serializable.ts","webpack:///./src/config-serializer/config-items/Layer.ts","webpack:///./src/config-serializer/config-items/Module.ts","webpack:///./src/config-serializer/assert.ts","webpack:///./src/config-serializer/config-items/key-action/index.ts","webpack:///./src/config-serializer/config-items/key-action/KeyAction.ts","webpack:///./src/config-serializer/config-items/key-action/KeystrokeAction.ts","webpack:///./src/config-serializer/config-items/LongPressAction.ts","webpack:///./src/config-serializer/config-items/key-action/MouseAction.ts","webpack:///./src/config-serializer/config-items/key-action/NoneAction.ts","webpack:///./src/config-serializer/config-items/key-action/PlayMacroAction.ts","webpack:///./src/config-serializer/config-items/key-action/SwitchKeymapAction.ts","webpack:///./src/config-serializer/config-items/key-action/SwitchLayerAction.ts","webpack:///./src/config-serializer/config-items/key-action/helper.ts","webpack:///./src/config-serializer/UhkBuffer.ts","webpack:///./~/buffer/index.js","webpack:///./~/base64-js/index.js","webpack:///./~/ieee754/index.js","webpack:///./~/buffer/~/isarray/index.js","webpack:///./src/store/actions/index.ts","webpack:///./src/store/actions/keymap.ts","webpack:///./src/store/actions/macro.ts","webpack:///./src/components/keymap/keymap.component.html","webpack:///./src/components/keymap/keymap.component.scss","webpack:///./src/components/keymap/keymap.routes.ts","webpack:///./src/components/keymap/add/keymap-add.component.ts","webpack:///./~/rxjs/add/operator/combineLatest.js","webpack:///./~/rxjs/operator/combineLatest.js","webpack:///./src/components/keymap/add/keymap-add.component.html","webpack:///./src/components/keymap/add/keymap-add.component.scss","webpack:///./src/components/keymap/header/keymap-header.component.ts","webpack:///./src/components/keymap/header/keymap-header.component.html","webpack:///./src/components/keymap/header/keymap-header.component.scss","webpack:///./src/components/layers/index.ts","webpack:///./src/components/layers/layers.component.ts","webpack:///./src/components/layers/layers.component.html","webpack:///./src/components/layers/layers.component.scss","webpack:///./src/components/macro/index.ts","webpack:///./src/components/macro/macro.component.ts","webpack:///./src/components/macro/item/macro-item.component.ts","webpack:///./src/config-serializer/config-items/KeyModifiers.ts","webpack:///./src/config-serializer/config-items/macro-action/index.ts","webpack:///./src/config-serializer/config-items/macro-action/DelayMacroAction.ts","webpack:///./src/config-serializer/config-items/macro-action/MacroAction.ts","webpack:///./src/config-serializer/config-items/macro-action/EditableMacroAction.ts","webpack:///./src/config-serializer/config-items/macro-action/KeyMacroAction.ts","webpack:///./src/config-serializer/config-items/macro-action/MouseButtonMacroAction.ts","webpack:///./src/config-serializer/config-items/macro-action/MoveMouseMacroAction.ts","webpack:///./src/config-serializer/config-items/macro-action/ScrollMouseMacroAction.ts","webpack:///./src/config-serializer/config-items/macro-action/TextMacroAction.ts","webpack:///./src/config-serializer/config-items/macro-action/helper.ts","webpack:///./src/services/mapper.service.ts","webpack:///./src/components/macro/item/macro-item.component.html","webpack:///./src/components/macro/item/macro-item.component.scss","webpack:///./src/store/reducers/macro.ts","webpack:///./src/config-serializer/config-items/Macro.ts","webpack:///./src/components/macro/macro.component.html","webpack:///./src/components/macro/macro.component.scss","webpack:///./src/components/macro/add/macro-add.component.ts","webpack:///./src/components/macro/add/macro-add.component.html","webpack:///./src/components/macro/add/macro-add.component.scss","webpack:///./src/components/macro/header/macro-header.component.ts","webpack:///./src/components/macro/header/macro-header.component.html","webpack:///./src/components/macro/header/macro-header.component.scss","webpack:///./src/components/macro/macro.routes.ts","webpack:///./src/components/macro/item/index.ts","webpack:///./src/components/macro/action-editor/index.ts","webpack:///./src/components/macro/action-editor/macro-action-editor.component.ts","webpack:///./src/components/macro/action-editor/macro-action-editor.component.html","webpack:///./src/components/macro/action-editor/macro-action-editor.component.scss","webpack:///./src/components/macro/action-editor/tab/index.ts","webpack:///./src/components/macro/action-editor/tab/delay/index.ts","webpack:///./src/components/macro/action-editor/tab/delay/macro-delay.component.ts","webpack:///./src/components/macro/action-editor/tab/delay/macro-delay.component.html","webpack:///./src/components/macro/action-editor/tab/delay/macro-delay.component.scss","webpack:///./src/components/macro/action-editor/tab/key/index.ts","webpack:///./src/components/macro/action-editor/tab/key/macro-key.component.ts","webpack:///./src/components/popover/tab/index.ts","webpack:///./src/components/popover/tab/keymap/index.ts","webpack:///./src/components/popover/tab/keymap/keymap-tab.component.ts","webpack:///./src/components/popover/tab/keymap/keymap-tab.component.html","webpack:///./src/components/popover/tab/keymap/keymap-tab.component.scss","webpack:///./src/components/popover/tab/keypress/index.ts","webpack:///./src/components/popover/tab/keypress/keypress-tab.component.ts","webpack:///./src/components/popover/tab/keypress/scancodes.json","webpack:///./src/components/popover/tab/keypress/longPress.json","webpack:///./src/components/popover/tab/keypress/keypress-tab.component.html","webpack:///./src/components/popover/tab/keypress/keypress-tab.component.scss","webpack:///./src/components/popover/tab/layer/index.ts","webpack:///./src/components/popover/tab/layer/layer-tab.component.ts","webpack:///./src/components/popover/tab/layer/layer-tab.component.html","webpack:///./src/components/popover/tab/layer/layer-tab.component.scss","webpack:///./src/components/popover/tab/macro/index.ts","webpack:///./src/components/popover/tab/macro/macro-tab.component.ts","webpack:///./src/services/uhk-configuration.service.ts","webpack:///./src/config-serializer/config-items/UhkConfiguration.ts","webpack:///./src/config-serializer/config-items/ModuleConfiguration.ts","webpack:///./src/services/data-provider.service.ts","webpack:///./src/components/svg/module/svg-module.model.ts","webpack:///./src/config-serializer/uhk-config.json","webpack:///./src/config-serializer/preset-keymaps.json","webpack:///./images/base-layer.svg","webpack:///./src/components/popover/tab/macro/macro-tab.component.html","webpack:///./src/components/popover/tab/macro/macro-tab.component.scss","webpack:///./src/components/popover/tab/mouse/index.ts","webpack:///./src/components/popover/tab/mouse/mouse-tab.component.ts","webpack:///./src/components/popover/tab/mouse/mouse-tab.component.html","webpack:///./src/components/popover/tab/mouse/mouse-tab.component.scss","webpack:///./src/components/popover/tab/none/index.ts","webpack:///./src/components/popover/tab/none/none-tab.component.ts","webpack:///./src/components/popover/tab/none/none-tab.component.html","webpack:///./src/components/popover/tab/none/none-tab.component.scss","webpack:///./src/components/macro/action-editor/tab/key/macro-key.component.html","webpack:///./src/components/macro/action-editor/tab/key/macro-key.component.scss","webpack:///./src/components/macro/action-editor/tab/mouse/index.ts","webpack:///./src/components/macro/action-editor/tab/mouse/macro-mouse.component.ts","webpack:///./src/components/macro/action-editor/tab/mouse/macro-mouse.component.html","webpack:///./src/components/macro/action-editor/tab/mouse/macro-mouse.component.scss","webpack:///./src/components/macro/action-editor/tab/text/index.ts","webpack:///./src/components/macro/action-editor/tab/text/macro-text.component.ts","webpack:///./src/components/macro/action-editor/tab/text/macro-text.component.html","webpack:///./src/components/macro/action-editor/tab/text/macro-text.component.scss","webpack:///./src/components/notification/index.ts","webpack:///./src/components/notification/notification.component.ts","webpack:///./src/components/notification/notification.component.html","webpack:///./src/components/notification/notification.component.scss","webpack:///./src/components/popover/index.ts","webpack:///./src/components/popover/popover.component.ts","webpack:///./src/store/reducers/index.ts","webpack:///./src/store/reducers/preset.ts","webpack:///./src/components/popover/popover.component.html","webpack:///./src/components/popover/popover.component.scss","webpack:///./src/components/popover/widgets/capture-keystroke/index.ts","webpack:///./src/components/popover/widgets/capture-keystroke/capture-keystroke-button.component.ts","webpack:///./src/components/popover/widgets/capture-keystroke/capture-keystroke-button.component.html","webpack:///./src/components/popover/widgets/capture-keystroke/capture-keystroke-button.component.scss","webpack:///./src/components/popover/widgets/icon/index.ts","webpack:///./src/components/popover/widgets/icon/icon.component.ts","webpack:///./src/components/popover/widgets/icon/icon.component.html","webpack:///./src/components/popover/widgets/icon/icon.component.scss","webpack:///./src/components/settings/index.ts","webpack:///./src/components/settings/settings.component.ts","webpack:///./src/components/settings/settings.component.html","webpack:///./src/components/settings/settings.component.scss","webpack:///./src/components/settings/settings.routes.ts","webpack:///./src/components/side-menu/index.ts","webpack:///./src/components/side-menu/side-menu.component.ts","webpack:///./src/components/side-menu/side-menu.component.html","webpack:///./src/components/side-menu/side-menu.component.scss","webpack:///./src/components/svg/keyboard/index.ts","webpack:///./src/components/svg/keyboard/svg-keyboard.component.ts","webpack:///./src/components/svg/keyboard/svg-keyboard.component.html","webpack:///./src/components/svg/keyboard/svg-keyboard.component.scss","webpack:///./src/components/svg/keys/index.ts","webpack:///./src/components/svg/keys/svg-icon-text-key/index.ts","webpack:///./src/components/svg/keys/svg-icon-text-key/svg-icon-text-key.component.ts","webpack:///./src/components/svg/keys/svg-icon-text-key/svg-icon-text-key.component.html","webpack:///./src/components/svg/keys/svg-keyboard-key/index.ts","webpack:///./src/components/svg/keys/svg-keyboard-key/svg-keyboard-key.component.ts","webpack:///./src/components/svg/keys/svg-keyboard-key/svg-keyboard-key.component.html","webpack:///./src/components/svg/keys/svg-keyboard-key/svg-keyboard-key.component.scss","webpack:///./src/components/svg/keys/svg-keystroke-key/index.ts","webpack:///./src/components/svg/keys/svg-keystroke-key/svg-keystroke-key.component.ts","webpack:///./src/components/svg/keys/svg-keystroke-key/svg-keystroke-key.component.html","webpack:///./src/components/svg/keys/svg-keystroke-key/svg-keystroke-key.component.scss","webpack:///./src/components/svg/keys/svg-mouse-key/index.ts","webpack:///./src/components/svg/keys/svg-mouse-key/svg-mouse-key.ts","webpack:///./src/components/svg/keys/svg-mouse-key/svg-mouse-key.html","webpack:///./src/components/svg/keys/svg-mouse-click-key/index.ts","webpack:///./src/components/svg/keys/svg-mouse-click-key/svg-mouse-click-key.ts","webpack:///./src/components/svg/keys/svg-mouse-click-key/svg-mouse-click-key.html","webpack:///./src/components/svg/keys/svg-mouse-move-key/index.ts","webpack:///./src/components/svg/keys/svg-mouse-move-key/svg-mouse-move-key.ts","webpack:///./src/components/svg/keys/svg-mouse-move-key/svg-mouse-move-key.html","webpack:///./src/components/svg/keys/svg-mouse-speed-key/index.ts","webpack:///./src/components/svg/keys/svg-mouse-speed-key/svg-mouse-speed-key.ts","webpack:///./src/components/svg/keys/svg-mouse-speed-key/svg-mouse-speed-key.html","webpack:///./src/components/svg/keys/svg-mouse-scroll-key/index.ts","webpack:///./src/components/svg/keys/svg-mouse-scroll-key/svg-mouse-scroll-key.ts","webpack:///./src/components/svg/keys/svg-mouse-scroll-key/svg-mouse-scroll-key.html","webpack:///./src/components/svg/keys/svg-one-line-text-key/index.ts","webpack:///./src/components/svg/keys/svg-one-line-text-key/svg-one-line-text-key.component.ts","webpack:///./src/components/svg/keys/svg-one-line-text-key/svg-one-line-text-key.component.html","webpack:///./src/components/svg/keys/svg-single-icon-key/index.ts","webpack:///./src/components/svg/keys/svg-single-icon-key/svg-single-icon-key.component.ts","webpack:///./src/components/svg/keys/svg-single-icon-key/svg-single-icon-key.component.html","webpack:///./src/components/svg/keys/svg-switch-keymap-key/index.ts","webpack:///./src/components/svg/keys/svg-switch-keymap-key/svg-switch-keymap-key.component.ts","webpack:///./src/components/svg/keys/svg-switch-keymap-key/svg-switch-keymap-key.component.html","webpack:///./src/components/svg/keys/svg-text-icon-key/index.ts","webpack:///./src/components/svg/keys/svg-text-icon-key/svg-text-icon-key.component.ts","webpack:///./src/components/svg/keys/svg-text-icon-key/svg-text-icon-key.component.html","webpack:///./src/components/svg/keys/svg-two-line-text-key/index.ts","webpack:///./src/components/svg/keys/svg-two-line-text-key/svg-two-line-text-key.component.ts","webpack:///./src/components/svg/keys/svg-two-line-text-key/svg-two-line-text-key.component.html","webpack:///./src/components/svg/module/index.ts","webpack:///./src/components/svg/module/svg-module.component.ts","webpack:///./src/components/svg/module/svg-module.component.html","webpack:///./src/components/svg/module/svg-module.component.scss","webpack:///./src/components/svg/wrap/index.ts","webpack:///./src/components/svg/wrap/svg-keyboard-wrap.component.ts","webpack:///./src/components/svg/wrap/svg-keyboard-wrap.component.html","webpack:///./src/components/svg/wrap/svg-keyboard-wrap.component.scss","webpack:///./src/main-app/index.ts","webpack:///./src/main-app/main-app.component.ts","webpack:///./src/main-app/main-app.component.html","webpack:///./src/main-app/main-app.component.scss","webpack:///./src/main-app/main-app.routes.ts","webpack:///./src/store/effects/index.ts","webpack:///./src/store/effects/keymap.ts","webpack:///./~/rxjs/add/operator/do.js","webpack:///./~/rxjs/operator/do.js","webpack:///./~/rxjs/add/operator/withLatestFrom.js","webpack:///./src/store/effects/macro.ts","webpack:///./src/store/storage/index.ts","webpack:///./src/store/storage/electron.ts","webpack:///./src/store/storage/local.ts","webpack:///./~/browser-stdout/index.js","webpack:///./~/stream-browserify/index.js","webpack:///./~/events/events.js","webpack:///./~/inherits/inherits_browser.js","webpack:///./~/readable-stream/readable.js","webpack:///./~/readable-stream/lib/_stream_readable.js","webpack:///./~/isarray/index.js","webpack:///./~/core-util-is/lib/util.js","webpack:///util (ignored)","webpack:///./~/readable-stream/lib/_stream_duplex.js","webpack:///./~/readable-stream/lib/_stream_writable.js","webpack:///./~/string_decoder/index.js","webpack:///./~/readable-stream/lib/_stream_transform.js","webpack:///./~/readable-stream/lib/_stream_passthrough.js","webpack:///./~/readable-stream/writable.js","webpack:///./~/readable-stream/duplex.js","webpack:///./~/readable-stream/transform.js","webpack:///./~/readable-stream/passthrough.js","webpack:///./~/util/util.js","webpack:///./~/util/support/isBufferBrowser.js","webpack:///./~/util/~/inherits/inherits_browser.js"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yC;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yC;;;;;;AC/KA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAsB;AACtB,qBAAoB,uBAAuB,SAAS,IAAI;AACxD,IAAG;AACH,EAAC;AACD;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAAyD;AACzD;AACA,MAAK;AACL;AACA,uBAAsB,iCAAiC;AACvD,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA8D,8BAA8B;AAC5F;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2DAA0D,gBAAgB;;AAE1E;AACA;AACA;AACA,qBAAoB,oBAAoB;;AAExC,2CAA0C,oBAAoB;;AAE9D;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH,yBAAwB,eAAe,EAAE;AACzC,yBAAwB,gBAAgB;AACxC,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,KAAK,QAAQ,iCAAiC;AAClG,EAAC;AACD;AACA,gDAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2C;;;;;;AC1OA;AACA;AACA;AACA,wCAAuC,gC;;;;;;ACHvC,wBAAuB;AACvB;AACA;AACA,G;;;;;;ACHA;AACA;AACA,kCAAiC,QAAQ,gBAAgB,UAAU,GAAG;AACtE,EAAC,E;;;;;;ACHD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,G;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sFAAqF,uBAAuB;AAC5G,oEAAmE;AACnE,iEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd,eAAc;AACd,eAAc;AACd,eAAc;AACd,gBAAe;AACf,gBAAe;AACf,gBAAe;AACf,iBAAgB;AAChB,0B;;;;;;AC1CA,8BAA6B;AAC7B,sCAAqC,gC;;;;;;ACDrC;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,G;;;;;;ACPA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,UAAU;AACb;AACA;AACA;AACA,G;;;;;;ACfA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA,G;;;;;;ACFA;AACA,sEAAsE,gBAAgB,UAAU,GAAG;AACnG,EAAC,E;;;;;;ACFD;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,EAAC,E;;;;;;AC/BD;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACnBA;AACA;AACA;AACA,G;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAiD;AACjD,EAAC;AACD;AACA,sBAAqB;AACrB;AACA,UAAS;AACT,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACpDA;AACA;AACA,oDAAmD;AACnD;AACA,wCAAuC;AACvC,G;;;;;;ACLA;AACA;AACA;;AAEA;AACA,mEAAkE,+BAA+B;AACjG,G;;;;;;ACNA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wB;;;;;;ACVA,qC;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA0D,sBAAsB;AAChF,iFAAgF,sBAAsB;AACtG,G;;;;;;ACRA,wB;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACTA;AACA;AACA;;AAEA;AACA;AACA,G;;;;;;ACNA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACLA;AACA;AACA;AACA;AACA,G;;;;;;ACJA,kBAAiB;;AAEjB;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK,WAAW,eAAe;AAC/B;AACA,MAAK;AACL;AACA,G;;;;;;ACpBA;AACA;AACA;AACA;AACA,4DAA2D;AAC3D,G;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACNA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA,c;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,G;;;;;;ACdA,0C;;;;;;ACAA,eAAc,sB;;;;;;ACAd;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;;;;;;ACxCA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACZA,8E;;;;;;ACAA;AACA;AACA;AACA,mBAAkB;;AAElB;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;;;;;;AClBA;AACA;AACA;;AAEA;AACA;AACA,G;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG,UAAU;AACb;AACA,G;;;;;;ACfA;AACA;AACA,+BAA8B,gCAAoC,E;;;;;;ACFlE;AACA;AACA,qEAAuE,0CAA0C,E;;;;;;ACFjH;AACA;AACA,qEAAuE,0CAA2C,E;;;;;;ACFlH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA,+BAA8B;AAC9B;AACA;AACA,oDAAmD,OAAO,EAAE;AAC5D,G;;;;;;ACTA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACRD;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,G;;;;;;ACZA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACRD;AACA;AACA;AACA,EAAC,E;;;;;;ACHD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACRD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACRD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACRD;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACPD;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACPD;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACPD;AACA;;AAEA,2CAA0C,gCAAoC,E;;;;;;ACH9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,UAAU,EAAE;AAC9C,oBAAmB,sCAAsC;AACzD,EAAC,oCAAoC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC,W;;;;;;AChCD;AACA;AACA,+BAA8B,4BAA6B,E;;;;;;ACF3D;AACA;AACA;AACA,G;;;;;;ACHA;AACA;AACA,+BAA8B,4CAA4C,E;;;;;;ACF1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA,QAAO,UAAU,cAAc;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA,MAAK,GAAG;AACR;AACA,G;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,E;;;;;;ACTA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB,EAAE;;AAE7C;AACA;AACA;AACA;AACA,IAAG,UAAU;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACtBA;AACA;;AAEA,iCAAgC,8BAAyB,E;;;;;;ACHzD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA0B,SAAS;AACnC;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,G;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,EAAC,E;;;;;;ACxBD;AACA;AACA;AACA;AACA;AACA;AACA,6FAA4F;AAC5F;AACA;AACA;AACA;AACA;AACA,GAAE,E;;;;;;ACZF;AACA;AACA;AACA,2DAA0D,oBAAoB,E;;;;;;ACH9E;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC,a;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2B;;;;;;AC7BA;AACA,oF;;;;;;ACDA;AACA;AACA;AACA,+DAA8D,wBAAwB,E;;;;;;ACHtF;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,e;;;;;;ACPD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD;AAClD,MAAK;AACL;AACA,wCAAuC,cAAc,OAAO;AAC5D,wCAAuC,cAAc,OAAO;AAC5D;AACA;AACA,oEAAmE,OAAO;AAC1E;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAwC,0BAA0B,EAAE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACpEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,G;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB;AAClB,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA,EAAC,E;;;;;;AChHD;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO,MAAM;AACb;AACA,G;;;;;;ACXA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC;AACD;AACA,uBAAsB;AACtB,EAAC;AACD;AACA;AACA,mG;AACA;AACA,EAAC,E;;;;;;ACjBD;AACA;;AAEA,+BAA8B,0BAA0B,E;;;;;;ACHxD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACRD;AACA;;AAEA,+BAA8B,mCAAoC,E;;;;;;ACHlE;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACLA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACPD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACTD;AACA;;AAEA,+BAA8B,mCAAmC,E;;;;;;ACHjE;AACA;;AAEA,+BAA8B,oCAAoC,E;;;;;;ACHlE;AACA;AACA;AACA,gFAA+E,wBAAwB,E;;;;;;ACHvG;AACA;AACA;AACA,4EAA2E,oBAAoB,E;;;;;;ACH/F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACjBD;AACA;AACA;AACA,G;;;;;;ACHA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,0EAAyE,aAAa,E;;;;;;ACTtF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACRD;AACA;AACA;AACA,G;;;;;;ACHA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACPD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACRD;AACA;AACA;;AAEA,kEAAiE,cAAc,E;;;;;;ACJ/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,U;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACzBD;AACA;AACA;;AAEA;AACA,yCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,EAAC,E;;;;;;ACxBD;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;AChBD;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACPD;AACA;;AAEA,6BAA4B,gCAAgC,E;;;;;;ACH5D;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACPD;AACA;;AAEA,6BAA4B,+BAA8B,E;;;;;;ACH1D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACdD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACXD;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACPD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,EAAC,E;;;;;;ACtBD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,EAAC,E;;;;;;ACjBD;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACND;AACA;;AAEA;AACA;AACA,8BAA6B;AAC7B,eAAc;AACd;AACA,EAAC;AACD;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA,WAAU;AACV,EAAC,E;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6BAA4B,aAAa;;AAEzC;AACA;AACA;AACA;AACA;AACA,yCAAwC,oCAAoC;AAC5E,6CAA4C,oCAAoC;AAChF,MAAK,2BAA2B,oCAAoC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB,mBAAmB;AACnC;AACA;AACA,kCAAiC,2BAA2B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,G;;;;;;ACrEA,qB;;;;;;ACAA;AACA;AACA;AACA;AACA;;AAEA;AACA,4FAAgF,aAAa,EAAE;;AAE/F;AACA,sDAAqD,0BAA0B;AAC/E;AACA,G;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACnBD,uBAAsB;AACtB;AACA;;AAEA;AACA;AACA;AACA,G;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,MAAK,UAAU;AACf,IAAG;AACH,G;;;;;;ACXA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACXD;;AAEA;AACA;AACA;AACA,EAAC,E;;;;;;ACLD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACjBD;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yFAAwF;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,G;;;;;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACND;AACA;;AAEA,6BAA4B,gBAAgB,6BAA6B,GAAG,E;;;;;;ACH5E;AACA;AACA;AACA;;AAEA;AACA,yEAAwE,wBAAwB,UAAU,GAAG;AAC7G,EAAC;AACD;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACbD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC;AACD;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;AC3BD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,E;;;;;;ACVA;AACA;;AAEA,oG;;;;;;ACHA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,G;;;;;;ACRA;AACA;;AAEA,8BAA6B,iCAAgC,E;;;;;;ACH7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0EAA0E,kBAAkB,EAAE;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,gCAAgC;AACpF;AACA;AACA,MAAK;AACL;AACA,kCAAiC,gBAAgB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;;;;;;ACpCD;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,G;;;;;;ACXA;AACA;AACA;AACA;;AAEA;AACA;AACA,G;;;;;;ACPA;AACA;AACA;;AAEA;AACA;AACA;AACA,G;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACPA;AACA;;AAEA;AACA;AACA,gCAA+B,qBAAqB;AACpD,gCAA+B,SAAS,EAAE;AAC1C,EAAC,UAAU;;AAEX;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,SAAS,mBAAmB;AACvD,gCAA+B,aAAa;AAC5C;AACA,IAAG,UAAU;AACb;AACA,G;;;;;;ACpBA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;AClBD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACXD;;AAEA;AACA;AACA,yCAAwC;AACxC,IAAG;AACH,G;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,UAAU;AACnB;AACA;AACA;AACA;AACA,EAAC,E;;;;;;AC3BD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACtBD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACVD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,eAAe;AACxB;AACA;AACA;AACA,uCAAsC;AACtC;AACA,+BAA8B;AAC9B,8BAA6B;AAC7B,gCAA+B;AAC/B,oCAAmC;AACnC,UAAS,+BAA+B;AACxC;AACA;AACA;AACA;AACA,G;;;;;;AC3CA;AACA;;AAEA;AACA;AACA,G;;;;;;ACLA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,G;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACTD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACTD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO,sCAAsC;AAC7C;AACA;AACA;AACA,G;;;;;;AC3BA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACTD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACdD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,WAAW;AACpB;AACA;AACA,EAAC,E;;;;;;ACrBD;AACA;;AAEA,8BAA6B,qCAA4C;;AAEzE,wC;;;;;;ACLA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,G;;;;;;ACzBA;AACA;AACA;AACA,4FAAsF;AACtF;AACA;AACA,G;;;;;;ACNA;AACA;;AAEA,8BAA6B,+BAA+B;;AAE5D,kC;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAsC,gBAAgB,EAAE;AACxD;AACA;AACA;AACA;AACA,EAAC;AACD,+B;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAsC,gBAAgB,EAAE;AACxD;AACA;AACA;AACA;AACA,EAAC;AACD,+B;;;;;;ACbA,mC;;;;;;ACAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAoB,aAAa;AACjC,IAAG;AACH,G;;;;;;ACZA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC,eAAc;AACd,kBAAiB;AACjB;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA;AACA;AACA,6B;;;;;;ACjCA;AACA,WAAU;AACV,G;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAsB,kBAAkB,EAAE;AAC1C,yBAAwB,gBAAgB;AACxC,MAAK;AACL;AACA,oCAAmC,iBAAiB;AACpD;AACA;AACA;AACA;;AAEA,oC;;;;;;AC1CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,sCAAkC,wBAAwB,wBAAwB,YAAY,EAAE;AAChG;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,EAAC;AACD;AACA;AACA,IAAG;AACH,E;;;;;;ACxBA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC,E;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,UAAU;AACrC;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,+BAA8B,qCAAqC;AACnE;AACA;AACA,0BAAyB,gCAAgC;AACzD;AACA;AACA,G;;;;;;AC3BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC,E;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC,E;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAsB,2BAA2B;AACjD,YAAW;AACX;AACA;AACA;AACA;AACA;AACA,kFAAiF;AACjF;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,EAAC,E;;;;;;ACrED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC;AACpC;;AAEA;AACA;AACA;AACA;AACA,gDAA+C,uDAAiD,oBAAoB;AACpH;AACA;AACA,IAAG,UAAU;AACb,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA,YAAW;AACX,UAAS;AACT,QAAO;AACP;AACA;AACA;AACA,4CAA2C;AAC3C;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,oBAAmB,gCAAgC;AACnD,UAAS;AACT;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,gBAAe,qCAAqC;AACpD;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,mCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC;AAClC;AACA;AACA;AACA;AACA,wBAAuB,wBAAwB;AAC/C;AACA;AACA,UAAS;AACT;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;AACA;AACA,IAAG;AACH,mBAAkB,uBAAuB,KAAK;AAC9C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,kBAAiB;AACjB,yBAAwB;AACxB,iBAAgB;AAChB,qBAAoB;AACpB,yBAAwB;AACxB,iBAAgB;AAChB,qBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2DAA0D,kBAAkB;AAC5E;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;AACA,EAAC,E;;;;;;AC1SD;AACA;AACA;AACA,IAAG;AACH,G;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,iBAAiB,EAAE;AACxD;AACA;AACA;AACA;AACA;AACA,iEAAgE,gBAAgB;AAChF;AACA;AACA,IAAG,2CAA2C,gCAAgC;AAC9E;AACA;AACA;AACA;AACA;AACA,yB;;;;;;ACxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AC1EA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,wCAAuC,oBAAoB,EAAE;AAC7D;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,G;;;;;;ACnEA;AACA;AACA;AACA;AACA,G;;;;;;ACJA;AACA;;AAEA;AACA;AACA,yBAAwB,mEAAmE;AAC3F,EAAC;AACD;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,EAAC,gB;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAsB,OAAO;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B,2BAA0B;AAC1B,2BAA0B;AAC1B,sBAAqB;AACrB;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,8DAA6D,OAAO;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,0BAAyB;AACzB,sBAAqB;AACrB,2BAA0B;AAC1B,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,G;;;;;;AC7IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA,QAAO,kCAAkC,gCAAgC,aAAa;AACtF,8BAA6B,mCAAmC,aAAa;AAC7E;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,4DAA2D;AAC3D;AACA,iDAAgD,iBAAiB,EAAE;AACnE;AACA,2DAA0D,aAAa,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,2B;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA,G;;;;;;ACpFA;AACA;;AAEA;AACA;AACA,yBAAwB,mEAAmE;AAC3F,EAAC;AACD;AACA;AACA;AACA;AACA,EAAC,U;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL,IAAG;AACH,E;;;;;;ACvDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,sBAAqB;AACrB,2BAA0B;AAC1B;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,G;;;;;;AClFA;AACA;;AAEA;AACA;AACA,6BAA4B,mEAAmE;AAC/F,EAAC;AACD;AACA;AACA;AACA;AACA,EAAC,qB;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8EAA6E,0BAA0B;;AAEvG;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA,EAAC;AACD;AACA;AACA,4FAA2F;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,EAAC;;AAED,wC;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,QAAO,WAAW;AAClB;AACA;AACA,QAAO,UAAU;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO,WAAW;AAClB;AACA;AACA;AACA,QAAO,WAAW;AAClB;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAAyB,gBAAgB,uBAAuB,GAAG;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB,WAAW;AAC3B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,IAAG;AACH,EAAC;AACD;AACA,sBAAqB;AACrB,IAAG;AACH,0BAAyB;AACzB,IAAG;AACH;AACA;AACA;AACA;AACA,iDAAgD,iBAAiB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,gC;;;;;;AChRA;AACA;AACA;AACA,EAAC,E;;;;;;ACHD;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;AACA,IAAG;;AAEH;AACA,6BAA4B;AAC5B,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAiB,gBAAgB,0BAA0B,GAAG;AAC9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAwD,gCAAgC;AACxF;AACA,QAAO;AACP;AACA;AACA,6EAA4E,YAAY;AACxF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wDAAuD,6CAA6C,EAAE;;AAEtG;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL,kDAAiD;AACjD;AACA,MAAK;AACL;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL,oCAAmC;AACnC;AACA,MAAK;AACL,uEAAsE;AACtE;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL,6DAA4D;AAC5D;AACA,MAAK;AACL,uEAAsE;AACtE;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;;AAEH,uBAAsB,sBAAsB,EAAE,EAAE;AAChD;AACA;AACA;AACA;;AAEA,6CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA,gCAA+B,aAAa;AAC5C;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,qBAAoB,0BAA0B;AAC9C,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;AACA;AACA,4BAA2B;AAC3B,4BAA2B;AAC3B,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,yBAAwB,aAAa;AACrC,QAAO;AACP;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAK;;AAEL;;AAEA;;AAEA;;AAEA,wDAAuD,UAAU;;AAEjE;;AAEA,6FAA4F,wBAAwB;;AAEpH;AACA;AACA,MAAK,UAAU,cAAc;;AAE7B;AACA;AACA,MAAK;AACL;AACA,MAAK,WAAW,gCAAgC;;AAEhD;AACA;AACA;AACA,EAAC,kCAAkC,e;;;;;;AC9dnC;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,EAAC,Q;;;;;;ACJD;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACJD;AACA;AACA;AACA;AACA,sDAAmD;AACnD;AACA;AACA;AACA,sBAAqB;AACrB,EAAC;AACD;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACfD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAoD;;AAEpD;AACA;AACA;AACA;AACA,mCAAkC;AAClC,EAAC;AACD;AACA,0BAAyB;AACzB,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;AC9CD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iCAAgC,MAAM,SAAS,OAAO,SAAS;AAC/D,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,EAAC,E;;;;;;ACrBD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACVD;AACA;AACA;AACA;AACA;AACA,gCAA+B;AAC/B,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAsC;AACtC,IAAG;AACH,WAAU;AACV,EAAC;;AAED;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACzBD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gCAA+B,SAAS,E;;;;;;ACpBxC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACTD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACTD;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACPD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACVD;AACA;;AAEA,gCAA+B,kCAAgC,E;;;;;;ACH/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACTA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,EAAC,E;;;;;;ACfD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,gCAA+B,SAAS,E;;;;;;AC9BxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,EAAC,E;;;;;;ACdD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC;;AAED,sC;;;;;;ACXA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACTD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACTD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACTD;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,e;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,a;;;;;;ACND;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAU;AACV,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;AC7BD,0C;;;;;;ACAA,uC;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;AClBD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACRD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,G;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACRD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA0C,6DAA6D;AACvG;AACA,EAAC,E;;;;;;ACXD;AACA;AACA;AACA;AACA,6CAA4C,aAAa;AACzD;AACA,EAAC,E;;;;;;ACND;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA0C,6DAA6D;AACvG;AACA,EAAC,E;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,EAAC,E;;;;;;ACjBD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,EAAC,E;;;;;;ACjBD;AACA;;AAEA,wCAAuC,wCAAgD,E;;;;;;ACHvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACRA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;;AAEA,wCAAuC,wCAAgD,E;;;;;;ACHvF;AACA;;AAEA,+BAA8B,+BAA6B,E;;;;;;ACH3D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACRD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACVD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACVD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACfD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACfD;AACA;AACA;AACA;;AAEA,eAAc;AACd;AACA,GAAE,E;;;;;;ACPF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAsD,gBAAgB,EAAE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AClDA;AACA;AACA;AACA;AACA;;AAEA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,E;;;;;;ACdF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAc;AACd;AACA,GAAE,E;;;;;;AChBF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAc;AACd;AACA,GAAE,E;;;;;;AClBF;AACA;AACA;AACA;;AAEA,eAAc;AACd;AACA;AACA,GAAE,E;;;;;;ACRF;AACA;AACA;AACA;;AAEA,eAAc;AACd;AACA,GAAE,E;;;;;;ACPF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAc;AACd;AACA,GAAE,E;;;;;;ACfF;AACA;AACA;AACA;;AAEA,eAAc;AACd;AACA;AACA,GAAE,E;;;;;;ACRF;AACA;AACA;AACA;AACA;;AAEA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,E;;;;;;ACdF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACXD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAwE,4BAA4B;AACpG;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,IAAG;AACH;;AAEA,wCAAuC;AACvC,uCAAsC,yBAAyB;AAC/D,EAAC;;AAED;AACA;AACA;;AAEA,gDAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,QAAO;AACP;AACA;AACA,MAAK;AACL;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,UAAS;AACT;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,YAAW;AACX;AACA;AACA;AACA,YAAW;AACX;AACA,QAAO;AACP,yBAAwB,aAAa;AACrC,MAAK;AACL,IAAG;AACH;AACA,2DAA0D,OAAO;AACjE;AACA;AACA;AACA;AACA,yBAAwB,kBAAkB;AAC1C;AACA;AACA,YAAW;AACX;AACA,QAAO;AACP,yBAAwB,aAAa;AACrC,MAAK;AACL;AACA,EAAC;;AAED,oDAAmD,aAAa,EAAE;;AAElE,qBAAoB,wBAAwB;;AAE5C,wC;;;;;;ACtMA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAqE;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACnBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,WAAW;AAC9B;AACA;AACA;AACA,G;;;;;;ACtBA,yC;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACLD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yGAAwG,OAAO;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC;AACpC;AACA,qCAAoC,OAAO;AAC3C,+BAA8B;AAC9B,8BAA6B;AAC7B,8BAA6B;AAC7B,2CAA0C;AAC1C,UAAS,+BAA+B;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC,+BAA8B;AAC9B,eAAc;AACd,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iCAAgC,WAAW;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;AC1JD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,EAAC,E;;;;;;ACXD;AACA;;AAEA;AACA;;AAEA,6CAA4C,+BAA4B,E;;;;;;ACNxE;;AAEA,2CAA0C,kCAAkC,E;;;;;;ACF5E;;AAEA,2CAA0C,iCAA+B,E;;;;;;ACFzE;AACA;;AAEA,2CAA0C,eAAe,E;;;;;;ACHzD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;ACXA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAC,E;;;;;;ACRD;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,WAAU;AACV,EAAC,E;;;;;;ACRD;AACA;AACA,0DAAuD;;AAEvD,+BAA8B,4BAA4B,gBAAgB,GAAG;;;;;;;ACJ7E;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,G;;;;;;ACPA;AACA;AACA;AACA,cAAa;AACb,aAAY;AACZ,aAAY;AACZ,eAAc;AACd,eAAc;AACd,EAAC;;AAED,2CAA0C,kCAAkC,kBAAkB,GAAG,E;;;;;;ACVjG;AACA;AACA,8DAA2D;AAC3D,SAAQ;AACR,QAAO;AACP,QAAO;AACP,UAAS;AACT,UAAS;AACT,EAAC;;AAED,2CAA0C,uCAAuC,kBAAkB,GAAG,E;;;;;;ACVtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC,qBAAqB;;AAEtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,qBAAqB,EAAE;AACrD;AACA;AACA,UAAS;;AAET;AACA,+BAA8B,qBAAqB,EAAE;AACrD;AACA;AACA,UAAS;;AAET;AACA,+BAA8B,qBAAqB,EAAE;AACrD;AACA;AACA,UAAS;;AAET;AACA,+BAA8B,mBAAmB,EAAE;AACnD;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,kBAAkB;AACzD,wCAAuC,kBAAkB;AACzD,qCAAoC,eAAe;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,kBAAkB;AACzD,wCAAuC,kBAAkB;AACzD,qCAAoC,eAAe;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,iCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL,gCAA+B,iCAAiC;;AAEhE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yHAAwH,wBAAwB,oCAAoC;AACpL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA0E,4BAA4B,EAAE;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,cAAc;AACrD,2CAA0C,2CAA2C;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,mCAAmC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAwD,eAAe,cAAc,EAAE;AACvF,wCAAuC,+CAA+C;AACtF,uCAAsC,8CAA8C;AACpF,gDAA+C,sBAAsB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAwD,eAAe,cAAc,EAAE;AACvF;AACA;AACA,gDAA+C,sBAAsB;AACrE;AACA;AACA;AACA;AACA,+CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA,mBAAkB,EAAE;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,aAAa,EAAE,eAAe,aAAa,EAAE;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA,kCAAiC,QAAQ;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,oBAAmB,oBAAoB;AACvC;AACA;AACA;;AAEA;AACA,mDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA,wBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,0BAA0B;AACjE,sCAAqC,yBAAyB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAyC,mCAAmC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,0BAA0B;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,2DAA0D,kCAAkC,EAAE;AAC9F,8DAA6D,qCAAqC,EAAE;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD,EAAE;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA;AACA,kBAAiB;AACjB;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+DAA8D,0BAA0B;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA0D,+BAA+B,EAAE;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAsD,0BAA0B,EAAE;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,6EAA4E;AAC5E;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,oBAAmB,uBAAuB;AAC1C;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM,EAAE;AACR,wEAAuE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM,EAAE;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,4BAA4B;AAC3C;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wFAAuF;AACvF;AACA;AACA,OAAM,EAAE;AACR,wFAAuF;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM,EAAE;AACR,kGAAiG;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM,EAAE;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;;;;;;;AC9yCD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA2B;AAC3B;AACA;AACA;AACA,6BAA4B,UAAU;;;;;;;;ACnLtC,sDAAuC,GAAmC,CAAC;AAE3E,wCAA0B,GAAc,CAAC;AAEzC,QAAO,CAAC,MAAM,GAAG,mBAAO,CAAC,GAAgB,CAAC,EAAE,CAAC;AAE7C,kDAAsB,EAAE,CAAC,eAAe,CAAC,sBAAS,CAAC,CAAC;;;;;;;;ACNpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAyC,2EAA2E;AACpH,EAAC,oFAAoF;;AAErF;;AAEA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,iCAAiC;AACxE;AACA;AACA;AACA;AACA,cAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA,wBAAuB,cAAc,0EAA0E,GAAG;AAClH;AACA,UAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA8D,kCAAkC;AAChG,gDAA+C,gBAAgB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,YAAY,EAAE;AAC5C;AACA;AACA,UAAS;AACT,qDAAoD,0CAA0C;AAC9F,iDAAgD,qBAAqB;AACrE,qDAAoD,gCAAgC;AACpF;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qCAAoC,4EAA4E;AAChH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,EAAC;;;;;;;;AC1MD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,+CAA+C;AACtF,EAAC,yCAAyC;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA6D,yCAAyC;AACtG;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA6D,yCAAyC;AACtG;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,4DAA4D,EAAE;AAC1F;AACA;AACA,QAAO;AACP;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,QAAO;AACP;AACA,6BAA4B,qBAAqB,EAAE;AACnD;AACA;AACA,QAAO;AACP;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,0DAA0D;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,kEAAkE;AACrE;AACA,qCAAoC,kBAAkB,kBAAkB,yBAAyB;AACjG;AACA;AACA,gCAA+B,gBAAgB;AAC/C;AACA;AACA,2BAA0B,mEAAmE,EAAE;AAC/F,2BAA0B,oCAAoC;AAC9D;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,YAAY;AAC7C;AACA;AACA,qDAAoD,uBAAuB;AAC3E,sDAAqD,4BAA4B;AACjF;AACA,IAAG;AACH;AACA;AACA;AACA,6DAA4D,kCAAkC;AAC9F,8CAA6C,gBAAgB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,YAAY,EAAE;AAC1C;AACA;AACA,QAAO;AACP,mDAAkD,0CAA0C;AAC5F,+CAA8C,qBAAqB;AACnE,mDAAkD,gCAAgC;AAClF;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC;AACrC;;AAEA;AACA;AACA;AACA;AACA;AACA,0DAAyD,uBAAuB;AAChF;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB;AAC3C;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAyC,gBAAgB,EAAE;AAC3D;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,iBAAiB,EAAE;AACxD;AACA;AACA,sDAAqD,kCAAkC;AACvF,2CAA0C,UAAU;AACpD,uCAAsC,gCAAgC;AACtE,yCAAwC,+BAA+B;AACvE;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAgD,gBAAgB;AAChE;AACA;AACA;AACA,iDAAgD,gBAAgB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,eAAe;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,sDAAqD,wBAAwB;AAC7E,yDAAwD,wBAAwB;AAChF,6CAA4C,uBAAuB;AACnE;AACA,0BAAyB,kBAAkB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAsC,gBAAgB;AACtD;AACA;AACA,mDAAkD,gCAAgC;AAClF;AACA;AACA;AACA;AACA,6CAA4C,oBAAoB;AAChE,2DAA0D,8BAA8B;AACxF;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,iBAAiB;AAC5D,8CAA6C,yBAAyB;AACtE;AACA,kCAAiC,WAAW;AAC5C,gCAA+B,YAAY;AAC3C;AACA;AACA;AACA;AACA;AACA,0BAAyB,cAAc;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,iCAAgC,UAAU;AAC1C,+BAA8B,WAAW;AACzC;AACA;AACA,wDAAuD,+BAA+B;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,qBAAqB;AAChE,0CAAyC,0BAA0B;AACnE;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,qBAAqB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,mBAAmB;AAC5C;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,0BAAyB,mBAAmB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,wCAAwC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sCAAqC;AACrC;AACA;AACA;AACA;AACA,4DAA2D,+CAA+C,EAAE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA0D,8CAA8C,EAAE;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,sCAAqC,eAAe;AACpD,sCAAqC,eAAe;AACpD,sCAAqC,eAAe;AACpD,uCAAsC,eAAe;AACrD,sCAAqC,eAAe;AACpD,qCAAoC,eAAe;AACnD,uCAAsC,eAAe;AACrD,uCAAsC,eAAe;AACrD,oCAAmC,eAAe;AAClD,oCAAmC,eAAe;AAClD,wCAAuC,eAAe;AACtD,uCAAsC,eAAe;AACrD,qCAAoC,eAAe;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,uCAAsC,uCAAuC;AAC7E,uCAAsC,6DAA6D;AACnG,uCAAsC,oDAAoD;AAC1F;AACA;AACA;AACA;AACA,QAAO;AACP,oCAAmC,uDAAuD;AAC1F,oCAAmC,uDAAuD;AAC1F,qCAAoC,8CAA8C;AAClF,qCAAoC,iCAAiC;AACrE,sCAAqC,kCAAkC;AACvE,oCAAmC,iDAAiD;AACpF,oCAAmC,iCAAiC;AACpE,oCAAmC,uDAAuD;AAC1F,oCAAmC,oEAAoE;AACvG,oCAAmC,oEAAoE;AACvG,qCAAoC,8DAA8D;AAClG,oCAAmC,oEAAoE;AACvG,0CAAyC,uDAAuD;AAChG,wCAAuC,iEAAiE;AACxG,qCAAoC,sBAAsB;AAC1D,yCAAwC,sBAAsB;AAC9D,uCAAsC,uCAAuC;AAC7E,wCAAuC,uCAAuC;AAC9E,uCAAsC,iDAAiD;AACvF,0CAAyC,sEAAsE;AAC/G;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA8D,uBAAuB;AACrF;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,YAAY;AAC7C;AACA;AACA,6DAA4D,0CAA0C;AACtG;AACA;AACA;AACA,yDAAwD,2BAA2B,EAAE;AACrF;AACA;AACA,8BAA6B,uBAAuB;AACpD;AACA;AACA;AACA;AACA;AACA,6DAA4D,2CAA2C,EAAE;AACzG;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,yBAAyB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,uBAAuB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,kBAAkB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,+BAA+B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,uBAAuB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,kBAAkB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,wBAAwB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,oCAAoC;AACvC;AACA;AACA,sCAAqC,kBAAkB;AACvD;AACA;AACA;AACA;AACA;AACA,yDAAwD,gDAAgD;AACxG;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,0CAA0C;AAC7C;AACA;AACA;AACA,sCAAqC,kBAAkB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,uCAAsC,mBAAmB;AACzD,sCAAqC,kBAAkB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,sCAAqC,kBAAkB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,sCAAqC,kBAAkB;AACvD;AACA;AACA;AACA,kEAAiE,4CAA4C;AAC7G;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,wCAAwC;AAC3C;AACA;AACA;AACA;AACA,oDAAmD,qCAAqC;AACxF;AACA,iCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA;AACA,wDAAuD,6CAA6C;AACpG;AACA,iCAAgC,aAAa;AAC7C;AACA;AACA;AACA,sCAAqC,kBAAkB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAmD,iCAAiC;AACpF,kDAAiD,sCAAsC;AACvF;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,gCAAgC;AACnC;AACA;AACA;AACA,iCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,2CAA2C;AAC/F;AACA,IAAG;AACH;AACA;AACA;AACA,iCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAgC,aAAa;AAC7C,sCAAqC,kBAAkB;AACvD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,iCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,iCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG,sCAAsC;AACzC;AACA;AACA;AACA,iCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,iCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,iCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,iCAAgC,aAAa;AAC7C,uCAAsC,mBAAmB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,sCAAqC,kBAAkB;AACvD,iCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,iCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,iCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,kBAAkB;AACvD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,iCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,iCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,iCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,iCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,iCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,oCAAoC;AACvC;AACA;AACA,sCAAqC,kBAAkB;AACvD;AACA;AACA;AACA;AACA;AACA,8DAA6D,gDAAgD;AAC7G;AACA,IAAG;AACH;AACA;AACA;AACA,iCAAgC,aAAa;AAC7C,sCAAqC,kBAAkB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,iCAAgC,aAAa;AAC7C,sCAAqC,kBAAkB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,iCAAgC,aAAa;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,sEAAqE,gDAAgD;AACrH;AACA,IAAG;AACH;AACA;AACA;AACA,iCAAgC,aAAa;AAC7C,sCAAqC,kBAAkB;AACvD;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,iCAAgC,aAAa;AAC7C,sCAAqC,kBAAkB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,iCAAgC,aAAa;AAC7C,sCAAqC,kBAAkB;AACvD;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,sCAAqC,kBAAkB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,sCAAqC,gBAAgB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,mFAAkF,YAAY;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAkF,YAAY;AAC9F,oFAAmF,YAAY;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA0D,8DAA8D,EAAE;AAC1H;AACA;AACA;AACA;AACA,6CAA4C,6CAA6C,EAAE;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAmF,aAAa;AAChG;AACA;AACA,6CAA4C,4CAA4C,EAAE;AAC1F;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,wFAAuF,YAAY;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wFAAuF,YAAY;AACnG,yFAAwF,YAAY;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yFAAwF,YAAY;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAgD,iDAAiD,EAAE;AACnG;AACA;AACA;AACA;AACA,0CAAyC,6CAA6C,EAAE;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yFAAwF,aAAa;AACrG;AACA;AACA,0CAAyC,4CAA4C,EAAE;AACvF;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,6BAA4B,aAAa;AACzC;AACA;AACA;AACA,mCAAkC,mBAAmB;AACrD;AACA;AACA;AACA,mCAAkC,mBAAmB;AACrD,sCAAqC,sBAAsB;AAC3D;AACA;AACA;AACA,6BAA4B,aAAa;AACzC;AACA;AACA;AACA,6BAA4B,aAAa;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,aAAa;AACzC;AACA;AACA;AACA,6BAA4B,aAAa;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2BAA0B,uBAAuB;AACjD;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,0CAA0C,EAAE;AACvF;AACA;AACA;AACA;AACA,oDAAmD,oDAAoD,EAAE;AACzG;AACA;AACA,8EAA6E,cAAc;AAC3F,0EAAyE,cAAc;AACvF;AACA,IAAG;AACH;AACA,6BAA4B,aAAa;AACzC,6BAA4B,cAAc;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,oBAAoB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,wBAAwB,EAAE;AACtD;AACA;AACA,QAAO;AACP;AACA,IAAG;AACH;AACA;AACA,iCAAgC,aAAa;AAC7C,wCAAuC,oBAAoB;AAC3D;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,kCAAiC,YAAY;AAC7C;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,mCAAkC,eAAe;AACjD;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,oCAAmC,aAAa;AAChD,mCAAkC,eAAe;AACjD;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,kCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,kCAAiC,cAAc;AAC/C;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,kCAAiC,cAAc;AAC/C;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,sCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,aAAa,EAAE;AAC3C;AACA;AACA,QAAO;AACP;AACA,IAAG;AACH;AACA;AACA,sCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,8BAA6B,uFAAuF;AACpH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,QAAO;AACP;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC;AACrC,8BAA6B,uFAAuF;AACpH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,sCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,sCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,sCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,sCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,6BAA4B,kBAAkB,EAAE;AAChD;AACA;AACA,QAAO;AACP;AACA,IAAG;AACH;AACA,iBAAgB,+BAA+B,OAAO,4BAA4B;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,mBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,sCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,6BAA4B,kBAAkB,EAAE;AAChD;AACA;AACA,QAAO;AACP;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,sCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,kBAAkB,EAAE;AAChD;AACA;AACA,QAAO;AACP;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,oDAAoD,EAAE;AACnG,0CAAyC,gDAAgD,EAAE;AAC3F;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA,6CAA4C,cAAc;AAC1D;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA,+CAA8C,gBAAgB;AAC9D;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA,uDAAsD,6CAA6C;AACnG;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA0E,gDAAgD;AAC1H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sFAAqF,aAAa;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gFAA+E,2CAA2C;AAC1H,sFAAqF,aAAa;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,kCAAkC,EAAE;AAC3E;AACA;AACA,2EAA0E,aAAa;AACvF;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,kBAAkB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,iEAAgE,MAAM;;AAEtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,8BAA8B;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,iCAAiC;AAC5C;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA8C,sCAAsC;AACpF,+CAA8C,sCAAsC;AACpF;AACA;AACA;AACA,mDAAkD,0CAA0C;AAC5F,gDAA+C,uCAAuC;AACtF,mDAAkD,iEAAiE;AACnH,oDAAmD,kEAAkE;AACrH;AACA;AACA;AACA,oDAAmD,kEAAkE;AACrH,qDAAoD,mEAAmE;AACvH,oDAAmD,kEAAkE;AACrH,8CAA6C,qCAAqC;AAClF,+CAA8C,2DAA2D;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C,oDAAoD;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C,oDAAoD;AACnG;AACA;AACA;AACA;AACA,gDAA+C,oDAAoD;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C,oDAAoD;AACnG;AACA;AACA;AACA;AACA,0BAAyB,8BAA8B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C,oDAAoD;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,sBAAsB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,iCAAiC;AAC5C;AACA;AACA;AACA,YAAW,eAAe;AAC1B;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,qBAAqB,EAAE;AACnD;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,QAAO;AACP,oDAAmD,8CAA8C;AACjG,kDAAiD,cAAc;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAwD,iCAAiC;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA,0DAAyD,gCAAgC;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,gBAAgB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA,kCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC;AAClC,YAAW;AACX;AACA;AACA;AACA;AACA;AACA,4FAA2F;AAC3F,wEAAuE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0FAAyF;AACzF,uFAAsF,qBAAqB;AAC3G,0FAAyF;AACzF,sFAAqF;AACrF,uFAAsF,qBAAqB;AAC3G,0FAAyF,qBAAqB;AAC9G,oFAAmF,qBAAqB;AACxG,wFAAuF,qBAAqB;AAC5G,sFAAqF,qBAAqB;AAC1G,sFAAqF,gCAAgC;AACrH,oFAAmF,2BAA2B;AAC9G,gFAA+E,qBAAqB;AACpG,mFAAkF,qBAAqB;AACvG,qFAAoF,qBAAqB;AACzG,8EAA6E,qBAAqB;AAClG,mFAAkF,qBAAqB;AACvG,oFAAmF,qBAAqB;AACxG;AACA;AACA,4CAA2C,0BAA0B,EAAE;AACvE;AACA,+EAA8E,qBAAqB;AACnG,+EAA8E,qBAAqB;AACnG;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG,0CAA0C;AAC7C;AACA;AACA,kCAAiC,+BAA+B;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA0D,yCAAyC;AACnG;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAA+D,8CAA8C;AAC7G;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAmE,kDAAkD;AACrH;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAA+D,8CAA8C;AAC7G;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA6D,4CAA4C;AACzG;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,8DAA6D,4CAA4C;AACzG;AACA,IAAG;AACH;AACA,gCAA+B,gBAAgB;AAC/C;AACA;AACA,2BAA0B,mEAAmE,EAAE;AAC/F,2BAA0B,oCAAoC;AAC9D;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,kCAAkC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,+CAA8C,gCAAgC;AAC9E,4CAA2C,oDAAoD;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA2E,kBAAkB;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAgD,qDAAqD;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,6BAA6B;AAC9D,gCAA+B,2BAA2B;AAC1D;AACA;AACA;AACA,kCAAiC,6BAA6B;AAC9D;AACA;AACA;AACA;AACA,gCAA+B,2BAA2B;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,6BAA6B,GAAG,IAAI;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,SAAS;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,kBAAkB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA2E,gCAAgC,EAAE;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA8E,gCAAgC,EAAE;AAChH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,gDAA+C,6BAA6B;AAC5E,gDAA+C,oDAAoD;AACnG;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB;AACzB;AACA;AACA;AACA;AACA,+GAA8G;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+GAA8G;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kHAAiH;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kHAAiH;AACjH;AACA;AACA;AACA;AACA,8GAA6G;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA8D,iBAAiB;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAqD,QAAQ;AAC7D;AACA,2BAA0B;AAC1B;AACA;AACA;AACA,mBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAAyE,mBAAmB;AAC5F;AACA;AACA,iEAAgE,2BAA2B,EAAE;AAC7F;AACA;AACA;AACA,mEAAkE,gBAAgB,kCAAkC,GAAG,EAAE;AACzH,oBAAmB,sEAAsE;AACzF;AACA;AACA;AACA;AACA;AACA,4FAA2F,2BAA2B,EAAE;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,sCAAqC,yCAAyC,EAAE;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,oBAAoB;AACzC;AACA,0BAAyB,QAAQ;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,iBAAiB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,oBAAoB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,oBAAoB;AACzC;AACA;AACA,sBAAqB,gBAAgB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,2DAA0D,yCAAyC;AACnG;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,gEAA+D,8CAA8C;AAC7G;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAAyD,wCAAwC;AACjG;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAoE,mDAAmD;AACvH;AACA,IAAG;AACH;AACA;AACA,iCAAgC,WAAW;AAC3C;AACA;AACA;AACA;AACA,kEAAiE,gDAAgD;AACjH;AACA,IAAG;AACH;AACA;AACA,iCAAgC,WAAW;AAC3C;AACA;AACA;AACA;AACA,qEAAoE,mDAAmD;AACvH;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAwE,yCAAyC,EAAE;AACnH;AACA;AACA;AACA,uEAAsE,mCAAmC,SAAS;AAClH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAAyE,aAAa;AACtF;AACA;AACA;AACA;AACA;AACA;AACA,6FAA4F,4BAA4B,EAAE,EAAE;AAC5H,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,2CAA2C;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG,oCAAoC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAyC,gCAAgC,EAAE;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAmE,wBAAwB,EAAE;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,gDAAgD,EAAE;AAC7F,yCAAwC;AACxC,0BAAyB,EAAE;AAC3B;AACA;AACA;AACA;AACA,gEAA+D,2BAA2B,EAAE;AAC5F;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,0CAAyC,YAAY;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAkF,kDAAkD,EAAE;AACtI;AACA,sDAAqD,iBAAiB;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,iCAAiC,EAAE;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAgE,qDAAqD,EAAE;AACvH;AACA,4DAA2D,yBAAyB;AACpF,8DAA6D,2CAA2C;AACxG;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAgF,cAAc;AAC9F,qEAAoE,cAAc;AAClF;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C,6BAA6B;AAC5E;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA8D,0BAA0B,EAAE;AAC1F;AACA;AACA,uDAAsD,mBAAmB;AACzE;AACA;AACA;AACA;AACA,kEAAiE,4CAA4C,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,yCAAwC,6BAA6B,EAAE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA,yDAAwD,uCAAuC;AAC/F;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,mCAAmC;AACvF;AACA,IAAG;AACH;AACA;AACA;AACA,2CAA0C,qBAAqB;AAC/D,qCAAoC,eAAe;AACnD;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA,iDAAgD,+BAA+B;AAC/E;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,kDAAiD,gCAAgC;AACjF;AACA,IAAG;AACH;AACA;AACA;AACA,+BAA8B,QAAQ;AACtC;AACA;AACA;AACA,IAAG;AACH;AACA,oBAAmB;AACnB,qBAAoB;AACpB,qBAAoB;AACpB,mBAAkB;AAClB,mBAAkB;AAClB;AACA;AACA,4DAA2D,yCAAyC,EAAE;AACtG;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD,2BAA2B;AAC7E,yEAAwE;AACxE;AACA,uEAAsE,qCAAqC;AAC3G;AACA;AACA,uEAAsE,iCAAiC;AACvG;AACA;AACA;AACA,YAAW;AACX,wCAAuC;AACvC,uCAAsC,mFAAmF;AACzH,yCAAwC,mCAAmC;AAC3E;AACA,gCAA+B,oCAAoC;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,qEAAoE,iCAAiC;AACrG;AACA;AACA;AACA,uDAAsD,mDAAmD,EAAE;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAsD,iCAAiC;AACvF;AACA;AACA;AACA;AACA,uDAAsD,iCAAiC;AACvF;AACA;AACA;AACA,8CAA6C,cAAc;AAC3D;AACA;AACA,8CAA6C,cAAc;AAC3D;AACA;AACA;AACA;AACA,iEAAgE,0BAA0B,EAAE;AAC5F;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX,mBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA,mEAAkE,2BAA2B,EAAE;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAmE,2BAA2B,EAAE;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAmE,mBAAmB;AACtF,0EAAyE,WAAW;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,gCAA+B,oCAAoC;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,gEAA+D,iCAAiC;AAChG;AACA;AACA;AACA,uDAAsD,mDAAmD,EAAE;AAC3G;AACA;AACA;AACA;AACA,qCAAoC;AACpC;AACA,0DAAyD,oDAAoD;AAC7G,YAAW;AACX,mCAAkC;AAClC;AACA;AACA;AACA,iDAAgD;AAChD,yDAAwD,qBAAqB;AAC7E;AACA;AACA;AACA;AACA,iDAAgD;AAChD,yDAAwD,qBAAqB;AAC7E;AACA;AACA;AACA,gDAA+C,gBAAgB;AAC/D;AACA;AACA,gDAA+C,gBAAgB;AAC/D;AACA;AACA;AACA,iEAAgE,0BAA0B,EAAE;AAC5F;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAmD,gCAAgC;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX,mBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAmE,2BAA2B,EAAE;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAqE,6BAA6B,EAAE;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAA+D,mBAAmB;AAClF,sEAAqE,WAAW;AAChF;AACA;AACA,4DAA2D,6BAA6B,EAAE;AAC1F,oBAAmB,0EAA0E;AAC7F;AACA;AACA,2CAA0C,uDAAuD;AACjG;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,kBAAkB;AACzD;AACA;AACA;AACA;AACA;AACA,wDAAuD,6BAA6B;AACpF,wDAAuD,+BAA+B;AACtF;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C,6BAA6B;AAC5E,gDAA+C,oDAAoD;AACnG;AACA;AACA;AACA;AACA;AACA;AACA,yEAAwE;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,yGAAwG;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC;AAClC,oCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA,YAAW,4EAA4E;AACvF,YAAW,4EAA4E;AACvF,YAAW,4EAA4E;AACvF,YAAW,4EAA4E;AACvF,YAAW,4EAA4E;AACvF,YAAW,4EAA4E;AACvF,YAAW,4EAA4E;AACvF,YAAW,4EAA4E;AACvF,YAAW,4EAA4E;AACvF,YAAW,8EAA8E;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,wCAAuC,yBAAyB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA,6CAA4C,2FAA2F;AACvI;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C,6BAA6B;AAC5E,gDAA+C,oDAAoD;AACnG;AACA;AACA;AACA,YAAW,iCAAiC;AAC5C;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN,YAAW;AACX,YAAW;AACX,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA0E,kBAAkB;AAC5F,iEAAgE,aAAa;AAC7E,uEAAsE,gBAAgB;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA4C,mDAAmD,EAAE;AACjG,4EAA2E,+BAA+B,EAAE;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA,gEAA+D,qBAAqB;AACpF,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,6BAA4B,sDAAsD,EAAE;AACpF;AACA;AACA,QAAO;AACP;AACA;AACA,0FAAyF,kCAAkC,EAAE;AAC7H;AACA,yEAAwE;AACxE,oEAAmE,EAAE;AACrE;AACA,YAAW;AACX;AACA;AACA,QAAO;AACP;AACA,6BAA4B,+BAA+B,EAAE;AAC7D;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA8E,2CAA2C,EAAE;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4HAA2H,8BAA8B;AACzJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C,wEAAwE,EAAE;AACzH;AACA;AACA;AACA;AACA,gDAA+C,wEAAwE,EAAE;AACzH;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf,YAAW;AACX;AACA,wDAAuD,gDAAgD;AACvG;AACA;AACA;AACA;AACA,kCAAiC,cAAc;AAC/C;AACA;AACA,uDAAsD,kDAAkD;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA4D,6BAA6B;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAoE,6BAA6B;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4FAA2F,wBAAwB,EAAE;AACrH;AACA,mEAAkE,kCAAkC,2BAA2B,2BAA2B;AAC1J;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6FAA4F,8BAA8B;AAC1H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C,sEAAsE,EAAE;AACvH;AACA;AACA;AACA;AACA,gDAA+C,sEAAsE,EAAE;AACvH;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf,YAAW;AACX;AACA,wDAAuD,gDAAgD;AACvG;AACA;AACA;AACA;AACA,kCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA4D,6BAA6B;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,wBAAwB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAuE,kCAAkC,uBAAuB,uBAAuB;AACvJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,0DAAyD,kCAAkC,6BAA6B,6BAA6B;AACrJ;AACA,QAAO;AACP;AACA,4EAA2E,wBAAwB,EAAE,2CAA2C,yBAAyB,EAAE;AAC3K;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,2DAA0D,gDAAgD,EAAE;AAC5G;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,2DAA0D,mDAAmD,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA,YAAW;AACX,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA0B,uBAAuB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,sEAAqE,WAAW,GAAG;AACnF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,oDAAoD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,yBAAyB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAgE,gDAAgD,EAAE;AAClH,+DAA8D,8CAA8C,EAAE;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA4D,8CAA8C,EAAE;AAC5G;AACA;AACA;AACA;AACA,mCAAkC,gBAAgB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA4C,6BAA6B,EAAE;AAC3E,4CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE,EAAE;AACf;AACA;AACA,YAAW,iCAAiC;AAC5C;AACA;AACA;AACA,YAAW,gBAAgB;AAC3B,YAAW,+BAA+B;AAC1C,YAAW,wBAAwB;AACnC,YAAW,iBAAiB;AAC5B,YAAW,4BAA4B,+BAA+B,GAAG,2DAA2D,IAAI;AACxI;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX,0CAAyC,+CAA+C,EAAE;AAC1F;AACA;AACA,kCAAiC,+BAA+B;AAChE;AACA;AACA;AACA,8CAA6C,sBAAsB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf,mEAAkE,kEAAkE,EAAE;AACtI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA,sFAAqF,aAAa;AAClG,8FAA6F,aAAa;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kFAAiF,aAAa;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA6D,sKAAsK,EAAE;AACrO;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAwD,+BAA+B,EAAE;AACzF,iEAAgE,0BAA0B,EAAE;AAC5F;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,sEAAqE,kCAAkC,EAAE;AACzG;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAAyE;AACzE;AACA;AACA;AACA;AACA,8BAA6B,qBAAqB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA,6DAA4D,cAAc,EAAE;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf,YAAW;AACX;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAAyD,wCAAwC,EAAE;AACnG;AACA;AACA;AACA,0CAAyC,sCAAsC,EAAE;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf,YAAW;AACX;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAoE,sCAAsC,EAAE;AAC5G;AACA;AACA;AACA;AACA;AACA,gFAA+E,aAAa;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAmF,kBAAkB;AACrG,4FAA2F,sBAAsB;AACjH;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAgE,wCAAwC,EAAE;AAC1G;AACA;AACA,8BAA6B,+BAA+B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4FAA2F,uCAAuC,EAAE;AACpI;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,sBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,4CAA4C,EAAE;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,QAAO;AACP;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,0BAA0B,EAAE;AACxD;AACA;AACA,QAAO;AACP;AACA,6BAA4B,0BAA0B,EAAE;AACxD;AACA;AACA,QAAO;AACP;AACA,6BAA4B,0BAA0B,EAAE;AACxD;AACA;AACA,QAAO;AACP;AACA,6BAA4B,0BAA0B,EAAE;AACxD;AACA;AACA,QAAO;AACP;AACA,6BAA4B,0BAA0B,EAAE;AACxD;AACA;AACA,QAAO;AACP;AACA,6BAA4B,0BAA0B,EAAE;AACxD;AACA;AACA,QAAO;AACP;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,gDAAgD,EAAE;AAC9E;AACA;AACA,QAAO;AACP;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAmE,mCAAmC,EAAE;AACxG;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAgF,4CAA4C,EAAE;AAC9H;AACA;AACA;AACA;AACA;AACA;AACA,4EAA2E,uCAAuC,EAAE;AACpH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA2D,mCAAmC,EAAE;AAChG;AACA;AACA;AACA;AACA;AACA;AACA,4DAA2D,mCAAmC,EAAE;AAChG;AACA;AACA;AACA;AACA;AACA;AACA,0DAAyD,4CAA4C,8BAA8B,EAAE,EAAE,EAAE;AACzI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA,kGAAiG,gBAAgB,EAAE;AACnH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAwD,kCAAkC,EAAE;AAC5F;AACA,2DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA4D,wDAAwD,EAAE;AACtH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA6D,6CAA6C,EAAE;AAC5G;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,6BAA4B,qBAAqB,EAAE;AACnD;AACA;AACA,QAAO;AACP;AACA,kCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA8C,QAAQ;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA4D,sBAAsB;AAClF;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA0D,uCAAuC,EAAE;AACnG;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA,YAAW;AACX,0EAAyE,sEAAsE,EAAE;AACjJ;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,2CAA0C,2DAA2D,EAAE;AACvG;AACA;AACA;AACA;AACA;AACA,iDAAgD,0FAA0F,EAAE;AAC5I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,8CAA8C,EAAE;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAuE,kEAAkE,EAAE;AAC3I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,uDAAsD,yDAAyD,EAAE;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,2DAA0D,8BAA8B,EAAE;AAC1F;AACA;AACA;AACA,qFAAoF;AACpF;AACA;AACA;AACA;AACA;AACA,mEAAkE;AAClE;AACA;AACA;AACA,sBAAqB,YAAY;AACjC;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA,8BAA6B,QAAQ;AACrC;AACA;AACA,iDAAgD,+EAA+E,EAAE;AACjI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAgE,qDAAqD,EAAE;AACvH,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAmE,2EAA2E,oDAAoD,8DAA8D,EAAE,EAAE,EAAE,EAAE,EAAE;AAC1Q;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA8C,2EAA2E,EAAE;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX,QAAO;AACP;AACA;;AAEA;AACA,6BAA4B,aAAa;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAsD,uCAAuC,EAAE;AAC/F;AACA;AACA;AACA;AACA,oDAAmD,wDAAwD,EAAE;AAC7G;AACA;AACA,qFAAoF,6BAA6B;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,6BAA6B;AACjF,sDAAqD,0CAA0C;AAC/F;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA4D,0CAA0C,EAAE;AACxG,8DAA6D,0CAA0C,EAAE;AACzG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,wBAAwB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,8DAA6D,yCAAyC,EAAE;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,kEAAiE,6EAA6E,EAAE;AAChJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD,yBAAyB;AAC3E,0DAAyD,sCAAsC;AAC/F;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,oDAAoD,EAAE;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAwE,mCAAmC,EAAE;AAC7G;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,8CAA8C;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAoE,yEAAyE,EAAE;AAC/I;AACA;AACA;AACA;AACA;AACA,mHAAkH,8BAA8B;AAChJ;AACA;AACA;AACA,+DAA8D,iEAAiE,EAAE;AACjI;AACA;AACA;AACA;AACA,+DAA8D,iEAAiE,EAAE;AACjI;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA,YAAW;AACX,0BAAyB,6BAA6B;AACtD;AACA;AACA,+DAA8D,+CAA+C,EAAE;AAC/G;AACA;AACA;AACA;AACA,6FAA4F,0DAA0D,EAAE;AACxJ,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAuD,iBAAiB;AACxE,yGAAwG,4CAA4C,EAAE;AACtJ,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA,4CAA2C,0CAA0C,4FAA4F,EAAE,EAAE,EAAE;AACvL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAgD,wDAAwD,EAAE;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA8E,gDAAgD,EAAE;AAChI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gIAA+H,mBAAmB;AAClJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,uBAAuB,EAAE;AACrD;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,8CAA6C,QAAQ;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAqE,uBAAuB;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA,8DAA6D,sEAAsE,EAAE;AACrI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,mBAAmB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,oBAAoB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,0CAA0C,+EAA+E,EAAE,EAAE,EAAE;AAC1K;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,sBAAsB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,4BAA4B;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,qBAAqB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA0C,+BAA+B,EAAE;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,aAAa,EAAE;AAC1D,2CAA0C,aAAa,EAAE;AACzD,iDAAgD,aAAa,EAAE;AAC/D,kDAAiD,aAAa,EAAE;AAChE,sDAAqD,aAAa,EAAE;AACpE,mDAAkD,aAAa,EAAE;AACjE,+CAA8C,6BAA6B,EAAE;AAC7E,gDAA+C,aAAa,EAAE;AAC9D,kDAAiD,aAAa,EAAE;AAChE,gDAA+C,aAAa,EAAE;AAC9D,sDAAqD,aAAa,EAAE;AACpE,gDAA+C,kCAAkC,EAAE;AACnF,0CAAyC,aAAa,EAAE;AACxD,+CAA8C,aAAa,EAAE;AAC7D,kDAAiD,kCAAkC,EAAE;AACrF,mDAAkD,aAAa,EAAE;AACjE,2CAA0C,aAAa,EAAE;AACzD,oDAAmD,yCAAyC,EAAE;AAC9F;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA8C,4BAA4B,EAAE;AAC5E;AACA;AACA,4CAA2C,wDAAwD,EAAE;AACrG,2CAA0C,cAAc,EAAE;AAC1D;AACA;AACA;AACA,gBAAe;AACf,kDAAiD,aAAa,EAAE;AAChE,sDAAqD,cAAc,EAAE;AACrE,mDAAkD,yCAAyC,EAAE;AAC7F,+CAA8C,cAAc,EAAE;AAC9D,gDAA+C,cAAc,EAAE;AAC/D,kDAAiD,aAAa,EAAE;AAChE,gDAA+C,aAAa,EAAE;AAC9D,sDAAqD,cAAc,EAAE;AACrE,gDAA+C,aAAa,EAAE;AAC9D,0CAAyC,aAAa,EAAE;AACxD,+CAA8C,oCAAoC,EAAE;AACpF,kDAAiD,cAAc,EAAE;AACjE,mDAAkD,cAAc,EAAE;AAClE,2CAA0C,cAAc,EAAE;AAC1D,oDAAmD,aAAa,EAAE;AAClE,sDAAqD,cAAc;AACnE,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,yCAAwC,yCAAyC,EAAE;AACnF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAwE;AACxE,iDAAgD,EAAE;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,yBAAyB,EAAE;AACvD;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA2D,mCAAmC,EAAE;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX,QAAO;AACP,mDAAkD,gCAAgC,EAAE;AACpF;AACA;AACA;AACA;AACA;AACA,sDAAqD,wCAAwC,EAAE;AAC/F;AACA,YAAW;AACX,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,+CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,oCAAoC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,kCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA0C,wEAAwE,EAAE;AACpH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4EAA2E,aAAa;AACxF;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,oEAAmE,aAAa;AAChF,yEAAwE,aAAa;AACrF;AACA;AACA;AACA,yEAAwE,aAAa;AACrF,wEAAuE,aAAa;AACpF,qFAAoF,aAAa;AACjG,mFAAkF,aAAa;AAC/F;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAoE,kCAAkC;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAuE,+BAA+B,EAAE;AACxG,iEAAgE,8BAA8B,EAAE;AAChG;AACA;AACA,0BAAyB,8BAA8B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA6E,yCAAyC;AACtH;AACA;AACA,2DAA0D,4BAA4B;AACtF;AACA;AACA,gBAAe;AACf;AACA,gEAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sHAAqH,+BAA+B,EAAE;AACtJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA8E,sFAAsF,EAAE;AACtK,wEAAuE,+BAA+B,EAAE;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAoE,aAAa;AACjF,0EAAyE,aAAa;AACtF;AACA;AACA;AACA,0EAAyE,aAAa;AACtF,yEAAwE,aAAa;AACrF,sFAAqF,aAAa;AAClG,oFAAmF,aAAa;AAChG;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA6D,sCAAsC,EAAE;AACrG;AACA;AACA;AACA;AACA;AACA,YAAW;AACX,QAAO;AACP;AACA;AACA;AACA;AACA,qCAAoC,iCAAiC,EAAE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAiD,qCAAqC,EAAE;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uGAAsG;AACtG;AACA;AACA;AACA;AACA,kFAAiF;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0MAAyM,+BAA+B,EAAE;AAC1O;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAgF,kCAAkC,EAAE;AACpH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qFAAoF,6BAA6B,EAAE;AACnH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAAyD,wBAAwB,EAAE;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,iCAAiC;AAC5C;AACA;AACA;AACA,YAAW,wBAAwB;AACnC;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wFAAuF,uDAAuD,EAAE;AAChJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wGAAuG,2EAA2E,EAAE;AACpL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;AACnB;AACA;AACA,gBAAe;AACf,YAAW;AACX;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAuD,gDAAgD,kCAAkC,EAAE,EAAE,EAAE;AAC/I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAqD,aAAa;AAClE;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,8BAA6B,uBAAuB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB,eAAe;AACjC;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA0C,uBAAuB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,iCAAiC;AAC5C;AACA;AACA;AACA,YAAW,gCAAgC,sEAAsE,IAAI;AACrH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM,iEAAiE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAAyE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG,0CAA0C;AAC7C;AACA;AACA;AACA,+DAA8D;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,uBAAuB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA0C,2BAA2B;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA8D,mCAAmC;AACjG;AACA;AACA;AACA;AACA;AACA;AACA,2FAA0F,yDAAyD,EAAE;AACrJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAuD,+DAA+D,EAAE;AACxH;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAsC,mFAAmF,EAAE;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,wFAAuF,kFAAkF;AACzK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,qDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE,EAAE;AACf;AACA;AACA;AACA,8CAA6C,+BAA+B;AAC5E;AACA,0DAAyD,yCAAyC,EAAE;AACpG,yCAAwC;AACxC,yFAAwF,6CAA6C;AACrI;AACA;AACA,YAAW,EAAE,EAAE;AACf,mCAAkC,6CAA6C,EAAE;AACjF;AACA;AACA;AACA;AACA,oCAAmC,8DAA8D,EAAE;AACnG;AACA;AACA;AACA;AACA,YAAW;AACX,iDAAgD,8EAA8E;AAC9H;AACA;AACA,YAAW,iCAAiC;AAC5C;AACA;AACA;AACA,YAAW,wBAAwB;AACnC,YAAW,qBAAqB;AAChC,YAAW,oBAAoB;AAC/B,YAAW,wBAAwB;AACnC;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAgF,aAAa;AAC7F,mFAAkF,aAAa;AAC/F,8EAA6E,aAAa;AAC1F,mFAAkF,aAAa;AAC/F,uFAAsF,aAAa;AACnG;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;;AAEA;AACA,4BAA2B,gBAAgB;AAC3C;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA,uCAAsC,wBAAwB;AAC9D;AACA;AACA;AACA,kBAAiB,gBAAgB;AACjC;AACA;AACA,4CAA2C,wBAAwB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf,YAAW;AACX;AACA;AACA,wEAAuE,iDAAiD;AACxH;AACA;AACA;AACA;AACA,uEAAsE,sCAAsC,EAAE;AAC9G;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA,yEAAwE,sCAAsC,EAAE;AAChH;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA,YAAW,iCAAiC;AAC5C;AACA;AACA;AACA,YAAW,yBAAyB;AACpC;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yBAAwB,eAAe;AACvC;AACA;AACA;AACA,uCAAsC,wBAAwB;AAC9D;AACA;AACA;AACA,4CAA2C,wBAAwB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,iCAAiC;AAC5C;AACA;AACA;AACA,YAAW,yBAAyB;AACpC;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,4BAA2B,WAAW;AACtC;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA,uCAAsC,wBAAwB;AAC9D;AACA;AACA;AACA,kBAAiB,WAAW;AAC5B;AACA;AACA,4CAA2C,wBAAwB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,iCAAiC;AAC5C;AACA;AACA;AACA,YAAW,yBAAyB;AACpC;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA,uCAAsC,wBAAwB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA2D,6CAA6C,EAAE;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sGAAqG,+CAA+C,EAAE;AACtJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA2D,yCAAyC,EAAE;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,wBAAwB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA2D,2CAA2C,EAAE;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,+DAA+D,EAAE;AACrH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,wBAAwB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA4C,+DAA+D,EAAE;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAkF,2BAA2B,EAAE;AAC/G,yFAAwF,iCAAiC,EAAE;AAC3H;AACA,4FAA2F,oCAAoC,EAAE;AACjI,uFAAsF,+BAA+B,EAAE;AACvH;AACA;AACA;AACA,kCAAiC,eAAe;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,eAAe;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAwC,qBAAqB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,8EAA6E,qCAAqC,EAAE;AACpH,YAAW;AACX;AACA;AACA,yCAAwC,qBAAqB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,4CAA2C,wBAAwB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf,YAAW;AACX;AACA,yEAAwE,yCAAyC,EAAE;AACnH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAuD,eAAe;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;AACnB,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,kFAAiF,kCAAkC;AACnH;AACA;AACA;AACA;AACA,sFAAqF,wCAAwC,EAAE;AAC/H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,YAAW,iCAAiC;AAC5C;AACA;AACA;AACA,YAAW,0BAA0B;AACrC,YAAW,2BAA2B;AACtC,YAAW,sBAAsB;AACjC,YAAW,+BAA+B;AAC1C,YAAW,yBAAyB;AACpC;AACA;AACA,IAAG;AACH;AACA,sCAAqC,oBAAoB;AACzD,uCAAsC,4BAA4B;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA,4BAA2B,UAAU;AACrC;AACA,0BAAyB,iBAAiB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA0D,gEAAgE;AAC1H;AACA;AACA,2DAA0D,mBAAmB;AAC7E;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAsD,4BAA4B;AAClF;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,+DAA8D,sCAAsC,EAAE;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,iCAAiC;AAC5C;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8FAA6F,0CAA0C,EAAE;AACzI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6FAA4F,qCAAqC,EAAE;AACnI,iGAAgG,qCAAqC,EAAE;AACvI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA4E,8BAA8B;AAC1G;AACA;AACA;AACA,uDAAsD,kCAAkC,EAAE;AAC1F;AACA;AACA;AACA;AACA,uDAAsD,kCAAkC,EAAE;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,4CAA4C,EAAE;AAC1E;AACA;AACA,QAAO;AACP,2EAA0E,mDAAmD;AAC7H;AACA,qCAAoC,eAAe;AACnD;AACA;AACA,kEAAiE,6CAA6C;AAC9G;AACA,oCAAmC,iBAAiB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAoE,2BAA2B;AAC/F,+DAA8D,4BAA4B;AAC1F;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAgC,OAAO;AACvC;AACA;AACA;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA;AACA;AACA,0CAAyC,2BAA2B,EAAE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,sBAAsB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAsB;AACtB;AACA;AACA;AACA;AACA,YAAW;AACX;AACA,uBAAsB;AACtB;AACA;AACA;AACA;AACA,oCAAmC,iBAAiB;AACpD,iDAAgD,yCAAyC,EAAE;AAC3F;AACA;AACA,oCAAmC,iBAAiB;AACpD,0BAAyB,wBAAwB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA8C,wCAAwC,EAAE;AACxF;AACA;AACA,IAAG;AACH;AACA,oCAAmC,oBAAoB;AACvD;AACA;AACA;AACA;AACA;AACA,2BAA0B,uBAAuB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,sBAAqB,WAAW;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+HAA8H;AAC9H,YAAW;AACX;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,qBAAqB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB;AACzB;AACA,iDAAgD,2CAA2C,EAAE;AAC7F;AACA;AACA;AACA,mDAAkD,6CAA6C,EAAE;AACjG,mDAAkD,6CAA6C,EAAE;AACjG;AACA,yBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB;AACzB;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA;AACA;AACA,2BAA0B;AAC1B;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB;AACzB;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B;AAC5B;AACA;AACA;AACA,uBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB;AACzB;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA;AACA,6BAA4B;AAC5B;AACA;AACA;AACA,yBAAwB,yCAAyC;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAsB;AACtB;AACA,uBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,mCAAmC,EAAE;AACzF;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,qBAAqB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,gEAA+D,mBAAmB,EAAE;AACpF;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,uBAAuB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP,sFAAqF,mBAAmB,EAAE;AAC1G;AACA;AACA;AACA;AACA,2BAA0B,uBAAuB;AACjD;AACA;AACA;AACA,uDAAsD,+BAA+B,EAAE;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAgE,wCAAwC;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAmD,gBAAgB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAkF,aAAa;AAC/F;AACA;AACA;AACA;AACA;AACA,8EAA6E,kBAAkB;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA4D,mBAAmB,EAAE;AACjF;AACA;AACA;AACA,8DAA6D,mBAAmB,EAAE;AAClF;AACA;AACA;AACA;AACA;AACA,kCAAiC,4CAA4C;AAC7E,kCAAiC,4CAA4C;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAgD;AAChD,oDAAmD,EAAE;AACrD;AACA;AACA;AACA;AACA,mDAAkD,yCAAyC,EAAE;AAC7F;AACA;AACA,0BAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,2BAA0B,uBAAuB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC;AACvC;AACA,mDAAkD,mDAAmD,EAAE;AACvG,mDAAkD,mDAAmD,EAAE;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA0B;AAC1B;AACA;AACA;AACA,gDAA+C;AAC/C;AACA;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA,mGAAkG,kBAAkB;AACpH;AACA;AACA,4CAA2C;AAC3C;AACA;AACA;AACA,0BAAyB,EAAE;AAC3B;AACA;AACA;AACA;AACA,2BAA0B;AAC1B;AACA;AACA,4CAA2C;AAC3C;AACA;AACA;AACA,0BAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA0B;AAC1B;AACA;AACA;AACA,uBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,2BAA0B;AAC1B;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA;AACA,6BAA4B;AAC5B;AACA;AACA;AACA,yBAAwB,yCAAyC;AACjE;AACA;AACA;AACA;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA;AACA,kDAAiD,8BAA8B,EAAE;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,+BAA+B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAwC,mBAAmB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B;AAC3B;AACA;AACA;AACA,kCAAiC,4BAA4B;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,uBAAuB;AACrD;AACA;AACA,+BAA8B;AAC9B,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,uBAAuB;AACrD;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA,2BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAAyD;AACzD;AACA;AACA;AACA,yDAAwD;AACxD;AACA;AACA;AACA,yCAAwC;AACxC;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,uBAAuB;AACrD;AACA;AACA;AACA;AACA;AACA,kCAAiC,kBAAkB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA0E,qCAAqC,EAAE;AACjH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA,qCAAoC,gDAAgD,EAAE;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAkF,8EAA8E,EAAE;AAClK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,uBAAuB;AACrD;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sFAAqF,8BAA8B,EAAE;AACrH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,6DAA4D,+BAA+B,KAAK,IAAI,KAAK;AACzG,8CAA6C,gCAAgC,OAAO,GAAG;AACvF,+DAA8D,gCAAgC,OAAO,GAAG;AACxG;AACA;AACA;AACA;AACA;AACA,mBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA0B,EAAE,EAAE,cAAc,QAAQ,KAAK,UAAU;AACnE,uBAAsB;AACtB,sBAAqB;AACrB,uBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,2BAA0B,uBAAuB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,6CAA4C;AAC5C;AACA;AACA,iCAAgC;AAChC;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,+BAA+B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA,+EAA8E,uDAAuD,EAAE;AACvI;AACA,0BAAyB,iCAAiC;AAC1D,+DAA8D,+BAA+B;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,iCAAiC;AAC5C;AACA;AACA;AACA,YAAW,qBAAqB;AAChC;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,uBAAuB,EAAE;AACrD;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0FAAyF,wBAAwB,EAAE;AACnH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf,YAAW;AACX;AACA;AACA;AACA;AACA;AACA,sDAAqD,kCAAkC,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0HAAyH,0BAA0B,oEAAoE,EAAE,EAAE;AAC3N;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB;AACvB;AACA,gBAAe;AACf;AACA;AACA;AACA,gBAAe;AACf,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX,sCAAqC,wCAAwC,kCAAkC,EAAE,EAAE;AACnH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAwE,yDAAyD,EAAE;AACnI;AACA,oFAAmF,yEAAyE,EAAE;AAC9J;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA,wDAAuD,gDAAgD,4BAA4B,EAAE,EAAE,EAAE;AACzI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,iCAAiC;AAC5C;AACA;AACA;AACA,YAAW,gCAAgC;AAC3C,YAAW,iCAAiC;AAC5C,YAAW,6BAA6B;AACxC,YAAW,wBAAwB;AACnC,YAAW,uBAAuB;AAClC,YAAW,sBAAsB;AACjC,YAAW,0BAA0B;AACrC,YAAW,wBAAwB;AACnC;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,+BAA8B,uBAAuB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,8DAA6D,gCAAgC;AAC7F;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,gCAAgC,EAAE;AAC9D;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA8D,6BAA6B;AAC3F;AACA;AACA;AACA,sEAAqE,oCAAoC;AACzG;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,qBAAqB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA2D,gDAAgD,EAAE;AAC7G;AACA;AACA,mEAAkE,8BAA8B,EAAE;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf,YAAW;AACX;AACA;AACA,mDAAkD,4DAA4D,EAAE;AAChH;AACA;AACA;AACA;AACA;AACA;AACA,uDAAsD,kEAAkE,EAAE;AAC1H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD,4DAA4D,EAAE;AAChH;AACA;AACA;AACA;AACA;AACA;AACA,uDAAsD,kEAAkE,EAAE;AAC1H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAkF,4CAA4C;AAC9H,wFAAuF,uBAAuB;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA,uBAAsB;AACtB;AACA;AACA,uBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAsB;AACtB;AACA;AACA,uBAAsB;AACtB;AACA;AACA;AACA,YAAW,iCAAiC;AAC5C;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO,0CAA0C;AACjD,QAAO,mDAAmD;AAC1D,QAAO,yDAAyD;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO,0DAA0D;AACjE;AACA,QAAO,gEAAgE;AACvE;AACA,QAAO,wEAAwE;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA,oCAAmC,cAAc;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB;AACvB,oBAAmB;AACnB;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA,YAAW,iCAAiC;AAC5C;AACA;AACA;AACA,YAAW,4BAA4B,sEAAsE,IAAI;AACjH;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO,sDAAsD,eAAe;AAC5E,QAAO,2EAA2E;AAClF,QAAO,qFAAqF;AAC5F;AACA;AACA;AACA,qEAAoE,yBAAyB,EAAE;AAC/F,mEAAkE,uBAAuB,EAAE;AAC3F,iFAAgF,qCAAqC,EAAE;AACvH,sEAAqE,0BAA0B,EAAE;AACjG;AACA;AACA;AACA,oCAAmC,QAAQ;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,gDAAgD,EAAE;AACvF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAsD,4BAA4B;AAClF;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA4C,yBAAyB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;;;;;;;AC7tiBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAyC,uCAAuC;AAChF,EAAC,wDAAwD;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA8D,kCAAkC;AAChG,gDAA+C,gBAAgB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,YAAY,EAAE;AAC5C;AACA;AACA,UAAS;AACT,qDAAoD,0CAA0C;AAC9F,iDAAgD,qBAAqB;AACrE,qDAAoD,gCAAgC;AACpF;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,iBAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAwD,QAAQ;AAChE;AACA;AACA;AACA;AACA,oCAAmC,uBAAuB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU;AACV,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,gBAAgB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA2D,qBAAqB;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAgE,qBAAqB;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAA+D,qBAAqB;AACpF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAsD,8BAA8B;AACpF;AACA,cAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,kCAAkC;AAC9C,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA,WAAU,mCAAmC;AAC7C,WAAU;AACV;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,sBAAsB,GAAG,mBAAmB,GAAG,mBAAmB,GAAG,gBAAgB;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,6CAA4C,gBAAgB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK,0EAA0E;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK,oDAAoD;AACzD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK,wCAAwC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,kEAAkE;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,wDAAwD;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,2EAA0E,gBAAgB;AAC1F;AACA;AACA;AACA,aAAY,sBAAsB,MAAM,sBAAsB;AAC9D;AACA;AACA,aAAY,gEAAgE;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA,aAAY,wDAAwD;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,aAAY,qEAAqE;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,aAAY,qEAAqE;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,aAAY,kEAAkE;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,aAAY,kEAAkE;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oFAAmF,gBAAgB;AACnG;AACA,aAAY,iCAAiC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,0BAA0B,KAAK,8BAA8B;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK,8DAA8D;AACnE;AACA;AACA;AACA,yDAAwD,gBAAgB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,MAAM;AAClC,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,wCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,8CAA6C,0BAA0B;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,kCAAkC,EAAE;AAClE,sCAAqC,qCAAqC,EAAE;AAC5E;AACA;AACA,UAAS;AACT;AACA,+BAA8B,+BAA+B,EAAE;AAC/D;AACA;AACA,UAAS;AACT;AACA,+BAA8B,gCAAgC,EAAE;AAChE,oCAAmC,iCAAiC,EAAE;AACtE;AACA;AACA,UAAS;AACT,qDAAoD,qCAAqC;AACzF;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,qCAAqC;AAChF;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,kEAAkE;AACpG;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,sBAAsB;AAC3C;AACA;AACA;AACA,mEAAkE,wBAAwB;AAC1F;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,4DAA2D,uBAAuB;AAClF;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,gBAAgB,EAAE;AAC7D;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,iBAAiB,EAAE;AAC1D;AACA;AACA,wDAAuD,kCAAkC;AACzF,6CAA4C,UAAU;AACtD,yCAAwC,gCAAgC;AACxE,2CAA0C,+BAA+B;AACzE;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD,gBAAgB;AAClE;AACA;AACA;AACA,mDAAkD,gBAAgB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,eAAe;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,wDAAuD,wBAAwB;AAC/E,2DAA0D,wBAAwB;AAClF,+CAA8C,uBAAuB;AACrE;AACA,4BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAwC,gBAAgB;AACxD;AACA;AACA,qDAAoD,gCAAgC;AACpF;AACA;AACA;AACA;AACA,+CAA8C,oBAAoB;AAClE,6DAA4D,8BAA8B;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,iBAAiB;AAC9D,gDAA+C,yBAAyB;AACxE;AACA,oCAAmC,WAAW;AAC9C,kCAAiC,YAAY;AAC7C;AACA;AACA;AACA;AACA;AACA,4BAA2B,cAAc;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,UAAU;AAC5C,iCAAgC,WAAW;AAC3C;AACA;AACA,0DAAyD,+BAA+B;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,qBAAqB;AAClE,4CAA2C,0BAA0B;AACrE;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,qBAAqB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,4BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,gBAAgB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA,wBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAuD,2BAA2B,EAAE;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,iEAAgE,eAAe;AAC/E,SAAQ,eAAe,kBAAkB,eAAe;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU,wEAAwE;AAClF,WAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA,+BAA8B,qBAAqB,EAAE;AACrD;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA,0CAAyC,eAAe,2BAA2B;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,qDAAoD,eAAe;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAiE,iBAAiB;AAClF;AACA;AACA;AACA;AACA;AACA,6BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C,QAAQ;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU,sDAAsD;AAChE,WAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA,4DAA2D,yBAAyB;AACpF;AACA;AACA;AACA;AACA;AACA,qCAAoC,yBAAyB;AAC7D;AACA;AACA;AACA,+CAA8C,yBAAyB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,8BAA8B,EAAE;AAC9D;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,wCAAwC,EAAE;AACxE;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,2BAA2B,EAAE;AAC3D;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6EAA4E,aAAa;AACzF,kEAAiE;AACjE;AACA,6BAA4B,uBAAuB;AACnD;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA0E,oCAAoC,EAAE;AAChH;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAuE,WAAW;AAClF;AACA;AACA;AACA;AACA;AACA;AACA,oEAAmE,iDAAiD,GAAG;AACvH;AACA,sEAAqE;AACrE;AACA;AACA,uGAAsG,+CAA+C;AACrJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mGAAkG,gBAAgB;AAClH,yFAAwF,6BAA6B;AACrH;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAkE,oCAAoC;AACtG,gEAA+D,0DAA0D;AACzH;AACA;AACA,aAAY,qBAAqB;AACjC;AACA,uDAAsD,4BAA4B;AAClF;AACA;AACA,aAAY,kBAAkB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAmD,kCAAkC,EAAE;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAkE,oCAAoC;AACtG,mEAAkE,oCAAoC;AACtG,mEAAkE,oCAAoC;AACtG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA6E,6CAA6C;AAC1H,0DAAyD,oDAAoD;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,mDAAkD,0BAA0B,EAAE;AAC9E;;AAEA;AACA,aAAY,gBAAgB;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,kCAAkC,EAAE;AAClE;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA,wFAAuF;AACvF,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD,sBAAsB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,0BAA0B;AAC/D;AACA;AACA;AACA;AACA;AACA,sBAAqB,eAAe,OAAO,uBAAuB;AAClE;AACA,SAAQ,eAAe,uBAAuB,uBAAuB,GAAG,eAAe;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,uCAAuC;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA0B,0BAA0B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAwD,YAAY,EAAE;AACtE,mDAAkD,6CAA6C,EAAE;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAwC,6CAA6C,EAAE;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,4BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4FAA2F,wCAAwC;AACnI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yFAAwF,kCAAkC;AAC1H;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6FAA4F,wCAAwC;AACpI;AACA;AACA;AACA;AACA;AACA,4BAA2B,qBAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0FAAyF,yBAAyB;AAClH;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,iCAAiC;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA,iBAAgB,+CAA+C;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAA+D,eAAe;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB,uBAAuB,MAAM,qCAAqC;AAClF;AACA;AACA,qCAAoC,eAAe;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC,eAAe;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,gEAA+D,eAAe;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB,uBAAuB,MAAM,uCAAuC;AACpF;AACA,oFAAmF,wBAAwB;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mFAAkF,wBAAwB;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAgF,wBAAwB;AACxG;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,sCAAqC,gBAAgB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,oCAAoC;AAC/E;AACA;AACA,iEAAgE,4CAA4C;AAC5G;AACA,+BAA8B,qBAAqB,EAAE;AACrD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,uBAAuB,EAAE;AACvD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,uCAAuC;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAkE,wCAAwC,EAAE;AAC5G;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT,+DAA8D,yBAAyB;AACvF;AACA,MAAK;AACL;AACA;AACA;AACA,wBAAuB,uCAAuC;AAC9D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAsB,gDAAgD;AACtE,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA0C,qBAAqB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAmD,sBAAsB;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,qBAAqB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,kFAAiF,oBAAoB,EAAE;AACvG;AACA;AACA;AACA;AACA;AACA,+BAA8B,mBAAmB,EAAE;AACnD;AACA;AACA,UAAS;AACT;AACA,+BAA8B,0BAA0B,EAAE;AAC1D;AACA;AACA,UAAS;AACT;AACA,cAAa,mBAAmB;AAChC;AACA;AACA;AACA,cAAa,4BAA4B,yCAAyC,GAAG,iBAAiB,IAAI;AAC1G;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,SAAQ,iCAAiC;AACzC;AACA;AACA,uFAAsF;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qDAAoD,gBAAgB;AACpE;AACA,sDAAqD,eAAe;AACpE;AACA,cAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,mBAAkB,uBAAuB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAmD,iCAAiC;AACpF;AACA,uEAAsE,qBAAqB;AAC3F;AACA;AACA;AACA,wEAAuE,qBAAqB;AAC5F;AACA,qBAAoB,wBAAwB;AAC5C;AACA;AACA;AACA;AACA;AACA,qBAAoB,yBAAyB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAqD;AACrD;AACA;AACA;AACA,6DAA4D;AAC5D;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA,2EAA0E,gCAAgC;AAC1G;AACA;AACA;AACA;AACA,MAAK;AACL,mDAAkD,aAAa;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,yBAAyB,EAAE;AACzD;AACA;AACA,UAAS;AACT;AACA,+BAA8B,qBAAqB,EAAE;AACrD;AACA;AACA,UAAS;AACT;AACA;AACA,wCAAuC,iBAAiB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,4BAA4B;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C,iBAAiB;AAChE;AACA;AACA;AACA;AACA;AACA,+CAA8C,iBAAiB;AAC/D;AACA;AACA;AACA;AACA;AACA,2CAA0C,iBAAiB;AAC3D;AACA;AACA;AACA;AACA;AACA,8CAA6C,iBAAiB;AAC9D;AACA;AACA;AACA;AACA;AACA,qDAAoD,iBAAiB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAiE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAkE,iBAAiB;AACnF;AACA;AACA,mDAAkD,iBAAiB;AACnE;AACA;AACA;AACA,+CAA8C,iBAAiB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,6BAA6B;AAC/D;AACA,yCAAwC,6BAA6B;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAkE,0BAA0B,EAAE;AAC9F;AACA,2EAA0E,8BAA8B,EAAE;AAC1G;AACA,wEAAuE,+BAA+B,EAAE;AACxG;AACA,wEAAuE,2BAA2B,EAAE;AACpG;AACA,0EAAyE,8BAA8B,EAAE;AACzG;AACA,6EAA4E,qCAAqC,EAAE;AACnH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,iBAAiB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,6BAA6B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA2D,gBAAgB;AAC3E;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAwC,mBAAmB;AAC3D;AACA;AACA;AACA;AACA;AACA,uBAAsB,6BAA6B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,4BAA4B,EAAE;AAC5D;AACA;AACA,UAAS;AACT,sDAAqD,kBAAkB;AACvE,yDAAwD,qDAAqD;AAC7G;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2EAA0E,8CAA8C;AACxH,2EAA0E,oCAAoC;AAC9G;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA,yCAAwC,iBAAiB;AACzD;AACA;AACA;AACA;AACA;AACA,iDAAgD,iBAAiB;AACjE;AACA;AACA;AACA;AACA;AACA,6CAA4C,iBAAiB;AAC7D;AACA;AACA;AACA;AACA;AACA,+CAA8C,iBAAiB;AAC/D;AACA;AACA;AACA;AACA;AACA,8CAA6C,iBAAiB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAiE;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAoE,iBAAiB;AACrF;AACA;AACA,iDAAgD,iBAAiB;AACjE;AACA;AACA,mDAAkD,gBAAgB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA8C,cAAc;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAwC,iBAAiB;AACzD;AACA;AACA,iDAAgD,iBAAiB;AACjE;AACA;AACA,6CAA4C,iBAAiB;AAC7D;AACA;AACA,+CAA8C,iBAAiB;AAC/D;AACA;AACA,8CAA6C,iBAAiB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAuD,sBAAsB,EAAE;AAC/E;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,4BAA4B;AAC1D,uBAAsB,sBAAsB;AAC5C,aAAY,sBAAsB;AAClC;AACA;AACA;AACA,kEAAiE,qBAAqB;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,6DAA4D,6BAA6B,EAAE;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,4BAA4B;AAC1D,uBAAsB,sBAAsB;AAC5C,aAAY,sBAAsB;AAClC;AACA;AACA;AACA,kEAAiE,qBAAqB;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,6DAA4D,uBAAuB,EAAE;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA,gCAA+B,wBAAwB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,WAAW;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,uDAAsD;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA8C,gCAAgC;AAC9E;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAsD,8BAA8B;AACpF;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA4D,6CAA6C;AACzG;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,mCAAkC,0BAA0B,KAAK;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK,0DAA0D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC;AACrC;AACA,uCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kFAAiF,kBAAkB;AACnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAAyD,UAAU;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe;AACf;AACA;AACA;AACA,yFAAwF,aAAa;AACrG;AACA;AACA;AACA;AACA;AACA;AACA,qEAAoE,aAAa;;AAEjF;AACA;AACA;AACA;AACA,SAAQ,gBAAgB,MAAM,uBAAuB;AACrD,SAAQ,oCAAoC,MAAM,0BAA0B;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA6E,gBAAgB;AAC7F,wEAAuE,gBAAgB;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA4D,6CAA6C;AACzG;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA,+BAA8B,iCAAiC,EAAE;AACjE;AACA;AACA,UAAS;AACT;AACA,+BAA8B,+BAA+B,EAAE;AAC/D;AACA;AACA,UAAS;AACT;AACA,+BAA8B,qCAAqC,EAAE;AACrE;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,sCAAqC,gBAAgB;AACrD,oCAAmC,YAAY;AAC/C;AACA;AACA;AACA;AACA;AACA,oCAAmC,YAAY;AAC/C,uCAAsC,iBAAiB;AACvD,+CAA8C,yBAAyB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,YAAY;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,YAAY;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,YAAY;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAyC,QAAQ;AACjD;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK,4BAA4B;;AAEjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,2CAA2C,EAAE;AAC3E;AACA;AACA,UAAS;AACT;AACA,+BAA8B,oCAAoC,EAAE;AACpE;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,mDAAmD,EAAE;AACnF;AACA;AACA,UAAS;AACT;AACA,+BAA8B,6CAA6C,EAAE;AAC7E;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,oBAAmB,oCAAoC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,mBAAmB;AAChC;AACA;AACA;AACA,cAAa,sBAAsB;AACnC,cAAa,gCAAgC,gCAAgC,IAAI;AACjF,cAAa,mBAAmB;AAChC;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,wBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA,oCAAmC,8BAA8B;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA,6DAA4D,uBAAuB;AACnF;AACA;AACA,qFAAoF;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,qBAAoB,cAAc;AAClC;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,qBAAoB,wBAAwB;AAC5C;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,qCAAqC,EAAE;AACrE;AACA;AACA,UAAS;AACT;AACA,+BAA8B,mCAAmC,EAAE;AACnE;AACA;AACA,UAAS;AACT;AACA,+BAA8B,oCAAoC,EAAE;AACpE;AACA;AACA,UAAS;AACT;AACA;AACA,+BAA8B,yCAAyC,EAAE;AACzE;AACA;AACA,UAAS;AACT;AACA;AACA,+BAA8B,yCAAyC,EAAE;AACzE;AACA;AACA,UAAS;AACT;AACA;AACA,+BAA8B,4BAA4B,EAAE;AAC5D;AACA;AACA,UAAS;AACT,wDAAuD,wCAAwC;AAC/F,kEAAiE,mCAAmC;AACpG;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,4BAA4B,EAAE;AAC5D;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,+CAA8C,yBAAyB;AACvE,iDAAgD,2BAA2B;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,4BAA2B,sBAAsB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,iBAAiB;AACtD;AACA;AACA;AACA,yDAAwD,yCAAyC;AACjG;AACA;AACA,2CAA0C,aAAa;AACvD,2CAA0C,aAAa;AACvD;AACA;AACA,6CAA4C,oCAAoC,EAAE;AAClF,kBAAiB,qBAAqB,6BAA6B;AACnE;AACA,gEAA+D,yBAAyB,mCAAmC,EAAE,EAAE,EAAE;AACjI,yCAAwC,4BAA4B;AACpE;AACA;AACA,gEAA+D,yBAAyB,mCAAmC,EAAE,EAAE,EAAE;AACjI,sCAAqC,4BAA4B;AACjE;AACA;AACA;AACA,kEAAiE,yBAAyB,+BAA+B,EAAE,EAAE,EAAE;AAC/H,uCAAsC,wBAAwB;AAC9D;AACA;AACA,0DAAyD,yBAAyB,mBAAmB,EAAE,EAAE,EAAE,mBAAmB,YAAY;AAC1I;AACA;AACA;AACA,uDAAsD,yBAAyB,mBAAmB,EAAE,EAAE,EAAE,gBAAgB,YAAY;AACpI;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,mDAAkD,wBAAwB;AAC1E,0CAAyC,UAAU;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,kBAAkB;AACjC,gBAAe,KAAK;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,2BAA0B,UAAU;AACpC,yDAAwD,OAAO;AAC/D;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,8BAA8B;AACnE,cAAa;AACb;AACA;AACA;AACA;AACA,6CAA4C,cAAc;AAC1D;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA8C,mDAAmD;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAA+D,wBAAwB;AACvF;AACA;AACA;AACA;AACA;AACA;AACA,+CAA8C,2BAA2B;AACzE;AACA;AACA;AACA;AACA,sDAAqD,kCAAkC;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB,UAAU;AAC1B;AACA,6DAA4D,2BAA2B;AACvF;AACA;AACA;AACA;AACA,+BAA8B,yBAAyB,EAAE;AACzD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,+BAA+B,EAAE;AAC/D;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,uBAAuB,EAAE;AACvD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,+BAA8B,4BAA4B,EAAE;AAC5D;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,+BAA8B,uBAAuB,EAAE;AACvD;AACA;AACA,UAAS;AACT;AACA,+BAA8B,mCAAmC,EAAE;AACnE;AACA;AACA,UAAS;AACT;AACA,+BAA8B,mCAAmC,EAAE;AACnE;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAgE,mCAAmC,EAAE;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,wBAAwB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAqE,4CAA4C;AACjH,2DAA0D,iCAAiC;AAC3F;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB;AACzB;AACA,kBAAiB;AACjB,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAoE,2BAA2B;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,mBAAmB;AAChC;AACA;AACA;AACA,cAAa,gBAAgB;AAC7B;AACA;AACA,MAAK;AACL;AACA,8BAA6B,kBAAkB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAwE,qCAAqC;AAC7G,0EAAyE,8CAA8C;AACvH,yEAAwE,4CAA4C;AACpH;AACA,8CAA6C,wBAAwB;AACrE;AACA;AACA;AACA,cAAa,mBAAmB;AAChC;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,0EAAyE;AACzE;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,iBAAgB,qBAAqB;AACrC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,eAAe,EAAE;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA,6CAA4C,qBAAqB;AACjE;AACA;AACA,mFAAkF,kCAAkC;AACpH;AACA;AACA,iHAAgH,kCAAkC;AAClJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAAyD,gBAAgB;AACzE,+BAA8B,qBAAqB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA,oBAAmB,kBAAkB;AACrC,oBAAmB,gBAAgB;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,sBAAsB;AACnE;AACA;AACA;AACA;AACA,uCAAsC,eAAe;AACrD;AACA;AACA,+BAA8B,uBAAuB,EAAE;AACvD;AACA;AACA,UAAS;AACT;AACA;AACA,+BAA8B,uBAAuB,EAAE;AACvD;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAgE,uCAAuC;AACvG;AACA,+BAA8B,uBAAuB,EAAE;AACvD;AACA;AACA,UAAS;AACT;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,8DAA6D,yBAAyB,EAAE;AACxF,iEAAgE,mBAAmB,EAAE;AACrF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,oCAAoC;AACzE;AACA;AACA;AACA,4EAA2E,oCAAoC;AAC/G;AACA;AACA;AACA;AACA;AACA,kDAAiD,sDAAsD,EAAE;AACzG,2CAA0C,yBAAyB,qCAAqC,EAAE,EAAE;AAC5G;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB,kBAAiB;AACjB,cAAa;AACb;AACA;AACA,8CAA6C,sBAAsB;AACnE;AACA;AACA;AACA;AACA,8CAA6C,sBAAsB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA,iDAAgD,qEAAqE,EAAE;AACvH;AACA;AACA;AACA;AACA,8EAA6E,sCAAsC,EAAE;AACrH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,mBAAmB;AAChC;AACA;AACA;AACA,cAAa,kBAAkB;AAC/B;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,wEAAuE,gBAAgB;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAmD,oBAAoB,8BAA8B,cAAc,EAAE,EAAE,EAAE,EAAE;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,iCAAiC,EAAE;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAmD,+BAA+B,EAAE;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAsE,iCAAiC,EAAE;AACzG;AACA,2EAA0E,kCAAkC,EAAE;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAuE,4BAA4B,EAAE;AACrG;AACA;AACA,+BAA8B,iCAAiC,EAAE;AACjE;AACA;AACA,UAAS;AACT;AACA,+BAA8B,6BAA6B,EAAE;AAC7D;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,cAAa,mBAAmB;AAChC;AACA;AACA;AACA,cAAa,gBAAgB;AAC7B,cAAa,iBAAiB;AAC9B,cAAa,kBAAkB;AAC/B,cAAa,sBAAsB;AACnC,cAAa,kCAAkC;AAC/C,cAAa,+BAA+B;AAC5C,cAAa,0CAA0C,iBAAiB,IAAI;AAC5E,cAAa,kCAAkC,iBAAiB,IAAI;AACpE;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA,6DAA4D,sBAAsB;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,yBAAyB,EAAE;AACzD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAAyD,uCAAuC;AAChG;AACA,4CAA2C,oCAAoC;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,aAAa,EAAE;AAC7C;AACA;AACA,UAAS;AACT;AACA,+BAA8B,aAAa,EAAE;AAC7C;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,iEAAgE,mBAAmB,EAAE;AACrF;AACA,qEAAoE,uCAAuC;AAC3G;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iCAAgC,YAAY,MAAM,wBAAwB;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,IAAI;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,sBAAsB,EAAE;AACtD;AACA;AACA,UAAS;AACT;AACA,+BAA8B,6BAA6B,EAAE;AAC7D;AACA;AACA,UAAS;AACT;AACA,+BAA8B,yBAAyB,EAAE;AACzD;AACA;AACA,UAAS;AACT;AACA,+BAA8B,uCAAuC,EAAE;AACvE;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,kDAAiD,8BAA8B;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAqD,2BAA2B;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAmD,8BAA8B;AACjF,iEAAgE,6CAA6C;AAC7G,qDAAoD,iCAAiC;AACrF;AACA;AACA;AACA;AACA,4DAA2D,0BAA0B;AACrF;AACA,qDAAoD,oBAAoB;AACxE;AACA;AACA,+BAA8B,oBAAoB,EAAE;AACpD;AACA;AACA,UAAS;AACT;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAyC,2BAA2B,EAAE;AACtE,wCAAuC,gDAAgD,EAAE;AACzF,wCAAuC,iDAAiD,EAAE;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAyC,gDAAgD,EAAE;AAC3F,2CAA0C,mDAAmD,EAAE;AAC/F;AACA;AACA,cAAa,mBAAmB;AAChC;AACA;AACA;AACA,cAAa,kBAAkB;AAC/B,cAAa,mDAAmD,iBAAiB,IAAI;AACrF;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA0D,YAAY;AACtE;AACA;AACA,SAAQ,0CAA0C;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,aAAa,EAAE;AAC7C;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC;AACrC;AACA;AACA;AACA,+BAA8B,oCAAoC,EAAE;AACpE;AACA;AACA,UAAS;AACT;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,8BAA8B;AACrD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC,uBAAuB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB;AAChB;AACA,4CAA2C,MAAM;AACjD;AACA;AACA;AACA,qBAAoB,kBAAkB;AACtC;AACA,eAAc,kBAAkB;AAChC;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA,eAAc,kBAAkB;AAChC;AACA,gBAAe,MAAM;AACrB;AACA;AACA,4EAA2E,kBAAkB;AAC7F;AACA,yBAAwB,kBAAkB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,mBAAmB,EAAE;AACnD;AACA;AACA,UAAS;AACT;AACA,+BAA8B,iCAAiC,EAAE;AACjE;AACA;AACA,UAAS;AACT;AACA,+BAA8B,2BAA2B,EAAE;AAC3D;AACA;AACA,UAAS;AACT;AACA,+BAA8B,6BAA6B,EAAE;AAC7D;AACA;AACA,UAAS;AACT,wDAAuD,wCAAwC;AAC/F,kDAAiD,mDAAmD;AACpG;AACA;AACA;AACA;AACA,0DAAyD,gCAAgC;AACzF;AACA;AACA;AACA;AACA,6DAA4D,uCAAuC;AACnG,mDAAkD,sBAAsB;AACxE;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,qEAAqE,EAAE;AACrG;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA,+BAA8B,oEAAoE,EAAE;AACpG;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA,+BAA8B,mEAAmE,EAAE;AACnG;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,wBAAwB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,4CAA2C,yBAAyB,EAAE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAS,kDAAkD;AAC3D,UAAS,uDAAuD;AAChE,UAAS,mDAAmD;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,8BAA6B,wDAAwD;AACrF;AACA;AACA;AACA;AACA,8BAA6B,gEAAgE;AAC7F,8BAA6B,gEAAgE;AAC7F,8BAA6B,wCAAwC;AACrE;AACA,sBAAqB,IAAI;AACzB;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC;AACjC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C,0BAA0B,EAAE;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAuD,aAAa,EAAE;AACtE;AACA;AACA;AACA,4DAA2D,0CAA0C,sBAAsB,EAAE,EAAE;AAC/H,iEAAgE,2BAA2B;AAC3F,gEAA+D,0BAA0B;AACzF,kEAAiE,sBAAsB;AACvF;AACA;AACA;AACA;AACA;AACA,yDAAwD,aAAa,EAAE;AACvE;AACA;AACA;AACA,sDAAqD,sBAAsB,EAAE;AAC7E;AACA,6DAA4D,0CAA0C,uBAAuB,EAAE,EAAE;AACjI,+DAA8D,0CAA0C,yBAAyB,EAAE,EAAE;AACrI;AACA;AACA,sDAAqD,wBAAwB,EAAE;AAC/E;AACA;AACA;AACA,sDAAqD,yBAAyB,EAAE;AAChF;AACA,6DAA4D,0CAA0C,uBAAuB,EAAE,EAAE;AACjI;AACA,sDAAqD,uBAAuB,EAAE;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,gDAAgD,EAAE;AAChF,qCAAoC,gDAAgD,EAAE;AACtF;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,0BAA0B,EAAE;AACvE;AACA;AACA;AACA,oDAAmD,aAAa,EAAE;AAClE;AACA;AACA,gEAA+D,2BAA2B;AAC1F,+DAA8D,0BAA0B;AACxF,iEAAgE,sBAAsB;AACtF,2DAA0D;AAC1D;AACA;AACA,yDAAwD,aAAa,EAAE;AACvE;AACA;AACA;AACA;AACA,4DAA2D;AAC3D,8DAA6D;AAC7D,6DAA4D,kBAAkB;AAC9E,8DAA6D;AAC7D,4DAA2D;AAC3D,qFAAoF;AACpF,kEAAiE,UAAU;AAC3E;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAqD,6BAA6B,EAAE;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C,0BAA0B,EAAE;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,4BAA4B,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAuD,aAAa,EAAE;AACtE;AACA;AACA;AACA,+DAA8D,0CAA0C,sBAAsB,EAAE,EAAE;AAClI,oEAAmE,2BAA2B;AAC9F,mEAAkE,0BAA0B;AAC5F,qEAAoE,sBAAsB;AAC1F;AACA;AACA;AACA;AACA;AACA,yDAAwD,aAAa,EAAE;AACvE;AACA;AACA;AACA;AACA;AACA,gEAA+D,4BAA4B;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA,gEAA+D,0CAA0C,uBAAuB,EAAE,EAAE;AACpI;AACA;AACA,sDAAqD,wBAAwB,EAAE;AAC/E;AACA;AACA;AACA,sDAAqD,yBAAyB,EAAE;AAChF;AACA,yFAAwF,iCAAiC;AACzH,sEAAqE,uCAAuC;AAC5G;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA4E;AAC5E,2BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,6EAA4E;AAC5E,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,SAAQ,+CAA+C;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,6EAA4E;AAC5E,2BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,6EAA4E;AAC5E,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC,eAAe;AACnD;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,6EAA4E;AAC5E,2BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,gDAAgD,EAAE;AAChF;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA,6EAA4E;AAC5E,2BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,oBAAoB,EAAE;AACpD;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA,6EAA4E;AAC5E,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,oBAAoB,EAAE;AACpD;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,SAAQ;AACR,aAAY;AACZ;AACA;AACA;AACA;AACA,qBAAoB,qCAAqC,GAAG,kBAAkB,MAAM;AACpF,mBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAAyE,kBAAkB,KAAK;AAChG,4BAA2B;AAC3B;AACA;AACA,yEAAwE;AACxE,uEAAsE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,oBAAoB;AAC/C;AACA,iBAAgB,qBAAqB;AACrC,iBAAgB,oBAAoB;AACpC;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,iCAAgC,eAAe;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA,0DAAyD,wBAAwB,OAAO;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,kBAAkB,KAAK,sBAAsB;AACxD;AACA,wDAAuD,0BAA0B;AACjF,SAAQ,iDAAiD;AACzD;AACA;AACA;AACA;AACA,yBAAwB,sBAAsB;AAC9C,yBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR,aAAY;AACZ;AACA;AACA,mEAAkE,4BAA4B;AAC9F;AACA,6DAA4D,kBAAkB,OAAO;AACrF;AACA;AACA;AACA;AACA;AACA,4BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA,YAAW,kBAAkB,KAAK,sBAAsB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB,aAAa;AAC7B,yBAAwB,aAAa;AACrC;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR,aAAY;AACZ;AACA;AACA,qBAAoB,6BAA6B,aAAa,kCAAkC;AAChG,+BAA8B,sBAAsB,MAAM,0BAA0B;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc,mCAAmC;AACjD;AACA;AACA,eAAc,wBAAwB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8FAA6F;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA,eAAc,YAAY;AAC1B,6BAA4B,cAAc;AAC1C;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA,iEAAgE;AAChE;AACA,gBAAe,sBAAsB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,yBAAyB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,YAAY;AACxC;AACA;AACA,+BAA8B,YAAY;AAC1C,sCAAqC,cAAc;AACnD;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR,aAAY;AACZ;AACA,+CAA8C,kBAAkB;AAChE;AACA;AACA;AACA;AACA,iFAAgF;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB,oCAAoC;AACpD,iBAAgB,uCAAuC;AACvD,iBAAgB,yCAAyC;AACzD,iBAAgB,sCAAsC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB,yBAAyB;AACzC,iBAAgB,0BAA0B;AAC1C,iBAAgB,4BAA4B;AAC5C,iBAAgB,2BAA2B;AAC3C;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR,aAAY;AACZ;AACA,mCAAkC,2CAA2C;AAC7E;AACA;AACA;AACA;AACA;AACA,oDAAmD,gCAAgC;AACnF;AACA,+DAA8D,6BAA6B;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,sBAAsB;AAClD,8BAA6B,qBAAqB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB,aAAa;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB,aAAa;AAC7B,8BAA6B,aAAa;AAC1C;AACA;AACA,8BAA6B,aAAa;AAC1C;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR,aAAY;AACZ;AACA,qEAAoE,kBAAkB,MAAM;AAC5F;AACA;AACA;AACA;AACA,SAAQ,qDAAqD;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAgF,kBAAkB;AAClG,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,oCAAmC,kBAAkB;AACrD;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,gEAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,yBAAyB,EAAE;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,UAAS;AACT;AACA;AACA,sDAAqD,uDAAuD,EAAE;AAC9G;AACA;AACA;AACA;AACA,yDAAwD,iCAAiC,EAAE;AAC3F,UAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA4E,mDAAmD;AAC/H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C,6CAA6C,EAAE;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAA+D,wDAAwD,EAAE;AACzH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,mDAAkD,8CAA8C,EAAE;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA0E,0CAA0C;AACpH;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA,+BAA8B,2BAA2B,EAAE;AAC3D;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA,+BAA8B,6CAA6C,EAAE;AAC7E;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,oCAAoC,EAAE;AACpE;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA0D,cAAc,EAAE;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAgE,yBAAyB;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,oCAAoC;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,uDAAuD,EAAE;AACvF;AACA;AACA,UAAS;AACT;AACA,kDAAiD,6BAA6B;AAC9E;AACA,mGAAkG,yBAAyB,EAAE;AAC7H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAsD,qEAAqE;AAC3H;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,yCAAwC,sEAAsE,EAAE;AAChH;AACA;AACA;AACA;AACA,gCAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA0E,aAAa;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,qBAAqB;AAChD;AACA;AACA;AACA,4BAA2B,qBAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,6BAA6B;AACxD;AACA;AACA,4BAA2B,+BAA+B;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,yDAAyD,EAAE;AACtG;AACA;AACA;AACA;AACA;AACA,0DAAyD;AACzD;AACA;AACA;AACA,yDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,gDAAgD,EAAE;AAC7F;AACA;AACA;AACA,+BAA8B,iBAAiB,EAAE;AACjD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA,+BAA8B,kEAAkE,EAAE;AAClG;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,qEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,iCAAiC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,8BAA8B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA,kFAAiF,mCAAmC;AACpH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAAyD,8CAA8C;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAwD,WAAW;AACnE,qEAAoE,uCAAuC;AAC3G;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA0D,kCAAkC;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA0D,QAAQ;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;;;;;;;AC19SD;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,oC;;;;;;AC/JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,SAAS;AACxB,iBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,yBAAyB;AACxC;AACA,gBAAe,SAAS;AACxB;AACA,gBAAe,SAAS;AACxB,iBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,SAAS;AACxB,gBAAe,mBAAmB;AAClC,iBAAgB,QAAQ;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,SAAS;AACxB,iBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,uC;;;;;;AC3IA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iC;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yC;;;;;;AClBA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,eAAe;AAClC,KAAI,mBAAmB,mBAAmB,eAAe;AACzD,gCAA+B,iBAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,kCAAkC;AACjD;AACA,gBAAe,wBAAwB;AACvC;AACA,gBAAe,iBAAiB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAuE,aAAa;AACpF;AACA;AACA;AACA,gBAAe,sBAAsB;AACrC,gBAAe,wBAAwB;AACvC;AACA,gBAAe,iBAAiB;AAChC;AACA,iBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,eAAe;AAC3B;AACA;AACA,gBAAe,EAAE;AACjB,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,eAAe;AAC3B,0CAAyC,YAAY;AACrD;AACA,gBAAe,IAAI;AACnB,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,eAAe;AAC3B;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,uC;;;;;;ACxPA;AACA;AACA;AACA;AACA;AACA,uC;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,iBAAiB;AAChC;AACA;AACA;AACA;AACA;AACA,mBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,cAAc;AAC7B;AACA,iBAAgB,aAAa;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,aAAa;AAC5B,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,EAAC;AACD;AACA,yC;;;;;;ACxJA;AACA,mDAAkD,0CAA0C,EAAE;AAC9F,oC;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;AClBA;AACA;AACA,wBAAuB,MAAM;AAC7B,wC;;;;;;ACHA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA,wBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2GAA0G,0CAA0C,EAAE;AACtJ;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,gD;;;;;;ACxBA;AACA;AACA;AACA,6BAA4B,EAAE;AAC9B,4BAA2B,WAAW,EAAE;AACxC,4BAA2B;AAC3B;AACA,qC;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA,yC;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uC;;;;;;ACrBA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,oD;;;;;;AC1BA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,gD;;;;;;ACvCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAyC,6DAA6D;AACtG,EAAC,yDAAyD;;AAE1D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA8D,kCAAkC;AAChG,gDAA+C,gBAAgB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,YAAY,EAAE;AAC5C;AACA;AACA,UAAS;AACT,qDAAoD,0CAA0C;AAC9F,iDAAgD,qBAAqB;AACrE,qDAAoD,gCAAgC;AACpF;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,oCAAmC,+BAA+B;AAClE;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,uBAAuB;AACnD;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,6BAA4B,uBAAuB;AACnD;AACA;AACA;AACA,UAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,4BAA4B,EAAE;AAC5D,oCAAmC,6BAA6B,EAAE;AAClE;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAuD,aAAa,EAAE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA,cAAa;AACb;AACA;AACA;AACA,kDAAiD,0BAA0B;AAC3E;AACA;AACA;AACA;AACA;AACA,gEAA+D,2BAA2B;AAC1F,+DAA8D,0BAA0B;AACxF;AACA;AACA;AACA,yDAAwD,aAAa,EAAE;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA2D,uBAAuB;AAClF;AACA;AACA;AACA;AACA,iEAAgE,sBAAsB;AACtF;AACA;AACA;AACA;AACA;AACA,+BAA8B,uBAAuB,EAAE;AACvD;AACA;AACA,UAAS;AACT,mEAAkE,+CAA+C;AACjH,kEAAiE,kDAAkD;AACnH;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kFAAiF;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,wBAAwB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iFAAgF,iCAAiC;AACjH;AACA;AACA;AACA,6EAA4E,aAAa;AACzF;AACA;AACA;AACA,8EAA6E,2DAA2D;AACxI,4EAA2E,uDAAuD;AAClI;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAqE,0CAA0C;AAC/G,sDAAqD,4CAA4C;AACjG,6EAA4E,wBAAwB;AACpG,+EAA8E,kBAAkB;AAChG,wEAAuE,iBAAiB;AACxF,+EAA8E,uCAAuC,QAAQ;AAC7H;AACA,kEAAiE,qDAAqD;AACtH,6DAA4D,2BAA2B;AACvF;AACA;AACA;AACA;AACA,gEAA+D,sDAAsD;AACrH;AACA,+BAA8B,uBAAuB,EAAE;AACvD;AACA;AACA,UAAS;AACT,kEAAiE,yCAAyC;AAC1G;AACA;AACA;AACA,iFAAgF,sCAAsC;AACtH,wEAAuE,2CAA2C;AAClH;AACA;AACA;AACA;AACA,iCAAgC,8CAA8C;AAC9E;AACA,yEAAwE,uBAAuB;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAkE,qBAAqB;AACvF;AACA;AACA;AACA,mEAAkE,qBAAqB;AACvF,iEAAgE,sBAAsB;AACtF,kEAAiE,uBAAuB;AACxF,6DAA4D,kBAAkB;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAgE,sBAAsB;AACtF,kEAAiE,uBAAuB;AACxF,oEAAmE,sBAAsB;AACzF,iEAAgE,sBAAsB;AACtF;AACA;AACA;AACA,4BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wEAAuE,sBAAsB;AAC7F,wEAAuE,sBAAsB;AAC7F,uFAAsF,qCAAqC;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA,yEAAwE,sCAAsC;AAC9G;AACA,yCAAwC,0CAA0C,EAAE;AACpF;AACA,wEAAuE,kDAAkD;AACzH,0EAAyE,sBAAsB;AAC/F,8DAA6D,uBAAuB;AACpF,qEAAoE,wBAAwB;AAC5F,+DAA8D,iBAAiB;AAC/E,sEAAqE,kBAAkB;AACvF,iEAAgE,mBAAmB;AACnF,wEAAuE,oBAAoB;AAC3F,sEAAqE,qCAAqC;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,kCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,kCAAiC,gBAAgB;AACjD;AACA;AACA;AACA,kCAAiC,gBAAgB;AACjD;AACA;AACA;AACA;AACA;AACA,kCAAiC,gBAAgB;AACjD;AACA;AACA;AACA;AACA,uEAAsE,8BAA8B;AACpG,oEAAmE,sBAAsB;AACzF,8DAA6D,gBAAgB;AAC7E,8DAA6D,6BAA6B;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA,qEAAoE,yDAAyD;AAC7H,+EAA8E,kCAAkC;AAChH,kFAAiF,qCAAqC;AACtH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA8E,iCAAiC;AAC/G;AACA,yCAAwC,mBAAmB;AAC3D;AACA;AACA;AACA,mEAAkE,wBAAwB;AAC1F;AACA;AACA;AACA,4BAA2B,oBAAoB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qFAAoF,mCAAmC;AACvH;AACA;AACA;AACA,sFAAqF,oCAAoC;AACzH;AACA;AACA;AACA,wEAAuE,2DAA2D;AAClI;AACA;AACA;AACA,+DAA8D,iBAAiB;AAC/E;AACA;AACA;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA,6DAA4D,uBAAuB;AACnF,qEAAoE,iCAAiC;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAkE,yCAAyC;AAC3G,sEAAqE,4CAA4C;AACjH,sEAAqE,4CAA4C;AACjH;AACA;AACA;AACA,qEAAoE,yCAAyC;AAC7G,sEAAqE,gEAAgE;AACrI,kEAAiE,iCAAiC;AAClG,8DAA6D,gBAAgB;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA8D,uBAAuB;AACrF,gEAA+D,wBAAwB;AACvF;AACA;AACA;AACA;AACA,qEAAoE,oBAAoB;AACxF,iEAAgE,mCAAmC;AACnG;AACA;AACA;AACA;AACA;AACA;AACA,4EAA2E,kCAAkC;AAC7G;AACA,4EAA2E,uCAAuC;AAClH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAmE,aAAa;AAChF,kEAAiE,gDAAgD;AACjH;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAgD,GAAG,gBAAgB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA,SAAQ,eAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,uBAAuB,EAAE;AACvD;AACA;AACA,UAAS;AACT,6EAA4E,+BAA+B;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,gCAAgC,EAAE;AAChE,sCAAqC,mCAAmC,EAAE;AAC1E;AACA;AACA,UAAS;AACT;AACA,+BAA8B,8BAA8B,EAAE;AAC9D;AACA;AACA,UAAS;AACT;AACA,+BAA8B,4BAA4B,EAAE;AAC5D;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAiE,yBAAyB;AAC1F,+DAA8D,sBAAsB;AACpF;AACA,cAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,gBAAgB,EAAE;AAC7D;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD,gBAAgB;AAClE;AACA;AACA;AACA,mDAAkD,gBAAgB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,eAAe;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,wDAAuD,wBAAwB;AAC/E,2DAA0D,wBAAwB;AAClF,+CAA8C,uBAAuB;AACrE;AACA,4BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAwC,gBAAgB;AACxD;AACA;AACA,qDAAoD,gCAAgC;AACpF;AACA;AACA;AACA;AACA,+CAA8C,oBAAoB;AAClE,6DAA4D,8BAA8B;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,iBAAiB;AAC9D,gDAA+C,yBAAyB;AACxE;AACA,oCAAmC,WAAW;AAC9C,kCAAiC,YAAY;AAC7C;AACA;AACA;AACA;AACA;AACA,4BAA2B,cAAc;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,UAAU;AAC5C,iCAAgC,WAAW;AAC3C;AACA;AACA,0DAAyD,+BAA+B;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,qBAAqB;AAClE,4CAA2C,0BAA0B;AACrE;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,qBAAqB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,4BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mDAAkD,iEAAiE;AACnH;AACA;AACA,kDAAiD,wBAAwB;AACzE;AACA;AACA;AACA;AACA;AACA;AACA,gEAA+D,uCAAuC;AACtG,+DAA8D,sCAAsC;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;AACA,iDAAgD,4BAA4B;AAC5E;AACA;AACA;AACA;AACA,yDAAwD,6BAA6B;AACrF;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA0C,0BAA0B,EAAE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAsD,mBAAmB;AACzE;AACA;AACA;AACA,4BAA2B,oBAAoB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,iCAAiC;AAC9C;AACA;AACA;AACA,cAAa,4BAA4B,6DAA6D,IAAI;AAC1G,cAAa,8BAA8B;AAC3C;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,uEAAsE,cAAc;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,0EAAyE;AACzE,gEAA+D,qBAAqB;AACpF;AACA,cAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAwE,kCAAkC;AAC1G;AACA;AACA,0DAAyD,6CAA6C,EAAE;AACxG;AACA;AACA,cAAa,iCAAiC;AAC9C;AACA;AACA;AACA,cAAa,gCAAgC,gDAAgD,IAAI;AACjG;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,iCAAiC;AAC9C;AACA;AACA;AACA,cAAa,gCAAgC,gDAAgD,IAAI;AACjG,cAAa,sBAAsB;AACnC,cAAa,6BAA6B;AAC1C,cAAa,yBAAyB;AACtC;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,yBAAyB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAgF,4CAA4C;AAC5H;AACA,4BAA2B,0BAA0B;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kFAAiF;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAqE,oCAAoC;AACzG;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,gCAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA,gCAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB,mBAAmB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAiD,uCAAuC,EAAE,IAAI;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAmE,aAAa;AAChF;AACA;AACA,sEAAqE,qCAAqC,uBAAuB,EAAE,EAAE;AACrI,0EAAyE,iEAAiE,EAAE;AAC5I;AACA;AACA;AACA;AACA,sEAAqE,qCAAqC,uBAAuB,EAAE,EAAE;AACrI,0EAAyE,iEAAiE,EAAE;AAC5I;AACA;AACA,cAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA,+CAA8C,0BAA0B;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,eAAe;AAChD,mCAAkC,eAAe;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAiD,mBAAmB,EAAE;AACtE;AACA;AACA,qCAAoC,6BAA6B;AACjE,cAAa;AACb;AACA,8EAA6E,oDAAoD;AACjI;AACA,cAAa,iCAAiC;AAC9C;AACA;AACA;AACA,cAAa,0CAA0C,6DAA6D,IAAI;AACxH;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA,kCAAiC,qBAAqB,EAAE;AACxD,sCAAqC,sBAAsB,EAAE;AAC7D,mCAAkC,sBAAsB,EAAE;AAC1D,oCAAmC,uBAAuB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B;AAC9B;AACA;AACA,6BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,kDAAiD,uBAAuB,EAAE;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA8D;AAC9D;AACA,qBAAoB;AACpB;AACA,6BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA,0IAAyI;AACzI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAwD,mCAAmC,EAAE;AAC7F;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA8C,gBAAgB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA,wCAAuC,oBAAoB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wFAAuF,sCAAsC;AAC7H;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB,OAAO;AACxB;AACA;AACA,0CAAyC;AACzC;AACA;AACA;AACA,oFAAmF;AACnF,UAAS;AACT,iEAAgE,uCAAuC,EAAE,EAAE;AAC3G,iCAAgC;AAChC,iCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,wDAAuD,gBAAgB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA,kEAAiE,gBAAgB;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gFAA+E,gCAAgC;AAC/G,iFAAgF,iCAAiC;AACjH,kFAAiF,kCAAkC;AACnH,+EAA8E,+BAA+B;AAC7G;AACA;AACA;AACA;AACA,cAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,2DAA0D,eAAe;AACzE;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,4DAA2D,gBAAgB;AAC3E;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,6DAA4D,iBAAiB;AAC7E;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,0DAAyD,cAAc;AACvE;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,kEAAiE,sBAAsB;AACvF;AACA,MAAK;;AAEL;AACA,UAAS,qFAAqF;AAC9F,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,8DAA8D;AACvE,UAAS,oDAAoD;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,8DAA6D,0EAA0E;AACvI,8BAA6B,qDAAqD;AAClF,8BAA6B,yEAAyE;AACtG,8BAA6B,yEAAyE;AACtG,8BAA6B,8EAA8E;AAC3G,8BAA6B,gEAAgE;AAC7F,8BAA6B,uDAAuD;AACpF,8BAA6B,oEAAoE;AACjG,8BAA6B,8DAA8D;AAC3F,8BAA6B,uEAAuE;AACpG;AACA;AACA;AACA,sBAAqB,IAAI;AACzB;AACA;AACA;AACA,cAAa,oCAAoC,+BAA+B,GAAG,+BAA+B,IAAI;AACtH;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA4C,aAAa;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iCAAgC,mBAAmB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA,+BAA8B,iCAAiC,aAAa,GAAG;AAC/E;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA,6CAA4C,yDAAyD;AACrG;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;;;;;;;AC7xFD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAyC,2CAA2C;AACpF,EAAC,yCAAyC;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ,eAAe;AACvB;AACA;AACA;AACA;AACA;AACA,+EAA8E;AAC9E,gCAA+B;AAC/B,8DAA6D,gCAAgC;AAC7F;AACA,iFAAgF;AAChF;AACA;AACA;AACA,SAAQ,uBAAuB,yBAAyB,eAAe;AACvE;AACA,aAAY,aAAa,sEAAsE;AAC/F,eAAc;AACd,SAAQ,eAAe,IAAI,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,aAAa,EAAE;AAC7C;AACA;AACA,UAAS;AACT;AACA,+BAA8B,aAAa,EAAE;AAC7C;AACA;AACA,UAAS;AACT;AACA,+BAA8B,aAAa,EAAE;AAC7C;AACA;AACA,UAAS;AACT;AACA,MAAK;;AAEL;AACA;AACA;AACA,SAAQ,2BAA2B,MAAM,2BAA2B;AACpE;AACA,4CAA2C,eAAe;AAC1D;AACA,qCAAoC,aAAa,KAAK,eAAe;AACrE;AACA;AACA,uBAAsB,2BAA2B;AACjD,wCAAuC,2BAA2B;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,SAAQ,2BAA2B;AACnC;AACA,yBAAwB,2BAA2B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,oBAAoB;AACnC,gBAAe,cAAc;AAC7B;AACA;AACA,uBAAsB,4CAA4C;AAClE,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA8D,kCAAkC;AAChG,gDAA+C,gBAAgB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,YAAY,EAAE;AAC5C;AACA;AACA,UAAS;AACT,qDAAoD,0CAA0C;AAC9F,iDAAgD,qBAAqB;AACrE,qDAAoD,gCAAgC;AACpF;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,8BAA8B;AACjE;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,iBAAiB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA2B,uBAAuB;AAClD;AACA;AACA,kCAAiC,sBAAsB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,UAAU;AACzB,gBAAe,SAAS;AACxB;AACA,oBAAmB,0BAA0B;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAyC,qBAAqB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,YAAY;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,YAAY;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,YAAY;AAC/C;AACA;AACA;AACA;AACA;AACA,mDAAkD,kCAAkC;AACpF;AACA;AACA;AACA,gDAA+C,+BAA+B;AAC9E;AACA;AACA;AACA;AACA,sCAAqC,gBAAgB;AACrD,uCAAsC,iBAAiB;AACvD,6CAA4C,mDAAmD;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,iCAAiC;AAC9C;AACA;AACA;AACA,cAAa,0BAA0B;AACvC;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA,qCAAoC,uBAAuB;AAC3D,SAAQ,eAAe;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,oBAAoB;AACnC;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,uBAAsB,0DAA0D;AAChF,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAkE,uBAAuB;AACzF;AACA,0CAAyC,qBAAqB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA8D,kCAAkC;AAChG,4DAA2D,+BAA+B;AAC1F;AACA,cAAa,iCAAiC;AAC9C;AACA;AACA;AACA,cAAa,0BAA0B;AACvC,cAAa,gCAAgC,+BAA+B,GAAG,qDAAqD,IAAI;AACxI;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA,qCAAoC,uBAAuB;AAC3D,SAAQ,eAAe;AACvB;AACA;AACA;AACA,2DAA0D;AAC1D,qBAAoB,uBAAuB;AAC3C;AACA,oEAAmE;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAkE,uBAAuB;AACzF;AACA;AACA;AACA;AACA,0CAAyC,qBAAqB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA8D,kCAAkC;AAChG,4DAA2D,+BAA+B;AAC1F;AACA,cAAa,iCAAiC;AAC9C;AACA;AACA;AACA,cAAa,0BAA0B;AACvC,cAAa,gCAAgC,+BAA+B,GAAG,qDAAqD,IAAI;AACxI;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,iCAAiC;AAC9C;AACA;AACA;AACA,cAAa,gCAAgC,+DAA+D,IAAI;AAChH;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK,wBAAwB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,gBAAgB,EAAE;AAC7D;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,wDAAuD,wBAAwB;AAC/E,2DAA0D,wBAAwB;AAClF,+CAA8C,uBAAuB;AACrE;AACA,4BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAwC,gBAAgB;AACxD;AACA;AACA,qDAAoD,gCAAgC;AACpF;AACA;AACA;AACA;AACA,+CAA8C,oBAAoB;AAClE,6DAA4D,8BAA8B;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,iBAAiB;AAC9D,gDAA+C,yBAAyB;AACxE;AACA,oCAAmC,WAAW;AAC9C,kCAAiC,YAAY;AAC7C;AACA;AACA;AACA;AACA;AACA,4BAA2B,cAAc;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,UAAU;AAC5C,iCAAgC,WAAW;AAC3C;AACA;AACA,0DAAyD,+BAA+B;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,qBAAqB;AAClE,4CAA2C,0BAA0B;AACrE;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,qBAAqB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,4BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA4C;AAC5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,8CAA8C;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAwD,4DAA4D,EAAE;AACtH,2DAA0D,4DAA4D,EAAE;AACxH;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,yDAAwD,8CAA8C,EAAE;AACxG,2DAA0D,+CAA+C,EAAE;AAC3G;AACA;AACA;AACA,4DAA2D,8CAA8C,EAAE;AAC3G;AACA;AACA;AACA;AACA;AACA,2DAA0D,8CAA8C,EAAE;AAC1G;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA8D,4EAA4E,EAAE;AAC5I;AACA;AACA;AACA,cAAa,wCAAwC,wBAAwB,IAAI;AACjF;AACA;AACA;AACA,cAAa,uCAAuC;AACpD,cAAa,uCAAuC;AACpD,cAAa,kCAAkC;AAC/C,cAAa,gCAAgC;AAC7C;AACA;AACA,wBAAuB,8CAA8C;AACrE,0BAAyB,4BAA4B;AACrD;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,yBAAyB,EAAE;AACzD;AACA;AACA,UAAS;AACT;AACA,+BAA8B,sCAAsC,EAAE;AACtE;AACA;AACA,UAAS;AACT;AACA,+BAA8B,6BAA6B,EAAE;AAC7D;AACA;AACA,UAAS;AACT;AACA,+BAA8B,mBAAmB,EAAE;AACnD;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAwC,eAAe;AACvD,iDAAgD,eAAe;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,4BAA2B,yBAAyB;AACpD;AACA;AACA,+DAA8D,UAAU;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA,cAAa,wCAAwC,+BAA+B,IAAI;AACxF;AACA;AACA;AACA,cAAa,wCAAwC;AACrD,cAAa,mCAAmC;AAChD,cAAa,uCAAuC;AACpD,cAAa,yCAAyC;AACtD;AACA;AACA,0BAAyB,4BAA4B;AACrD,+BAA8B,4BAA4B;AAC1D,gCAA+B,4BAA4B;AAC3D;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA,oEAAmE,WAAW;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA,cAAa,wCAAwC,qBAAqB,IAAI;AAC9E;AACA;AACA;AACA,cAAa,wCAAwC;AACrD,cAAa,mCAAmC;AAChD;AACA;AACA,uBAAsB,4BAA4B;AAClD;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,oDAAmD,8DAA8D;AACjH,qDAAoD,gCAAgC;AACpF;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,6BAA6B;AACxD;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,wCAAwC,yBAAyB,IAAI;AAClF;AACA;AACA;AACA;AACA,2BAA0B,4BAA4B;AACtD;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,+EAA8E,eAAe;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,eAAe;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA,cAAa,wCAAwC,6BAA6B,IAAI;AACtF;AACA;AACA;AACA,cAAa,wCAAwC;AACrD,cAAa,mCAAmC;AAChD,cAAa,+BAA+B,2BAA2B,IAAI;AAC3E;AACA;AACA,+BAA8B,4BAA4B;AAC1D;AACA;AACA,MAAK;AACL;AACA;AACA,gEAA+D,eAAe;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,eAAe;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,wCAAwC,gCAAgC,IAAI;AACzF;AACA;AACA;AACA,cAAa,wCAAwC;AACrD,cAAa,mCAAmC;AAChD,cAAa,+BAA+B,2BAA2B,IAAI;AAC3E;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT,oEAAmE,qCAAqC;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,wCAAwC,yBAAyB,IAAI;AAClF;AACA;AACA;AACA,cAAa,wBAAwB;AACrC;AACA;AACA,2BAA0B,4BAA4B;AACtD;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,+EAA8E,eAAe;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,eAAe;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,wCAAwC,6BAA6B,IAAI;AACtF;AACA;AACA;AACA,cAAa,gCAAgC,yDAAyD,IAAI;AAC1G,cAAa,mCAAmC;AAChD,cAAa,wCAAwC;AACrD,cAAa,+BAA+B,2BAA2B,IAAI;AAC3E;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,uBAAuB;AACxD;AACA,kCAAiC,yBAAyB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA0D,0CAA0C,EAAE;AACtG,yDAAwD,yDAAyD,EAAE;AACnH,2DAA0D,yDAAyD,EAAE;AACrH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,wCAAwC,wBAAwB,IAAI;AACjF;AACA;AACA;AACA,cAAa,uCAAuC;AACpD,cAAa,kCAAkC;AAC/C,cAAa,gCAAgC;AAC7C;AACA;AACA,0BAAyB,4BAA4B;AACrD;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,yBAAyB,EAAE;AAChE;AACA;AACA,UAAS;AACT;AACA,0CAAyC,iCAAiC,EAAE;AAC5E;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,wCAAwC,iCAAiC,IAAI;AAC1F;AACA;AACA;AACA,cAAa,wCAAwC;AACrD;AACA;AACA,kCAAiC,4BAA4B;AAC7D,mCAAkC,4BAA4B;AAC9D;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,kCAAkC,EAAE;AAClE,sCAAqC,qCAAqC,EAAE;AAC5E;AACA;AACA,UAAS;AACT;AACA,+BAA8B,+BAA+B,EAAE;AAC/D;AACA;AACA,UAAS;AACT;AACA,+BAA8B,gCAAgC,EAAE;AAChE,oCAAmC,iCAAiC,EAAE;AACtE;AACA;AACA,UAAS;AACT,qDAAoD,qCAAqC;AACzF;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA,qCAAoC,+CAA+C,SAAS,EAAE,EAAE;AAChG;AACA,yEAAwE,4BAA4B;AACpG,2EAA0E,4BAA4B;AACtG;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,gEAA+D,SAAS,EAAE;AAC1E;AACA,sEAAqE;AACrE,wEAAuE;AACvE;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2FAA0F,6CAA6C,EAAE;AACzI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,mCAAmC,6BAA6B,IAAI;AACjF;AACA;AACA;AACA,cAAa,yCAAyC;AACtD;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK,8CAA8C;AACnD;AACA;AACA;AACA;AACA,wCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC;AACpC;AACA,oCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,+BAA+B,EAAE;AAC5E;AACA;AACA;AACA,yCAAwC,0CAA0C;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,kBAAkB;AAC/B,cAAa,2BAA2B;AACxC,cAAa,8BAA8B;AAC3C,cAAa,yBAAyB;AACtC;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,wBAAwB;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,mCAAmC,2BAA2B,IAAI;AAC/E;AACA;AACA;AACA,cAAa,gCAAgC,+DAA+D,IAAI;AAChH;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,mCAAmC,iCAAiC,IAAI;AACrF;AACA;AACA;AACA,cAAa,wBAAwB;AACrC;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,mCAAmC,iCAAiC,IAAI;AACrF;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,0DAAyD,8BAA8B;AACvF;AACA,cAAa,mCAAmC,4BAA4B,IAAI;AAChF;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,mCAAmC,oBAAoB,IAAI;AACxE;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,mCAAkC,iBAAiB;AACnD,2CAA0C,0BAA0B;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB,iBAAiB,EAAE,kBAAkB,EAAE,kBAAkB;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAwC,gCAAgC;AACxE;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC,eAAe;AACnD;AACA;AACA;AACA,cAAa,mCAAmC,iBAAiB,IAAI;AACrE;AACA;AACA;AACA,cAAa,gCAAgC,+DAA+D,IAAI;AAChH;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA0B,kBAAkB;AAC5C;AACA;AACA,yCAAwC,gCAAgC;AACxE;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC,eAAe;AACnD;AACA;AACA;AACA,cAAa,mCAAmC,kBAAkB,IAAI;AACtE;AACA;AACA;AACA,cAAa,gCAAgC,+DAA+D,IAAI;AAChH;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA0B,kBAAkB;AAC5C;AACA;AACA,yCAAwC,gCAAgC;AACxE;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA0C,sBAAsB;AAChE,4CAA2C,uBAAuB;AAClE,qCAAoC,eAAe;AACnD;AACA;AACA;AACA,cAAa,mCAAmC,mBAAmB,IAAI;AACvE;AACA;AACA;AACA,cAAa,gCAAgC,+DAA+D,IAAI;AAChH;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAuD,sDAAsD;AAC7G;AACA,cAAa,mCAAmC,6BAA6B,IAAI;AACjF;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,mCAAmC,oBAAoB,IAAI;AACxE;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wEAAuE,WAAW,GAAG,YAAY;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,8BAA6B,0DAA0D;AACvF;AACA,sBAAqB,IAAI;AACzB;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;;;;;;;;;;;;;;;;;ACljGD,kCAA6C,GAAe,CAAC;AAC7D,mCAA4B,GAAgB,CAAC;AAC7C,8CAA8B,GAA2B,CAAC;AAE1D,qCAA8B,GAAe,CAAC;AAC9C,mCAA4B,GAAa,CAAC;AAC1C,4CAAoC,GAAsB,CAAC;AAC3D,+CAAqD,GAAyB,CAAC;AAE/E,yCAA8B,GAAyB,CAAC;AACxD,yCAA8B,GAAyB,CAAC;AAExD,oCAA+B,GAAqB,CAAC;AACrD,oCAA2E,GAAqB,CAAC;AACjG,oCAAgC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CA;AACA,UAAS;AACT,qDAAoD,0CAA0C;AAC9F,iDAAgD,qBAAqB;AACrE,qDAAoD,gCAAgC;AACpF;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,kCAAkC,EAAE;AAClE;AACA;AACA,UAAS;AACT;AACA,+BAA8B,4DAA4D,EAAE;AAC5F;AACA;AACA,UAAS;AACT;AACA,+BAA8B,4DAA4D,EAAE;AAC5F;AACA;AACA,UAAS;AACT;AACA,+BAA8B,8DAA8D,EAAE;AAC9F;AACA;AACA,UAAS;AACT;AACA,+BAA8B,8DAA8D,EAAE;AAC9F;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA,+BAA8B,+DAA+D,EAAE;AAC/F;AACA;AACA,UAAS;AACT;AACA,+BAA8B,4DAA4D,EAAE;AAC5F;AACA;AACA,UAAS;AACT;AACA,+BAA8B,8DAA8D,EAAE;AAC9F;AACA;AACA,UAAS;AACT;AACA,+BAA8B,gEAAgE,EAAE;AAChG;AACA;AACA,UAAS;AACT;AACA,+BAA8B,+DAA+D,EAAE;AAC/F;AACA;AACA,UAAS;AACT;AACA,+BAA8B,8DAA8D,EAAE;AAC9F;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA,+BAA8B,aAAa,EAAE;AAC7C;AACA;AACA,UAAS;AACT;AACA,oCAAmC,mBAAmB;AACtD;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA,4CAA2C,gBAAgB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,aAAa,EAAE;AAC7C;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,+BAA8B,aAAa,EAAE;AAC7C;AACA;AACA,UAAS;AACT;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA,4DAA2D,uBAAuB;AAClF;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,gBAAgB,EAAE;AAC7D;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,iBAAiB,EAAE;AAC1D;AACA;AACA,wDAAuD,kCAAkC;AACzF,6CAA4C,UAAU;AACtD,yCAAwC,gCAAgC;AACxE,2CAA0C,+BAA+B;AACzE;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD,gBAAgB;AAClE;AACA;AACA;AACA,mDAAkD,gBAAgB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,eAAe;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,wDAAuD,wBAAwB;AAC/E,2DAA0D,wBAAwB;AAClF,+CAA8C,uBAAuB;AACrE;AACA,4BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAwC,gBAAgB;AACxD;AACA;AACA,qDAAoD,gCAAgC;AACpF;AACA;AACA;AACA;AACA,+CAA8C,oBAAoB;AAClE,6DAA4D,8BAA8B;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,iBAAiB;AAC9D,gDAA+C,yBAAyB;AACxE;AACA,oCAAmC,WAAW;AAC9C,kCAAiC,YAAY;AAC7C;AACA;AACA;AACA;AACA;AACA,4BAA2B,cAAc;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,UAAU;AAC5C,iCAAgC,WAAW;AAC3C;AACA;AACA,0DAAyD,+BAA+B;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,qBAAqB;AAClE,4CAA2C,0BAA0B;AACrE;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,qBAAqB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,4BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iDAAgD,kBAAkB;AAClE;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,8DAA6D,kBAAkB;AAC/E;AACA;AACA;AACA;AACA,aAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAmD,kBAAkB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAuD,mBAAmB;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC;AACA;AACA;AACA,sBAAqB,eAAe,sDAAsD,EAAE;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,eAAe,sDAAsD,EAAE;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA,sBAAqB,aAAa,+DAA+D;AACjG;AACA;AACA;AACA;AACA;AACA,kDAAiD,aAAa;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,6CAA4C,mBAAmB,EAAE;AACjE;AACA;AACA,6CAA4C,mBAAmB,EAAE;AACjE;AACA;AACA;AACA;AACA,UAAS,IAAI;AACb;AACA;;AAEA;AACA,2BAA0B,2BAA2B;AACrD;AACA,aAAY,2BAA2B;AACvC;AACA;AACA;;AAEA;AACA;AACA,4DAA2D,qCAAqC,EAAE;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA0C;AAC1C,2CAA0C;AAC1C;AACA;AACA;AACA;AACA,kFAAiF,oBAAoB;AACrG,mFAAkF,qBAAqB;AACvG;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,gCAA+B,yEAAyE;AACxG;AACA,sBAAqB,IAAI;AACzB;AACA;AACA;AACA,cAAa,gCAAgC;AAC7C,cAAa,kCAAkC;AAC/C;AACA;AACA,MAAK;;AAEL;AACA;AACA,4DAA2D,6BAA6B,EAAE;AAC1F;AACA;AACA;AACA;AACA,SAAQ,cAAc,GAAG,2BAA2B,OAAO,sBAAsB;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA0C;AAC1C,2CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA,0EAAyE,oBAAoB;AAC7F,2EAA0E,qBAAqB;AAC/F;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA,gCAA+B,sEAAsE;AACrG;AACA,sBAAqB,IAAI;AACzB;AACA;AACA;AACA,cAAa,gCAAgC;AAC7C,cAAa,kCAAkC;AAC/C;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,8BAA8B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,8BAA8B;AAC/D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4DAA2D,4BAA4B,EAAE;AACzF;AACA;AACA;AACA;AACA,SAAQ,cAAc,GAAG,2BAA2B,OAAO,sBAAsB;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA0C;AAC1C,2CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA8C,4CAA4C;AAC1F;AACA,0EAAyE,qBAAqB;AAC9F;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA,0BAAyB;AACzB;AACA,sBAAqB,IAAI;AACzB;AACA;AACA;AACA,cAAa,gCAAgC;AAC7C,cAAa,kCAAkC;AAC/C;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA,MAAK;;AAEL;AACA;AACA,4DAA2D,kCAAkC,EAAE;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,4BAA4B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,iBAAgB,cAAc,GAAG,2BAA2B,OAAO;AACnE,0CAAyC,kBAAkB;AAC3D;AACA;AACA;AACA,kCAAiC,kBAAkB,SAAS,0BAA0B;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAyC;AACzC,2CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,wEAAuE,6BAA6B;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA4E,wBAAwB;AACpG,gFAA+E,qBAAqB;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,gCAA+B,oDAAoD;AACnF;AACA,sBAAqB,IAAI;AACzB;AACA;AACA;AACA,cAAa,gCAAgC;AAC7C,cAAa,kCAAkC;AAC/C,cAAa,8BAA8B;AAC3C,cAAa,gCAAgC;AAC7C;AACA;AACA,uBAAsB,4BAA4B;AAClD,kCAAiC,4BAA4B;AAC7D,wBAAuB,4BAA4B;AACnD;AACA;AACA,MAAK;;AAEL;AACA;AACA,4DAA2D,mCAAmC,EAAE;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB,cAAc,GAAG,2BAA2B,OAAO;AACnE,0CAAyC,kBAAkB;AAC3D;AACA;AACA;AACA,kCAAiC,kBAAkB,SAAS,0BAA0B;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA0C;AAC1C,2CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAgF,qBAAqB;AACrG;AACA;AACA;AACA;AACA,6EAA4E,uCAAuC;AACnH;AACA;AACA,oEAAmE,gBAAgB;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,gCAA+B,uEAAuE;AACtG;AACA,sBAAqB,IAAI;AACzB;AACA;AACA;AACA,cAAa,gCAAgC;AAC7C,cAAa,kCAAkC;AAC/C;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,sBAAqB,iCAAiC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,wCAAwC,qBAAqB,IAAI;AAC9E;AACA;AACA;AACA,cAAa,kCAAkC;AAC/C,cAAa,gCAAgC;AAC7C,cAAa,iDAAiD,+BAA+B,GAAG,2BAA2B,IAAI;AAC/H;AACA;AACA,0BAAyB,gDAAgD;AACzE,wBAAuB,8CAA8C;AACrE;AACA;AACA,MAAK;;AAEL;AACA;AACA,4DAA2D,2CAA2C,EAAE;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA0C;AAC1C,2CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C,8BAA8B,EAAE;AAC/E,wDAAuD,kDAAkD,EAAE;AAC3G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,oBAAoB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,oBAAoB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yFAAwF,qBAAqB;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAmE,gBAAgB;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,gCAA+B,iEAAiE;AAChG;AACA,sBAAqB,IAAI;AACzB;AACA;AACA;AACA,cAAa,gCAAgC;AAC7C,cAAa,kCAAkC;AAC/C;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,wCAAwC,qBAAqB,IAAI;AAC9E;AACA;AACA;AACA,cAAa,kCAAkC;AAC/C,cAAa,gCAAgC;AAC7C,cAAa,yDAAyD,+BAA+B,GAAG,2BAA2B,IAAI;AACvI;AACA;AACA,0BAAyB,gDAAgD;AACzE,wBAAuB,8CAA8C;AACrE;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAwC,+BAA+B;AACvE,UAAS;AACT;AACA,0DAAyD,gCAAgC,EAAE;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,qEAAoE,gDAAgD,EAAE;AACtH;AACA;AACA;AACA;AACA,kEAAiE,yCAAyC,EAAE;AAC5G,UAAS;AACT;AACA;AACA,kEAAiE,yCAAyC,EAAE;AAC5G,UAAS;AACT;AACA;AACA,yDAAwD,6BAA6B,EAAE;AACvF,0DAAyD,6BAA6B,EAAE;AACxF,0DAAyD,kDAAkD,EAAE;AAC7G,+DAA8D,kDAAkD,EAAE;AAClH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA,sDAAqD,mBAAmB,MAAM,oBAAoB;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAwB,gBAAgB;AACxC;AACA,+BAA8B,8CAA8C,EAAE;AAC9E;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,+BAA8B,6CAA6C,EAAE;AAC7E;AACA;AACA,UAAS;AACT;AACA;AACA,yBAAwB,WAAW;AACnC;AACA,+BAA8B,yDAAyD,EAAE;AACzF;AACA;AACA,UAAS;AACT;AACA,+BAA8B,4CAA4C,EAAE;AAC5E;AACA;AACA,UAAS;AACT;AACA,+BAA8B,sDAAsD,EAAE;AACtF;AACA;AACA,UAAS;AACT;AACA,8EAA6E;AAC7E;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,wCAAwC,mFAAmF,IAAI;AAC5I;AACA;AACA;AACA,cAAa,gCAAgC,2BAA2B,IAAI;AAC5E;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,sBAAqB,IAAI;AACzB;AACA;AACA;AACA,cAAa,uCAAuC,2BAA2B,IAAI;AACnF;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,iBAAiB;AACtD;AACA;AACA;AACA,yDAAwD,yCAAyC;AACjG;AACA;AACA,2CAA0C,aAAa;AACvD,2CAA0C,aAAa;AACvD;AACA;AACA,6CAA4C,oCAAoC,EAAE;AAClF,kBAAiB,qBAAqB,6BAA6B;AACnE;AACA,gEAA+D,yBAAyB,mCAAmC,EAAE,EAAE,EAAE;AACjI,yCAAwC,4BAA4B;AACpE;AACA;AACA,gEAA+D,yBAAyB,mCAAmC,EAAE,EAAE,EAAE;AACjI,sCAAqC,4BAA4B;AACjE;AACA;AACA;AACA,kEAAiE,yBAAyB,+BAA+B,EAAE,EAAE,EAAE;AAC/H,uCAAsC,wBAAwB;AAC9D;AACA;AACA,0DAAyD,yBAAyB,mBAAmB,EAAE,EAAE,EAAE,mBAAmB,YAAY;AAC1I;AACA;AACA;AACA,uDAAsD,yBAAyB,mBAAmB,EAAE,EAAE,EAAE,gBAAgB,YAAY;AACpI;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C,kBAAkB,GAAG,gBAAgB;AACpF,SAAQ,gBAAgB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,oBAAoB,EAAE;AACpD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,qBAAqB,EAAE;AACrD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,+BAA+B,EAAE;AAC/D;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,iCAAiC,EAAE;AACjE;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,gCAAgC,EAAE;AAChE;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,kCAAkC,EAAE;AAClE;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,kCAAkC,EAAE;AAClE;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,+BAA8B,qBAAqB,EAAE;AACrD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,uBAAuB,EAAE;AACvD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,uBAAuB,EAAE;AACvD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,+BAA8B,sBAAsB,EAAE;AACtD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,+BAA8B,uBAAuB,EAAE;AACvD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,+BAA8B,2BAA2B,EAAE;AAC3D;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,+BAA8B,4BAA4B,EAAE;AAC5D;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAiE,uBAAuB;AACxF;AACA;AACA;AACA,uEAAsE,4BAA4B;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA8C;AAC9C;AACA;AACA;AACA,6CAA4C,qBAAqB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA8C;AAC9C;AACA,oDAAmD,0BAA0B,iBAAiB,EAAE,EAAE;AAClG;AACA,8CAA6C,qBAAqB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA8C;AAC9C;AACA;AACA;AACA,2CAA0C,qBAAqB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA8C;AAC9C;AACA,oDAAmD,yBAAyB,iBAAiB,EAAE,EAAE;AACjG;AACA,+CAA8C,qBAAqB;AACnE;AACA;AACA;AACA;AACA;AACA;AACA,+CAA8C;AAC9C;AACA;AACA;AACA,6CAA4C,qBAAqB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC;AACvC;AACA;AACA;AACA,oDAAmD,kBAAkB,iBAAiB,EAAE,EAAE;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA,iEAAgE,uBAAuB,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC;AACvC;AACA,oDAAmD,iBAAiB,iBAAiB,EAAE,EAAE;AACzF,0CAAyC,uCAAuC;AAChF;AACA,iEAAgE,wBAAwB,EAAE;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kEAAiE,uBAAuB;AACxF;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAqD,2CAA2C;AAChG;AACA;AACA;AACA;AACA,+CAA8C,kBAAkB;AAChE,iDAAgD,kCAAkC,uBAAuB,EAAE,EAAE;AAC7G,0CAAyC,uCAAuC;AAChF;AACA,oEAAmE,+DAA+D;AAClI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAmE,uBAAuB,8BAA8B,uBAAuB,EAAE,EAAE,EAAE;AACrJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA,0CAAyC,kBAAkB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C;AAC3C;AACA;AACA;AACA,iDAAgD;AAChD;AACA,0DAAyD,+BAA+B;AACxF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,aAAa;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,aAAa;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAAyD,iCAAiC,EAAE;AAC5F;AACA;AACA;AACA,0DAAyD,sBAAsB,EAAE;AACjF;AACA;AACA;AACA,0DAAyD,wBAAwB,EAAE;AACnF;AACA;AACA;AACA,+CAA8C;AAC9C;AACA;AACA,+CAA8C,qBAAqB;AACnE;AACA;AACA;AACA;AACA,+CAA8C;AAC9C;AACA;AACA,8CAA6C,qBAAqB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gFAA+E,+BAA+B;AAC9G;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,SAAQ,gBAAgB,MAAM,gBAAgB;AAC9C;AACA;AACA;AACA,8BAA6B,kBAAkB;AAC/C;AACA;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA;AACA;AACA,6DAA4D;AAC5D;AACA;AACA;AACA,sCAAqC,6BAA6B;AAClE,gCAA+B;AAC/B,iCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B;AAC/B,iCAAgC;AAChC;AACA;AACA,6BAA4B,sBAAsB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,kBAAkB;AACzD,wCAAuC,kBAAkB;AACzD,6CAA4C,uBAAuB;AACnE;AACA;AACA;AACA;AACA,0CAAyC,mCAAmC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC;AACvC;AACA;AACA;AACA;AACA,6DAA4D,sDAAsD,EAAE;AACpH;AACA,0CAAyC,2CAA2C;AACpF;AACA;AACA;AACA;AACA,uDAAsD,2BAA2B;AACjF,yCAAwC,2BAA2B;AACnE;AACA;AACA;AACA,sCAAqC,cAAc;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA,gCAA+B,+BAA+B;AAC9D;AACA,4CAA2C;AAC3C,6CAA4C;AAC5C;AACA;AACA;AACA,wCAAuC,kBAAkB;AACzD,+CAA8C;AAC9C;AACA,kCAAiC,qBAAqB;AACtD,mCAAkC,qBAAqB;AACvD,yCAAwC,qBAAqB;AAC7D;AACA;AACA;AACA;AACA,2DAA0D;AAC1D;AACA;AACA;AACA,oEAAmE,cAAc;AACjF;AACA;AACA;AACA,mEAAkE,sBAAsB;AACxF;AACA;AACA;AACA,iEAAgE,yBAAyB;AACzF;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA6D;AAC7D;AACA;AACA;AACA,oDAAmD,mCAAmC;AACtF,kCAAiC,mCAAmC;AACpE;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,uEAAsE;AACtE;AACA;AACA,2DAA0D,kBAAkB;AAC5E;AACA;AACA;AACA;AACA;AACA,oBAAmB,kBAAkB,MAAM,gBAAgB;AAC3D;AACA;AACA;AACA,8BAA6B,gBAAgB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA,gCAA+B,OAAO,qBAAqB;AAC3D,iCAAgC;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,wBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,kBAAkB;AACzD,6CAA4C,uBAAuB;AACnE;AACA;AACA;AACA;AACA,0CAAyC,mCAAmC;AAC5E;AACA;AACA;AACA;AACA;AACA,2CAA0C,2BAA2B;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA6E,EAAE;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8EAA6E,EAAE;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA6C,0BAA0B;AACvE;AACA;AACA;AACA;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,qCAAoC,OAAO;AAC3C;AACA,4BAA2B,6BAA6B;AACxD,qCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA,+CAA8C;AAC9C;AACA;AACA;AACA,6DAA4D,iBAAiB;AAC7E,cAAa;AACb,0CAAyC,qBAAqB;AAC9D;AACA;AACA,uCAAsC,gBAAgB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,qCAAoC,OAAO;AAC3C;AACA,8BAA6B,eAAe;AAC5C,qCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA,+CAA8C;AAC9C;AACA;AACA,mEAAkE,iBAAiB;AACnF;AACA,cAAa;AACb,0CAAyC,qBAAqB;AAC9D;AACA;AACA,wBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,oBAAoB,aAAa;AAC7D;AACA,yCAAwC,MAAM;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB,8BAA8B;AACnD;AACA,aAAY;AACZ;AACA,yCAAwC,MAAM;AAC9C,uDAAsD;AACtD;AACA;AACA;AACA,oCAAmC,YAAY;AAC/C,+CAA8C;AAC9C;AACA,6CAA4C,iBAAiB;AAC7D,cAAa;AACb,0CAAyC,qBAAqB;AAC9D,mCAAkC,qBAAqB;AACvD,kCAAiC,qBAAqB;AACtD;AACA;AACA,wCAAuC,gBAAgB;AACvD;AACA;AACA;AACA;AACA;AACA,2CAA0C;AAC1C;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA6D,iCAAiC,EAAE;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,yDAAwD,mCAAmC;AAC3F;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA,2CAA0C;AAC1C;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA,0DAAyD,8BAA8B,EAAE;AACzF;AACA;AACA;AACA;AACA,8DAA6D,gBAAgB;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,MAAK;AACL;AACA,wEAAuE;AACvE;AACA;AACA,2DAA0D,kBAAkB;AAC5E;AACA;AACA;AACA;AACA,oBAAmB,kBAAkB,MAAM,gBAAgB;AAC3D;AACA;AACA;AACA,8BAA6B,gBAAgB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B;AAC9B,gCAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,kBAAkB;AACzD,6CAA4C,uBAAuB;AACnE;AACA;AACA;AACA;AACA,0CAAyC,mCAAmC;AAC5E;AACA;AACA,qBAAoB,sBAAsB;AAC1C;AACA,oDAAmD,6BAA6B;AAChF;AACA,0BAAyB,sBAAsB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,sBAAsB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA8E,EAAE;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA8E,EAAE;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,6BAA6B,EAAE;AAC7D;AACA;AACA,UAAS;AACT;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC;AACnC;AACA;AACA,oCAAmC;AACnC;AACA;AACA;AACA;AACA,+CAA8C;AAC9C;AACA;AACA;AACA,qDAAoD,iBAAiB;AACrE,cAAa;AACb,0CAAyC,qBAAqB;AAC9D;AACA;AACA,uCAAsC,gBAAgB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC;AACnC;AACA;AACA,oCAAmC;AACnC;AACA;AACA;AACA;AACA,+CAA8C;AAC9C;AACA;AACA,2DAA0D,iBAAiB;AAC3E;AACA,cAAa;AACb,0CAAyC,qBAAqB;AAC9D;AACA;AACA,wBAAuB,gBAAgB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA,eAAc,8BAA8B;AAC5C;AACA;AACA;AACA,wCAAuC;AACvC,gDAA+C;AAC/C;AACA;AACA;AACA,oCAAmC,YAAY;AAC/C,+CAA8C;AAC9C;AACA,8CAA6C,iBAAiB;AAC9D,cAAa;AACb,0CAAyC,qBAAqB;AAC9D,mCAAkC,qBAAqB;AACvD,kCAAiC,qBAAqB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAuD,8CAA8C,sBAAsB,EAAE,EAAE;AAC/H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA6D,oBAAoB,EAAE;AACnF;AACA;AACA;AACA;AACA,oEAAmE,0CAA0C,EAAE;AAC/G,0CAAyC,sBAAsB,EAAE;AACjE;AACA;AACA;AACA,2DAA0D,8CAA8C,EAAE;AAC1G;AACA;AACA;AACA;AACA,oDAAmD,wCAAwC,EAAE;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,iDAAgD,gBAAgB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA,4DAA2D,eAAe,EAAE;AAC5E;AACA;AACA;AACA,yCAAwC,gBAAgB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ,gBAAgB;AACxB;AACA;AACA;AACA,sEAAqE,cAAc;AACnF,6CAA4C,mBAAmB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAgC;AAChC;AACA;AACA,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA,+BAA8B,aAAa,EAAE;AAC7C;AACA;AACA,UAAS;AACT;AACA,+BAA8B,kBAAkB,EAAE;AAClD;AACA;AACA,UAAS;AACT;AACA,+BAA8B,WAAW,EAAE;AAC3C;AACA;AACA,UAAS;AACT;AACA,+BAA8B,2BAA2B,EAAE;AAC3D;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,mBAAmB;AACvE,cAAa;AACb;AACA,uDAAsD,gCAAgC;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA,6CAA4C;AAC5C;AACA;AACA,+CAA8C,mBAAmB;AACjE,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,yDAAwD,gCAAgC;AACxF;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,uDAAsD,8BAA8B;AACpF;AACA;AACA;AACA;AACA;AACA,iDAAgD,kBAAkB;AAClE;AACA,oCAAmC,mBAAmB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,gCAA+B,yDAAyD;AACxF;AACA;AACA,sBAAqB,IAAI;AACzB;AACA;AACA;AACA,cAAa,4BAA4B,+BAA+B,GAAG,2BAA2B,GAAG,qDAAqD,IAAI;AAClK,cAAa,4BAA4B,+BAA+B,GAAG,2BAA2B,GAAG,2DAA2D,IAAI;AACxK;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mLAAkL,4CAA4C,EAAE;AAChO,2OAA0O,gCAAgC,+BAA+B,QAAQ,EAAE;AACnT,yJAAwJ,0LAA0L,oCAAoC,qCAAqC,EAAE;AAC7Z;AACA,sLAAqL,iBAAiB;AACtM;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kVAAiV,iBAAiB;AAClW;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA,4DAA2D,qBAAqB,EAAE;AAClF;AACA;AACA,yCAAwC,gBAAgB;AACxD;AACA;AACA;AACA,uDAAsD,aAAa;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,wCAAwC,wFAAwF,IAAI;AACjJ;AACA;AACA;AACA,cAAa,uCAAuC,2BAA2B,GAAG,+BAA+B,IAAI;AACrH,cAAa,4BAA4B,+BAA+B,GAAG,2BAA2B,GAAG,qDAAqD,IAAI;AAClK,cAAa,4BAA4B,+BAA+B,GAAG,2BAA2B,GAAG,2DAA2D,IAAI;AACxK;AACA;AACA,uBAAsB,qDAAqD;AAC3E;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA,4DAA2D,gBAAgB,EAAE;AAC7E;AACA;AACA;AACA,+BAA8B,kBAAkB;AAChD;AACA;AACA,aAAY,kBAAkB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAiD,aAAa;AAC9D;AACA;AACA;AACA;AACA;AACA,iEAAgE,kBAAkB;AAClF;AACA;AACA;AACA;AACA,uDAAsD,+BAA+B;AACrF;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,0BAAyB;AACzB,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAqD,8DAA8D;AACnH;AACA,+BAA8B,sBAAsB,EAAE;AACtD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA,+BAA8B,yDAAyD,EAAE;AACzF;AACA;AACA,UAAS;AACT;AACA,+BAA8B,+CAA+C,EAAE;AAC/E;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD,mBAAmB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAgD,gCAAgC,+BAA+B,EAAE,EAAE;AACnH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,sBAAqB,IAAI;AACzB;AACA;AAC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A,+BAA8B,wBAAwB,EAAE;AACxD;AACA;AACA,UAAS;AACT;AACA,+BAA8B,aAAa,EAAE;AAC7C;AACA;AACA,UAAS;AACT;AACA,+BAA8B,kBAAkB,EAAE;AAClD;AACA;AACA,UAAS;AACT;AACA,+BAA8B,WAAW,EAAE;AAC3C;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,0CAAyC,mBAAmB;AAC5D;AACA;AACA;AACA,mEAAkE,gCAAgC;AAClG,sEAAqE,0CAA0C;AAC/G;AACA;AACA;AACA,0CAAyC,mBAAmB;AAC5D;AACA,wEAAuE;AACvE,qEAAoE,gCAAgC;AACpG;AACA;AACA;AACA,0CAAyC,mBAAmB;AAC5D;AACA,wEAAuE;AACvE,qEAAoE,gCAAgC;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA4D,kBAAkB;AAC9E;AACA,oCAAmC,mBAAmB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,4CAA2C,mBAAmB;AAC9D;AACA;AACA;AACA,gEAA+D,gCAAgC,EAAE;AACjG;AACA,wEAAuE,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,gCAA+B,yDAAyD;AACxF;AACA,sBAAqB,IAAI;AACzB;AACA;AACA;AACA,cAAa,4BAA4B,+BAA+B,GAAG,2BAA2B,GAAG,qDAAqD,IAAI;AAClK,cAAa,4BAA4B,+BAA+B,GAAG,2BAA2B,GAAG,2DAA2D,IAAI;AACxK;AACA;AACA,uBAAsB,kDAAkD;AACxE,2BAA0B,6BAA6B;AACvD;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA,4DAA2D,sBAAsB,EAAE;AACnF;AACA;AACA,oCAAmC,gBAAgB;AACnD;AACA;AACA;AACA,uDAAsD,yBAAyB;AAC/E;AACA;AACA,kDAAiD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AAQ,oCAAoC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,0BAAyB;AACzB,oBAAmB;AACnB;AACA;AACA;AACA,uBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAwC,sCAAsC,EAAE;AAChF;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,6CAA6C,EAAE;AAC7E;AACA;AACA,UAAS;AACT;AACA,+BAA8B,yDAAyD,EAAE;AACzF;AACA;AACA,UAAS;AACT;AACA,+BAA8B,+CAA+C,EAAE;AAC/E;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA,+BAA8B,sBAAsB,EAAE;AACtD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,wCAAwC,iEAAiE,IAAI;AAC1H;AACA;AACA;AACA,cAAa,uCAAuC,+BAA+B,GAAG,2BAA2B,GAAG,+BAA+B,IAAI;AACvJ,cAAa,4BAA4B,+BAA+B,GAAG,2BAA2B,GAAG,qDAAqD,IAAI;AAClK,cAAa,4BAA4B,+BAA+B,GAAG,2BAA2B,GAAG,2DAA2D,IAAI;AACxK,cAAa,4BAA4B,+BAA+B,GAAG,2BAA2B,GAAG,yDAAyD,IAAI;AACtK;AACA;AACA,uBAAsB,wDAAwD;AAC9E,wBAAuB,gDAAgD;AACvE,yBAAwB,uDAAuD;AAC/E,6BAA4B,iDAAiD;AAC7E;AACA;AACA,MAAK;;AAEL;AACA;AACA,4DAA2D,0BAA0B,EAAE;AACvF;AACA;AACA;AACA;AACA,uCAAsC,oBAAoB;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,uBAAuB,EAAE;AACvD;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,gFAA+E,qBAAqB;AACpG;AACA,cAAa;AACb;AACA;AACA,gCAA+B;AAC/B,sBAAqB,IAAI;AACzB;AACA;AACA;AACA;AACA,2BAA0B,4BAA4B;AACtD;AACA;AACA,MAAK;AACL;AACA,6BAA4B,yBAAyB,KAAK,oBAAoB;AAC9E;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,4DAA2D,2BAA2B,EAAE;AACxF;AACA;AACA;AACA,wCAAuC,yBAAyB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAgF,qBAAqB;AACrG;AACA,cAAa;AACb;AACA;AACA,gCAA+B;AAC/B,sBAAqB,IAAI;AACzB;AACA;AACA;AACA;AACA,4BAA2B,4BAA4B;AACvD;AACA;AACA,MAAK;AACL;AACA,6BAA4B,yBAAyB,KAAK,oBAAoB;AAC9E;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,4DAA2D,2BAA2B,EAAE;AACxF;AACA;AACA;AACA,wCAAuC,yBAAyB;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAgF,qBAAqB;AACrG;AACA,cAAa;AACb;AACA;AACA,gCAA+B;AAC/B,sBAAqB,IAAI;AACzB;AACA;AACA;AACA;AACA,4BAA2B,4BAA4B;AACvD;AACA;AACA,MAAK;AACL;AACA;AACA,4DAA2D,yBAAyB,EAAE;AACtF;AACA;AACA;AACA;AACA,sCAAqC,oBAAoB;AACzD;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAmE,oDAAoD;AACvH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA8E,qBAAqB;AACnG;AACA,cAAa;AACb;AACA;AACA,gCAA+B;AAC/B,sBAAqB,IAAI;AACzB;AACA;AACA;AACA;AACA,0BAAyB,4BAA4B;AACrD;AACA;AACA,MAAK;;AAEL;AACA,gCAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,0BAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,gBAAgB;AAC5C;AACA;AACA,qBAAoB,gBAAgB;AACpC;AACA;AACA,oCAAmC,cAAc;AACjD;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,kBAAkB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC,kBAAkB;AACzD,6CAA4C,uBAAuB;AACnE;AACA;AACA;AACA,yBAAwB,gBAAgB;AACxC;AACA;AACA;AACA;AACA,wCAAuC,kBAAkB;AACzD,6CAA4C,uBAAuB;AACnE,6DAA4D,gCAAgC,EAAE;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,iCAAiC;AAC9C;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,uCAAuC,wEAAwE,IAAI;AAChI;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,sBAAqB,IAAI;AACzB;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,sBAAqB,IAAI;AACzB;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;;;;;;AClgJD;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAsC,kBAAkB,EAAE,kBAAkB,oBAAoB,EAAE,eAAe,uBAAuB,EAAE;AAC1I,MAAK;AACL;AACA;AACA,sC;;;;;;AC3BA;AACA;AACA;AACA,wC;;;;;;ACHA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,cAAa;AACb;AACA,gBAAe,WAAW;AAC1B,gBAAe,UAAU;AACzB;AACA,iBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA,yDAAwD,WAAW,EAAE;AACrE,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,iEAAgE,4CAA4C;AAC5G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA4E,uCAAuC;AACnH;AACA,kBAAiB;AACjB;AACA,8EAA6E,mCAAmC;AAChH;AACA,kBAAiB;AACjB;AACA;AACA,yDAAwD,WAAW,EAAE;AACrE,kBAAiB;AACjB;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8C;;;;;;ACxHA;AACA;AACA;AACA,8CAA6C,iDAAiD;AAC9F,EAAC,gKAAgK;;AAEjK;AACA;AACA,sCAAqC,iBAAiB;AACtD;AACA;AACA;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS,iCAAiC;AAC1C;AACA;AACA;AACA,UAAS,iDAAiD,8DAA8D,IAAI;AAC5H;AACA;AACA,EAAC;;AAED;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,iCAAiC;AAC1C;AACA;AACA;AACA,UAAS,gCAAgC,yDAAyD,IAAI;AACtG,UAAS,0CAA0C,+BAA+B,GAAG,+BAA+B,IAAI;AACxH,UAAS,4BAA4B,+BAA+B,GAAG,+CAA+C,IAAI;AAC1H;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,+CAA8C,cAAc;;AAE5D,EAAC,I;;;;;;AC9LD;AACA;AACA;AACA,kC;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAsB;AACtB;AACA;AACA;AACA,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT;AACA,YAAW,WAAW;AACtB;AACA,YAAW,OAAO;AAClB;AACA,YAAW,UAAU;AACrB;AACA,aAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAsB;AACtB;AACA;AACA;AACA,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT;AACA,YAAW,WAAW;AACtB,YAAW,WAAW;AACtB,YAAW,OAAO;AAClB;AACA,YAAW,UAAU;AACrB;AACA,aAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kC;;;;;;ACjIA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oEAAmE,aAAa;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,cAAa;AACb,cAAa;AACb,cAAa;AACb;AACA,gBAAe,KAAK;AACpB,gBAAe,UAAU,gBAAgB,gBAAgB;AACzD;AACA,iBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,yBAAwB,uBAAuB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,4BAA2B,iCAAiC;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,4C;;;;;;ACzHA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,6C;;;;;;ACzDA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,eAAe;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,cAAa;AACb,cAAa;AACb,cAAa;AACb;AACA,gBAAe,UAAU,gBAAgB,gBAAgB;AACzD;AACA,iBAAgB,WAAW;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAoE,yBAAyB;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,4C;;;;;;AC1EA;AACA;AACA;AACA;AACA;AACA,wC;;;;;;ACLA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT;AACA,YAAW,OAAO;AAClB;AACA,aAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA,iCAAgC,uCAAuC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,qC;;;;;;AC9GA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,4C;;;;;;AC7BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA4C,gCAAgC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,kBAAkB,+BAA+B,EAAE;AAC5D;AACA;AACA,iDAAgD,WAAW,EAAE;AAC7D,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8C;;;;;;ACzEA;AACA;AACA;AACA;AACA;AACA,sC;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,iBAAiB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qC;;;;;;AC/BA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,4C;;;;;;ACnCA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,2C;;;;;;AC9CA;AACA;AACA,kBAAiB;AACjB;AACA,iC;;;;;;ACJA;AACA;AACA;AACA,8CAA6C,6CAA6C;AAC1F,EAAC,uLAAuL;;AAExL;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA,4BAA2B,wBAAwB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,wBAAwB;AAC3D;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,4CAA2C,0BAA0B,EAAE;AACvE;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA,oBAAmB,wBAAwB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,YAAY;AAC3C;AACA;AACA,wBAAuB,6BAA6B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,wBAAwB;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,gFAAgF;AACzF,UAAS,qFAAqF;AAC9F,UAAS,wFAAwF;AACjG,UAAS,yFAAyF;AAClG,UAAS,oGAAoG;AAC7G,UAAS,mDAAmD;AAC5D,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,wCAAwC,IAAI;AACrD;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,+CAA8C,cAAc;;AAE5D,EAAC,I;;;;;;ACjND;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,4C;;;;;;AChDA;AACA;AACA;AACA,8CAA6C,2CAA2C;AACxF,EAAC,qHAAqH;;AAEtH;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC,sCAAsC,EAAE;AAC5E;AACA;AACA,EAAC;;AAED;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD,sCAAsC,EAAE;AAC1F;AACA;AACA,EAAC;;AAED;AACA;AACA,qBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAAyD,qBAAqB,EAAE;AAChF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,+CAA8C,cAAc;;AAE5D,EAAC,I;;;;;;AC7GD;AACA;AACA;AACA;AACA;AACA,iCAAgC,UAAU;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,YAAW,UAAU;AACrB;AACA,aAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,YAAY;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kC;;;;;;ACzDA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,UAAS;AACT;AACA,YAAW,qCAAqC;AAChD;AACA;AACA;AACA,YAAW,IAAI;AACf;AACA,aAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,gC;;;;;;ACtFA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,aAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,iD;;;;;;AC5EA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,YAAW,WAAW;AACtB;AACA,YAAW,SAAS;AACpB;AACA;AACA;AACA;AACA,aAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,SAAS;AAChC;AACA;AACA,wBAAuB,SAAS;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,2C;;;;;;ACjIA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,aAAa;AAClD;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,aAAa;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,UAAS;AACT,UAAS;AACT;AACA,YAAW,6CAA6C;AACxD;AACA,YAAW,IAAI;AACf,aAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,iC;;;;;;AC3GA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA,4BAA2B,WAAW;AACtC;AACA;AACA;AACA;AACA;AACA,gCAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA,gCAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,sC;;;;;;AC1EA;AACA;AACA;AACA,oDAAmD,iBAAiB;AACpE;AACA,UAAS,kBAAkB,GAAG,oBAAoB,GAAG,gBAAgB;AACrE;AACA;AACA;AACA;AACA,UAAS;AACT,UAAS;AACT,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,eAAe;AAClC;AACA,gBAAe,yBAAyB;AACxC,gBAAe,yBAAyB;AACxC,gBAAe,iBAAiB;AAChC,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,kCAAkC;AACjD;AACA,gBAAe,yBAAyB;AACxC,gBAAe,iBAAiB;AAChC,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,EAAE;AACjB,iBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,IAAI;AACnB,iBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB,kBAAkB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,yC;;;;;;AC9HA;AACA;AACA;AACA;AACA,kC;;;;;;ACJA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,wC;;;;;;AC9CA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,WAAW;AAC1C;AACA;AACA;AACA,gCAA+B,WAAW;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB;AAClB,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,wC;;;;;;AC7IA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA,wCAAuC,gBAAgB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,EAAE;AACjB;AACA,gBAAe,OAAO;AACtB;AACA,iBAAgB;AAChB;AACA;AACA,gCAA+B,WAAW;AAC1C;AACA;AACA;AACA,EAAC;AACD;AACA,mC;;;;;;AC3CA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,2C;;;;;;ACfA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,kCAAkC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,2C;;;;;;AClDA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD,aAAa;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,qBAAqB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAe,mCAAmC;AAClD;AACA,gBAAe,OAAO;AACtB;AACA,gBAAe,EAAE;AACjB;AACA,iBAAgB,aAAa;AAC7B;AACA;AACA;AACA,gCAA+B,WAAW;AAC1C;AACA;AACA,wDAAuD,oBAAoB;AAC3E;AACA,EAAC;AACD;AACA,sC;;;;;;AChDA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT;AACA,YAAW,2CAA2C;AACtD;AACA;AACA;AACA;AACA;AACA,YAAW,IAAI;AACf;AACA,aAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,mC;;;;;;AC5FA;AACA;AACA;AACA,8CAA6C,6DAA6D;AAC1G,EAAC,uWAAuW;;AAExW;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB;AAChB,MAAK;AACL;AACA,iBAAgB;AAChB,MAAK;AACL;AACA,iBAAgB;AAChB,MAAK;AACL;AACA,iBAAgB;AAChB,MAAK;AACL;AACA,iBAAgB;AAChB,MAAK;AACL;AACA,iBAAgB;AAChB,MAAK;AACL;AACA,iCAAgC,eAAe;AAC/C,iBAAgB;AAChB,MAAK;AACL;AACA,iBAAgB;AAChB,MAAK;AACL;AACA,iBAAgB;AAChB;AACA;;AAEA;AACA,0CAAyC,iCAAiC,EAAE;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA8D,+BAA+B;AAC7F,qDAAoD,gCAAgC,EAAE;AACtF;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,oFAAmF,mDAAmD,EAAE;AACxI;AACA,mFAAkF,kDAAkD,EAAE;AACtI;AACA;AACA,8DAA6D,sDAAsD,EAAE;AACrH,wDAAuD,2CAA2C,EAAE;AACpG;AACA;AACA;AACA,8DAA6D,oDAAoD,EAAE;AACnH,wDAAuD,2CAA2C,EAAE;AACpG;AACA;AACA;AACA;AACA,qFAAoF,0BAA0B,EAAE;AAChH,2FAA0F,yBAAyB,EAAE;AACrH;AACA;AACA;AACA;AACA;AACA,UAAS,iCAAiC;AAC1C;AACA;AACA;AACA,UAAS,gCAAgC,gEAAgE,IAAI;AAC7G;AACA;AACA,EAAC;;AAED,oBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA0C,4BAA4B;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD;AAClD;AACA,uBAAsB,6BAA6B;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,cAAc;AAC3C;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,wBAAwB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAsE,uCAAuC,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+EAA8E,0BAA0B,EAAE;AAC1G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,SAAS;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;;AAEA;;AAEA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,iCAAiC;AAC1C;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAsD;AACtD,qDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,iCAAiC;AAC1C;AACA;AACA;AACA,UAAS,4BAA4B;AACrC,UAAS,gCAAgC;AACzC,UAAS,6BAA6B;AACtC,UAAS,2BAA2B;AACpC,UAAS,gCAAgC,iEAAiE,IAAI;AAC9G,UAAS,gCAAgC,6DAA6D,IAAI;AAC1G;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,aAAa;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,eAAe;AACjD;AACA,mCAAkC,aAAa;AAC/C;AACA,uCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA,kBAAiB;AACjB,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA,+CAA8C,cAAc;;AAE5D,EAAC,I;;;;;;AC3lBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA,iCAAgC,uCAAuC;AACvE,iCAAgC,uCAAuC;AACvE;AACA;AACA;AACA,0C;;;;;;ACjBA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC,uCAAuC;AAC3E,qCAAoC,uCAAuC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,+BAA+B;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,0C;;;;;;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,iBAAiB;AAC5B;AACA;AACA,YAAW,SAAS;AACpB;AACA;AACA;AACA,aAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sC;;;;;;ACrCA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,gD;;;;;;AC1BA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,kD;;;;;;ACzJA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,aAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,iC;;;;;;AClDA;AACA;AACA;AACA,kC;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kC;;;;;;ACvBA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,aAAa;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT;AACA,YAAW,+CAA+C;AAC1D;AACA;AACA,YAAW,oFAAoF;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,sC;;;;;;AC1IA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT;AACA,YAAW,WAAW;AACtB;AACA;AACA,aAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,sC;;;;;;AC1EA;AACA;AACA;AACA,8CAA6C,iEAAiE;AAC9G,EAAC,qMAAqM;;AAEtM;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,qBAAoB;AACpB,UAAS;AACT;AACA;AACA;AACA,0CAAyC,IAAI;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,qCAAoC,gBAAgB;AACpD;AACA;AACA;AACA,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,uBAAsB,4BAA4B;AAClD,sBAAqB,6BAA6B;AAClD;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,4CAA2C,wBAAwB,eAAe,gBAAgB,iBAAiB,kBAAkB,6BAA6B,sBAAsB,OAAO,eAAe,2BAA2B,mBAAmB,+CAA+C,gCAAgC,gBAAgB,eAAe,oBAAoB,qBAAqB,OAAO,uBAAuB,oBAAoB,qBAAqB,uBAAuB,OAAO;AACxf,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,uBAAsB,4BAA4B;AAClD,mBAAkB,4BAA4B;AAC9C,sBAAqB,4BAA4B;AACjD,2BAA0B,yDAAyD;AACnF,4BAA2B,0DAA0D;AACrF,0BAAyB,wDAAwD;AACjF,6BAA4B,2DAA2D;AACvF;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,iBAAgB;AAChB;AACA;AACA,iBAAgB;AAChB;AACA;AACA,iBAAgB;AAChB;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,iCAAiC;AAC1C;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA,+FAA8F,uBAAuB,EAAE;AACvH,2FAA0F,kBAAkB,EAAE;AAC9G,4FAA2F,mBAAmB,EAAE;AAChH,wFAAuF,eAAe,EAAE;AACxG;AACA;AACA,sHAAqH,mCAAmC,EAAE,iEAAiE,iCAAiC,EAAE;AAC9P;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,kBAAiB,IAAI;AACrB;AACA;AACA;AACA,UAAS,2CAA2C;AACpD,UAAS,qBAAqB;AAC9B;AACA;AACA,4BAA2B,4BAA4B;AACvD,8BAA6B,4BAA4B;AACzD;AACA;AACA,EAAC;;AAED;AACA;AACA,+BAA8B,eAAe;AAC7C;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,gCAA+B,0BAA0B;AACzD;AACA;AACA;AACA;AACA;AACA,gCAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA,gCAA+B,yBAAyB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;;AAEA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC,qBAAqB;AACzD,8CAA6C,2BAA2B,0DAA0D,GAAG;AACrI,+CAA8C,0BAA0B,sCAAsC,GAAG;AACjH,qCAAoC,qBAAqB,aAAa,GAAG;AACzE,kCAAiC,4BAA4B;AAC7D,gCAA+B,uBAAuB;AACtD,yCAAwC,0BAA0B;AAClE,sCAAqC;AACrC;AACA,oEAAmE;AACnE;AACA;AACA,yCAAwC,+BAA+B,EAAE;AACzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,0DAA0D;AAC/F;AACA;AACA;AACA;AACA,qBAAoB;AACpB,UAAS;AACT;AACA;AACA;AACA,qBAAoB;AACpB,UAAS;AACT;AACA;AACA;AACA,qBAAoB;AACpB,UAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,4CAA2C,uBAAuB,kCAAkC,2BAA2B,uBAAuB,uEAAuE,OAAO,2BAA2B,2BAA2B,iBAAiB,kBAAkB,wBAAwB,oCAAoC,OAAO,uCAAuC,iCAAiC,OAAO,0BAA0B,sBAAsB,wBAAwB,OAAO,+BAA+B,kCAAkC,OAAO,qBAAqB,uBAAuB,OAAO,mEAAmE,uBAAuB,OAAO,wEAAwE,uBAAuB,OAAO;AACh2B,4MAA2M,OAAO,+DAA+D,SAAS;AAC1R,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,kBAAiB,4BAA4B;AAC7C,uBAAsB,4BAA4B;AAClD,oBAAmB,4BAA4B;AAC/C;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA,UAAS;AACT;AACA;AACA,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,uBAAsB,4BAA4B;AAClD,oBAAmB,4BAA4B;AAC/C;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,sGAAqG,uCAAuC,EAAE;AAC9I,qGAAoG,yCAAyC,EAAE;AAC/I,sGAAqG,uCAAuC,EAAE;AAC9I;AACA;AACA;AACA,4BAA2B,4BAA4B;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,4CAA2C,uBAAuB,kCAAkC,uEAAuE,2BAA2B,2BAA2B,oBAAoB,qBAAqB,yBAAyB,uBAAuB,OAAO,qBAAqB,2BAA2B,iCAAiC,mCAAmC,kCAAkC,mBAAmB,sBAAsB,4BAA4B,uBAAuB,OAAO,mBAAmB,2BAA2B,gBAAgB,iBAAiB,kBAAkB,kBAAkB,2BAA2B,yBAAyB,OAAO;AACxuB,+oBAA8oB;AAC9oB,kBAAiB,IAAI;AACrB;AACA;AACA;AACA,UAAS,2CAA2C;AACpD;AACA;AACA,4BAA2B,4BAA4B;AACvD;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,2CAA0C,qBAAqB,8BAA8B,uEAAuE,wBAAwB,0BAA0B,2BAA2B,yBAAyB,gCAAgC,yBAAyB,qBAAqB,8BAA8B,kCAAkC,OAAO,uBAAuB,qBAAqB,qBAAqB,sCAAsC,OAAO;AAC7gB,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,uBAAsB,6DAA6D,GAAG,4BAA4B;AAClH,qBAAoB,6BAA6B;AACjD,2BAA0B,iEAAiE;AAC3F;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,MAAK;AACL;AACA;AACA,+BAA8B,yBAAyB;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA,4EAA2E,4BAA4B,wCAAwC,oBAAoB;AACnK,2CAA0C,uBAAuB,kCAAkC,wBAAwB,OAAO,iBAAiB,gCAAgC,0CAA0C,OAAO,kBAAkB,sBAAsB,OAAO,iBAAiB,sCAAsC,2BAA2B,qBAAqB,OAAO;AACjY,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,4BAA2B,4BAA4B;AACvD,uBAAsB,4BAA4B;AAClD,mBAAkB,4BAA4B;AAC9C,qBAAoB,6BAA6B;AACjD;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,4BAA2B,4BAA4B;AACvD,8BAA6B,4BAA4B;AACzD,4BAA2B,4BAA4B;AACvD;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB,IAAI;AACrB;AACA;AACA;AACA;AACA,EAAC;;AAED;AACA;;AAEA,+CAA8C,cAAc;;AAE5D,EAAC,I;;;;;;AClsBD;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtBA;AACA;AACA;AACA,qBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAAyD,qBAAqB,EAAE;AAChF;AACA;;;;;;;ACdA;AACA;AACA;AACA;AACA,6CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,EAAC;AACD;;;;;;;AC/BA;AACA;AACA;AACA;AACA,6CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,EAAC;AACD;;;;;;;AC7EA;AACA;AACA;AACA;AACA,6CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA4C;AAC5C;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;;;;;;;AC5IA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd,eAAc;AACd,aAAY;AACZ,gBAAe;AACf,gBAAe;AACf,cAAa;AACb,cAAa;AACb,uBAAsB;AACtB,uBAAsB;AACtB,aAAY;AACZ,oBAAmB;AACnB,8BAA6B;AAC7B,gBAAe;;AAEf;AACA,4BAA2B,kBAAkB;AAC7C,8BAA6B,oBAAoB;AACjD,8BAA6B,2BAA2B;AACxD,iCAAgC,wCAAwC;AACxE,kCAAiC,uBAAuB;AACxD,2BAA0B,gBAAgB;AAC1C,qCAAoC,0BAA0B;AAC9D,oCAAmC,yBAAyB;AAC5D,oCAAmC,yBAAyB;AAC5D,gCAA+B,0BAA0B;AACzD,+CAA8C,mCAAmC;AACjF,sCAAqC,8BAA8B;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,mEAAkE;AAClE;AACA;;AAEA;AACA;AACA,eAAc;AACd;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA0B;AAC1B,sBAAqB;AACrB,QAAO;AACP,4BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAgB;AAChB,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,4BAA2B;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAoB;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,kDAAkD;AAC7E,uBAAsB,eAAe,eAAe,EAAE;AACtD,sBAAqB,uBAAuB,cAAc,EAAE;AAC5D;;AAEA;AACA;AACA;;AAEA;AACA,0BAAyB,4BAA4B;AACrD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,0BAAyB;AACzB;AACA;AACA;AACA;AACA,kBAAiB,SAAS;AAC1B;AACA;AACA,8DAA6D,WAAW;AACxE,+DAA8D,WAAW;AACzE;AACA;AACA;;AAEA,yBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA,8BAA6B,yBAAyB;AACtD,6CAA4C,gBAAgB,EAAE;AAC9D,8BAA6B,kBAAkB;AAC/C;AACA,2BAA0B;AAC1B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAmB,cAAc;AACjC,qBAAoB,aAAa;AACjC,+BAA8B,+CAA+C;AAC7E,gCAA+B,gDAAgD;AAC/E,0BAAyB,qDAAqD;AAC9E,wBAAuB,yGAAyG;AAChI;AACA,aAAY,cAAc,EAAE;AAC5B,wCAAuC,cAAc,EAAE;AACvD,uCAAsC,aAAa,EAAE;AACrD,oCAAmC;AACnC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC/lBA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,6BAA4B,YAAY;AACxC;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,qBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,MAAK;AACL;AACA,iBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAoE,0CAA0C;AAC9G;AACA,0BAAyB,6BAA6B,EAAE,OAAO,yBAAyB;AACxF,4BAA2B,yBAAyB;AACpD,QAAO;AACP;AACA;AACA;AACA;AACA;;;;;;;ACrDA,wCAAuC,yCAAyC;;;;;;;ACAhF;;AAEA;;AAEA;AACA,aAAY,QAAQ;AACpB;AACA;AACA,IAAG;AACH;;;;;;;ACTA;AACA;AACA,yBAAwB,kBAAkB;AAC1C,EAAC;AACD,yBAAwB,mBAAmB;AAC3C;;AAEA,uB;;;;;;;ACPA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,iBAAiB;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;;AAEA;AACA;AACA,G;;;;;;;AC3EA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,mCAAkC,gBAAgB;AAClD;AACA;;AAEA;AACA;AACA;AACA;AACA,wEAAuE,uBAAuB;AAC9F,2EAA0E,uBAAuB;AACjG;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,4BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA,cAAa,sBAAsB;AACnC;AACA;AACA;AACA;AACA;AACA;;;;;;;;;ACnGA;;AAEA;AACA;AACA,2CAA0C,UAAU,aAAa,EAAE;AACnE;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC/CA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;ACZA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;AChCA;AACA;AACA;AACA;AACA,6CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,EAAC;AACD;;;;;;;AC3BA;AACA;AACA;AACA;AACA,6CAA4C,QAAQ;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB,cAAa;AACb;AACA;A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A;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA,UAAS;AACT;AACA;AACA;AACA,mEAAkE,YAAY,EAAE;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA0E,wBAAwB,EAAE;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+GAA8G,iIAAiI,EAAE;AACjP;AACA;AACA;AACA,MAAK;;AAEL;AACA,sDAAqD,KAAK;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,4BAA4B;AAC/C;AACA;AACA;AACA;AACA,oCAAmC;AACnC,uCAAsC,aAAa;AACnD;AACA,+CAA8C;AAC9C,gDAA+C;AAC/C,2CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD,mDAAmD;AACrG;AACA,MAAK;AACL;AACA;AACA;AACA,aAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,iBAAiB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C,yBAAyB,EAAE;AAC1E;AACA;AACA;AACA;AACA,8DAA6D,kCAAkC;AAC/F;AACA;AACA;AACA;AACA,+BAA8B,0CAA0C,EAAE;AAC1E;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,2DAA0D,6BAA6B;AACvF;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,4BAA4B;AAC/C;AACA;AACA,yDAAwD;AACxD;AACA;AACA,sBAAqB;AACrB,4BAA2B,aAAa;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAqD,4BAA4B;AACjF;AACA,MAAK;AACL;AACA;AACA;AACA,wBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,2BAA2B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,qDAAoD,oBAAoB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA,sDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,cAAc;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,cAAc;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,mDAAkD,yBAAyB,EAAE;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C,WAAW,8CAA8C,EAAE;AAC1G;AACA;AACA,oDAAmD,mDAAmD,EAAE;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA6D,uCAAuC;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAqD;AACrD;AACA;AACA;AACA;AACA,uCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAsE;AACtE,gCAA+B;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAA+D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,2CAA0C,qBAAqB;AAC/D;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,+DAA8D,6CAA6C,EAAE;AAC7G;AACA;AACA,+DAA8D,kDAAkD,EAAE;AAClH;AACA;AACA,+DAA8D,qJAAqJ,EAAE;AACrN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gGAA+F,8CAA8C,EAAE;AAC/I;AACA;AACA;AACA;AACA,iEAAgE,yDAAyD;AACzH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA,8FAA6F,8CAA8C,EAAE;AAC7I;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,iDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA,6HAA4H,0CAA0C,EAAE;AACxK;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qFAAoF,uEAAuE,EAAE;AAC7J;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB,cAAa;AACb;AACA,kGAAiG,YAAY,EAAE;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA4E;AAC5E;AACA;AACA;AACA;AACA,iFAAgF;AAChF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sFAAqF;AACrF,sBAAqB;AACrB;AACA;AACA,kFAAiF;AACjF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2FAA0F,0DAA0D,EAAE;AACtJ;AACA;AACA,gGAA+F;AAC/F;AACA;AACA;AACA,qFAAoF,iFAAiF,EAAE;AACvK;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,wBAAuB,gFAAgF;AACvG;AACA;AACA,yBAAwB,gFAAgF;AACxG;AACA;AACA,yBAAwB,+EAA+E;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB,gFAAgF;AACpG;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAuC;AACvC,8CAA6C,EAAE;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C,wBAAwB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA,qBAAoB;AACpB;AACA;AACA;AACA;AACA,qBAAoB;AACpB;AACA;AACA,qBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,sBAAsB;AACjE;AACA;AACA,iEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,sBAAsB;AACjE;AACA;AACA,iEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC;AAClC,+CAA8C,EAAE;AAChD;AACA;AACA;AACA,4CAA2C,2DAA2D,EAAE;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAoE,uEAAuE;AAC3I;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,yBAAyB,EAAE;AACzD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,gBAAgB,EAAE;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAA+D,gBAAgB,EAAE;AACjF,4CAA2C,iBAAiB,EAAE;AAC9D;AACA;AACA;AACA;AACA,qDAAoD,sDAAsD,gBAAgB,EAAE,EAAE;AAC9H;AACA,MAAK;AACL;AACA;AACA;AACA,0CAAyC,gBAAgB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAyC,gBAAgB;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAmD,uCAAuC;AAC1F;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,4BAA4B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,qBAAqB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAsD,iCAAiC;AACvF;AACA,MAAK;AACL;AACA;AACA,uFAAsF;AACtF,sEAAqE;AACrE,oEAAmE;AACnE,2EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,kCAAkC;AACrD;AACA;AACA;AACA;AACA,qDAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,yCAAyC,EAAE;AACzE;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,+BAA8B,+BAA+B,EAAE;AAC/D;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,+BAA8B,uCAAuC,EAAE;AACvE;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,+BAA8B,2CAA2C,EAAE;AAC3E;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,+BAA8B,yCAAyC,EAAE;AACzE;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,+BAA8B,6CAA6C,EAAE;AAC7E;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA,+BAA8B,qCAAqC,EAAE,EAAE;AACvE;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,kCAAkC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B,0BAA0B,EAAE;AAC1D;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,+BAA8B,+BAA+B,EAAE;AAC/D;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,+BAA8B,uCAAuC,EAAE;AACvE;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,+BAA8B,2CAA2C,EAAE;AAC3E;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,+BAA8B,yCAAyC,EAAE;AACzE;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,+BAA8B,6CAA6C,EAAE;AAC7E;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,kDAAiD,qBAAqB,EAAE;AACxE;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,oBAAmB,4BAA4B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA8D,kCAAkC;AAChG;AACA,MAAK;AACL;AACA;AACA,6CAA4C,yCAAyC,EAAE;AACvF;AACA;AACA,+CAA8C,sDAAsD;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA2D,sBAAsB,EAAE;AACnF;AACA;AACA;AACA;AACA;AACA,sDAAqD,gBAAgB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAgD,yDAAyD,EAAE;AAC3G;AACA,+BAA8B,WAAW;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB,2BAA0B,eAAe;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,qBAAqB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B;AAC3B;AACA,4BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA,sDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iEAAgE;AAChE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAkD;AAClD;AACA;AACA;AACA,6CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA,oFAAmF;AACnF;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,0CAAyC,wBAAwB,EAAE;AACnE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA,+BAA8B,wEAAwE,EAAE;AACxG;AACA;AACA,UAAS;AACT;AACA,8DAA6D,IAAI,+BAA+B;AAChG;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA0E,qEAAqE;AAC/I;AACA;AACA;AACA;AACA,uEAAsE,qBAAqB,EAAE;AAC7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8FAA6F,yEAAyE,EAAE;AACxK;AACA;AACA;AACA;AACA;AACA,gDAA+C,sBAAsB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA,uEAAsE,qBAAqB,EAAE;AAC7F,uDAAsD,qBAAqB,EAAE;AAC7E;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA,qBAAoB;AACpB;AACA;AACA;AACA;AACA,4CAA2C,sBAAsB;AACjE;AACA;AACA,mDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA2C,sBAAsB;AACjE;AACA;AACA,mDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC;AAClC,+CAA8C,EAAE;AAChD;AACA;AACA;AACA,4CAA2C,wDAAwD,EAAE;AACrG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA4E,8BAA8B;AAC1G;AACA;AACA;AACA,mEAAkE,iCAAiC;AACnG;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA0D,wEAAwE;AAClI;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA2D,yEAAyE;AACpI;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,aAAa;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB,mBAAmB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA0D,mBAAmB;AAC7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,sDAAsD;AAC1G;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA,+BAA8B,gCAAgC,EAAE;AAChE;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,+BAA8B,+CAA+C,EAAE;AAC/E;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,+BAA8B,0BAA0B,EAAE;AAC1D;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,gBAAe,uCAAuC;AACtD,gBAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAoD,gBAAgB;AACpE;AACA;AACA;AACA,iDAAgD,yCAAyC;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA8B;AAC9B,gDAA+C,aAAa;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,wBAAwB;AAC1D;AACA;AACA,gDAA+C,UAAU,mCAAmC;AAC5F;AACA;AACA,gDAA+C,UAAU,iCAAiC;AAC1F;AACA;AACA;AACA;AACA,+CAA8C,kBAAkB;AAChE;AACA;AACA,6CAA4C,kBAAkB;AAC9D;AACA;AACA,6DAA4D,kBAAkB;AAC9E;AACA;AACA;AACA,wCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAqD,2BAA2B;AAChF;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC,WAAW,6BAA6B;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAsD,kBAAkB;AACxE;AACA;AACA,uDAAsD,6CAA6C;AACnG;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC,WAAW,6BAA6B;AAC5E;AACA;AACA;AACA,0BAAyB,cAAc;AACvC;AACA,yDAAwD,0CAA0C;AAClG;AACA,oCAAmC,cAAc;AACjD;AACA,qDAAoD,sCAAsC;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yDAAwD,iFAAiF,EAAE;AAC3I;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB,yGAAwG,oCAAoC,EAAE;AAC9I;AACA;AACA,qGAAoG,uBAAuB,EAAE;AAC7H;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB,cAAa;AACb;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,+BAA8B,wCAAwC,EAAE;AACxE;AACA;AACA,UAAS;AACT;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,qFAAoF,wBAAwB,EAAE;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,uFAAsF,UAAU,EAAE;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,oDAAmD,sEAAsE,EAAE;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,yCAAyC,EAAE;AAC9E,uCAAsC,mBAAmB,EAAE;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA,qBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA,+EAA8E,wBAAwB,EAAE;AACxG;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,oDAAmD,mEAAmE,EAAE;AACxH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA6B,4CAA4C;AACzE;AACA;AACA,kBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,gCAA+B,mFAAmF;AAClH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAsD,+CAA+C,EAAE;AACvG;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS,IAAI;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,UAAS,yCAAyC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA0D,cAAc;AACxE,oEAAmE;AACnE;AACA,6FAA4F;AAC5F,WAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAuD,YAAY;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,2BAA2B;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA,cAAa,wCAAwC,kCAAkC,IAAI;AAC3F;AACA;AACA;AACA,cAAa,gBAAgB;AAC7B,cAAa,wBAAwB;AACrC,cAAa,0CAA0C;AACvD;AACA;AACA,8BAA6B,4BAA4B;AACzD,2BAA0B,4BAA4B;AACtD,sCAAqC,4BAA4B;AACjE,mCAAkC,4BAA4B;AAC9D,6BAA4B,4BAA4B;AACxD,0BAAyB,4GAA4G;AACrI;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,aAAY,iBAAiB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT,wEAAuE,+BAA+B;AACtG,iEAAgE,iCAAiC;AACjG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA,cAAa,wCAAwC,4BAA4B,IAAI;AACrF;AACA;AACA;AACA,cAAa,gBAAgB;AAC7B,cAAa,wBAAwB;AACrC,cAAa,0CAA0C;AACvD;AACA;AACA,yBAAwB,4BAA4B;AACpD,8BAA6B,4BAA4B;AACzD,2BAA0B,4BAA4B;AACtD,oCAAmC,4BAA4B;AAC/D,sCAAqC,4BAA4B;AACjE,mCAAkC,4BAA4B;AAC9D,uBAAsB,kCAAkC;AACxD,6BAA4B,4BAA4B;AACxD,0BAAyB,4GAA4G;AACrI;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+FAA8F;AAC9F,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA,wEAAuE,YAAY;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA4C;AAC5C;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,wDAAuD,uBAAuB,EAAE;AAChF,iEAAgE,uBAAuB,EAAE;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT,sEAAqE,eAAe;AACpF,+DAA8D,iCAAiC;AAC/F;AACA;AACA;AACA;AACA;AACA,gDAA+C,iFAAiF,EAAE;AAClI;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,wCAAwC,iCAAiC,IAAI;AAC1F;AACA;AACA;AACA,cAAa,gBAAgB;AAC7B,cAAa,kCAAkC;AAC/C,cAAa,gCAAgC;AAC7C;AACA;AACA,wBAAuB,0DAA0D,oBAAoB,IAAI;AACzG,iCAAgC,kEAAkE,oBAAoB,IAAI;AAC1H,0CAAyC,4BAA4B;AACrE,mCAAkC,4BAA4B;AAC9D;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA0D,2EAA2E;AACrI;AACA,+BAA8B,yBAAyB,EAAE;AACzD;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,wCAAwC,4BAA4B,IAAI;AACrF;AACA;AACA;AACA,cAAa,yBAAyB;AACtC,cAAa,wCAAwC;AACrD,cAAa,gDAAgD;AAC7D,cAAa,gCAAgC,iDAAiD,IAAI;AAClG;AACA;AACA,iCAAgC,kDAAkD;AAClF,mCAAkC,oDAAoD;AACtF;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC,sCAAsC;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uEAAsE,oCAAoC,EAAE;AAC5G;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gEAA+D,oCAAoC;AACnG;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kGAAiG,mCAAmC,EAAE;AACtI,kGAAiG,wBAAwB,EAAE,0BAA0B,EAAE;AACvJ;AACA,0DAAyD,8DAA8D;AACvH,8DAA6D,iCAAiC;AAC9F;AACA;AACA,gDAA+C,sBAAsB;AACrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB,cAAa;AACb;AACA;AACA,cAAa,iCAAiC;AAC9C;AACA;AACA;AACA,cAAa,gBAAgB;AAC7B,cAAa,6CAA6C;AAC1D,cAAa,gCAAgC;AAC7C,cAAa,gCAAgC;AAC7C,cAAa,4BAA4B;AACzC;AACA;AACA,MAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC,yDAAyD;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,2BAA0B,iEAAiE;AAC3F,UAAS,+FAA+F;AACxG,6BAA4B,2CAA2C,uBAAuB;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB,sBAAqB,8DAA8D,EAAE;AACrF;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB;AACpB;AACA;AACA,cAAa,uCAAuC,8DAA8D,IAAI;AACtH;AACA;AACA;AACA,cAAa,gCAAgC,+BAA+B,GAAG,4DAA4D,IAAI;AAC/I;AACA;AACA,MAAK;AACL;AACA,kCAAiC,cAAc;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa,qFAAqF;AAClG,cAAa;AACb;AACA;AACA;AACA,+BAA8B,WAAW;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAC;;;;;;;ACjwHD;AACA;AACA;AACA,iC;;;;;;ACHA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAiC,0CAA0C,EAAE;AAC7E;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb,cAAa;AACb,cAAa;AACb,cAAa;AACb;AACA,gBAAe,mBAAmB;AAClC;AACA;AACA,gBAAe,UAAU;AACzB;AACA,iBAAgB,cAAc;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,2C;;;;;;ACnHA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA,8BAA6B,SAAS;AACtC,8BAA6B,kBAAkB;AAC/C;AACA;AACA;AACA;AACA,oEAAmE,eAAe;AAClF;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA,8BAA6B,SAAS;AACtC,8BAA6B,qBAAqB;AAClD;AACA;AACA;AACA;AACA,mEAAkE,aAAa;AAC/E;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+C;;;;;;AC5JA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA,4BAA2B,kCAAkC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,gD;;;;;;ACrEA;AACA;AACA;AACA,+B;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,gBAAgB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT;AACA,YAAW,+CAA+C;AAC1D;AACA;AACA,YAAW,oFAAoF;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,WAAW;AACvB;AACA;AACA,aAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sC;;;;;;AC9DA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,eAAe;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT;AACA,YAAW,+CAA+C;AAC1D;AACA;AACA,YAAW,oFAAoF;AAC/F;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB;AACA,aAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAgC,uCAAuC;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAoC,uCAAuC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA,qCAAoC,uCAAuC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,qC;;;;;;AChKA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB,YAAW,IAAI;AACf,aAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,kC;;;;;;ACnEA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAsB,WAAW,uBAAuB,WAAW;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT;AACA,YAAW,8BAA8B;AACzC;AACA,YAAW,EAAE;AACb,aAAY,cAAc;AAC1B,aAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,mC;;;;;;AC/GA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB;AACA;AACA,aAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,kC;;;;;;AChEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT,UAAS;AACT;AACA,aAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sC;;;;;;AChDA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,UAAS;AACT,UAAS;AACT;AACA,aAAY,WAAW;AACvB;AACA;AACA,YAAW,kEAAkE;AAC7E;AACA,YAAW,qCAAqC;AAChD;AACA;AACA;AACA;AACA;AACA,YAAW,EAAE;AACb;AACA,aAAY,gBAAgB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,kC;;;;;;ACnJA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,UAAS;AACT,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,uC;;;;;;AC3BA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY,WAAW;AACvB;AACA,YAAW,SAAS;AACpB,aAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,iC;;;;;;ACrHA,4LAA2L,iBAAiB,iD;;;;;;ACA5M,oB;;;;;;;ACEA,8CAA+B,GAAoB,CAAC;AAEvC,oBAAW,GAAW;KAC/B;SACI,IAAI,EAAE,cAAc;SACpB,SAAS,EAAE,iCAAc;MAC5B;EACJ,CAAC;;;;;;;;;;;ACTF,8BAAc,GAAoB,CAAC;AACnC,8BAAc,GAAiB,CAAC;AAChC,8BAAc,GAA4B,CAAC;AAC3C,8BAAc,GAAkC,CAAC;;;;;;;;;;;;;;;;;ACHjD,kCAA0B,GAAe,CAAC;AAC1C,oCAA+B,GAAiB,CAAC;AAEjD,qBAAO,GAAgC,CAAC;AACxC,mCAAsB,GAAa,CAAC;AAEpC,qBAAO,GAAuB,CAAC;AAC/B,qBAAO,GAAiC,CAAC;AACzC,qBAAO,GAA6B,CAAC;AAMrC,oCAA0B,GAA6B,CA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I,CAAC;KAC/B,wBAAc,GAAG,MAAM,CAAC;KACxB,8BAAoB,GAAG,KAAK,CAAC;KAuMhD,gBAAC;AAAD,EAAC;AA7MY,kBAAS,YA6MrB;;;;;;;;AC/MD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAqB,mDAAmD;AACxE;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAmB,UAAU;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,kBAAiB,YAAY;AAC7B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2BAA0B;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,wCAAuC,SAAS;AAChD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;AACA,cAAa,iBAAiB;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAiB,SAAS;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,kBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iDAAgD,EAAE;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,kBAAiB,SAAS;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0CAAyC;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAwB,eAAe;AACvC;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,IAAG;AACH;AACA,yBAAwB,QAAQ;AAChC;AACA,sBAAqB,eAAe;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,UAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,sBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAqB,SAAS;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,oBAAmB,cAAc;AACjC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wDAAuD,OAAO;AAC9D;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,wDAAuD,OAAO;AAC9D;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAkB;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,sBAAqB,QAAQ;AAC7B;AACA;AACA,IAAG;AACH;AACA,gBAAe,SAAS;AACxB;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,oBAAmB,SAAS;AAC5B;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA,gBAAe,iBAAiB;AAChC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,kBAAiB,YAAY;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,kBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kBAAiB,gBAAgB;AACjC;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,kBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;AC5vDA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mCAAkC,SAAS;AAC3C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,qBAAoB,OAAO;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,sBAAqB,SAAS;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,2CAA0C,UAAU;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;;;;;;ACjHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAQ,WAAW;;AAEnB;AACA;AACA;AACA,SAAQ,WAAW;;AAEnB;AACA;AACA,IAAG;AACH;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;A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AAO,CAAC,GAA6B,CAAC,CAAC;UACnD,CAAC;;2BAAA;KA8BF,yBAAC;AAAD,EAAC;AA7BY,2BAAkB,qBA6B9B;;;;;;;AC9CD;AACA;AACA;AACA;AACA,0C;;;;;;ACJA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,UAAS;AACT,UAAS;AACT;AACA,YAAW,WAAW;AACtB;AACA,YAAW,SAAS;AACpB;AACA,aAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAoB,uBAAuB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA,0C;;;;;;AClJA,4gBAA2gB,kBAAkB,KAAK,gCAAgC,4KAA4K,eAAe,oEAAoE,sBAAsB,ygB;;;;;;ACAv1B,0BAAyB,qBAAqB,mBAAmB,iBAAiB,EAAE,mCAAmC,uBAAuB,EAAE,0CAA0C,gCAAgC,4BAA4B,yBAAyB,qBAAqB,kBAAkB,wBAAwB,4BAA4B,gBAAgB,EAAE,qBAAqB,qBAAqB,EAAE,kCAAkC,kBAAkB,uBAAuB,kBAAkB,EAAE,4BAA4B,kBAAkB,2BAA2B,EAAE,0BAA0B,wBAAwB,EAAE,mBAAmB,qBAAqB,EAAE,wBAAwB,0BAA0B,EAAE,iCAAiC,uBAAuB,kBAAkB,yBAAyB,EAAE,wCAAwC,oBAAoB,2BAA2B,4BAA4B,EAAE,G;;;;;;;;;;;;;;;;ACA97B,kCAAiC,GAAe,CAAC;AAEjD,mCAAsB,GAAa,CAAC;AAEpC,oCAAuB,GAAgD,CAAC;AAGxE,qCAA8B,GAAwB,CAAC;AAOvD;KAGI,+BACY,KAAsB;SAAtB,UAAK,GAAL,KAAK,CAAiB;KAC9B,CAAC;KAEL,0CAAU,GAAV;SACI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;aACzB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,uBAAa,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;SAC5E,CAAC;KACL,CAAC;KAED,4CAAY,GAAZ;SACI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,uBAAa,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;KAC9E,CAAC;KAED,+CAAe,GAAf;SACI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,uBAAa,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;KACpE,CAAC;KAED,8CAAc,GAAd,UAAe,IAAY;SACvB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,uBAAa,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;KACtF,CAAC;KAED,8CAAc,GAAd,UAAe,OAAe;SAC1B,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;SAChC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,uBAAa,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;KACzF,CAAC;KA3BD;SAAC,YAAK,EAAE;;0DAAA;KANZ;SAAC,gBAAS,CAAC;aACP,QAAQ,EAAE,eAAe;aACzB,QAAQ,EAAE,mBAAO,CAAC,GAAgC,CAAC;aACnD,MAAM,EAAE,CAAC,mBAAO,CAAC,GAAgC,CAAC,CAAC;UACtD,CAAC;;8BAAA;KA8BF,4BAAC;AAAD,EAAC;AA7BY,8BAAqB,wBA6BjC;;;;;;;AC3CD,sNAAqN,eAAe,uLAAuL,uBAAuB,yMAAyM,4DAA4D,knB;;;;;;ACAvrB,kDAAiD,oBAAoB,EAAE,yCAAyC,qBAAqB,EAAE,qBAAqB,sBAAsB,aAAa,EAAE,2BAA2B,sBAAsB,kBAAkB,EAAE,wBAAwB,sBAAsB,aAAa,uBAAuB,uBAAuB,EAAE,8BAA8B,sBAAsB,qBAAqB,EAAE,iBAAiB,uBAAuB,EAAE,4CAA4C,mBAAmB,qCAAqC,iBAAiB,wBAAwB,EAAE,0DAA0D,mDAAmD,kCAAkC,EAAE,uBAAuB,mBAAmB,8BAA8B,EAAE,yBAAyB,kBAAkB,yBAAyB,EAAE,G;;;;;;;;;;ACAt5B,8BAAc,GAAoB,CAAC;;;;;;;;;;;;;;;;;ACAnC,kCAAuD,GAAe,CAAC;AAOvE;KAMI;SAJU,WAAM,GAAG,IAAI,mBAAY,EAAE,CAAC;SAKlC,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;SAC9C,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;KACrB,CAAC;KAED,qCAAW,GAAX,UAAY,KAAa;SACrB,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC;aACzB,MAAM,CAAC;SACX,CAAC;SAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;aACb,QAAQ,EAAE,IAAI,CAAC,OAAO;aACtB,KAAK,EAAE,KAAK;UACf,CAAC,CAAC;SAEH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACzB,CAAC;KArBD;SAAC,YAAK,EAAE;;qDAAA;KACR;SAAC,aAAM,EAAE;;oDAAA;KAPb;SAAC,gBAAS,CAAC;aACP,QAAQ,EAAE,QAAQ;aAClB,QAAQ,EAAE,mBAAO,CAAC,GAAyB,CAAC;aAC5C,MAAM,EAAE,CAAC,mBAAO,CAAC,GAAyB,CAAC,CAAC;UAC/C,CAAC;;wBAAA;KAwBF,sBAAC;AAAD,EAAC;AAvBY,wBAAe,kBAuB3B;;;;;;;AC9BD,+NAA8N,+HAA+H,UAAU,gD;;;;;;ACAvW,0BAAyB,mBAAmB,EAAE,YAAY,gBAAgB,EAAE,mCAAmC,uBAAuB,wBAAwB,EAAE,0CAA0C,gCAAgC,4BAA4B,yBAAyB,qBAAqB,kBAAkB,wBAAwB,4BAA4B,gBAAgB,EAAE,G;;;;;;;;;;ACA5Y,8BAAc,GAAmB,CAAC;AAClC,8BAAc,GAA2B,CAAC;AAC1C,8BAAc,GAAiC,CAAC;AAChD,8BAAc,GAAgB,CAAC;AAC/B,8BAAc,GAAQ,CAAC;AACvB,8BAAc,GAAiB,CAAC;AAChC,8BAAc,GAAqB,CAAC;;;;;;;;;;;;;;;;;ACNpC,kCAA8D,GAAe,CAAC;AAC9E,oCAA+B,GAAiB,CAAC;AAEjD,qBAAO,GAAgC,CAAC;AACxC,mCAAsB,GAAa,CAAC;AACpC,qBAAO,GAAuB,CAAC;AAC/B,qBAAO,GAA6B,CAAC;AAGrC,yCAA+B,GAAyB,CAAC;AAIzD,kDAAmC,GAA6B,CAAC;AAGjE,qCAA6B,GAAqB,CAAC;AACnD,mCAAyB,GAA4B,CAAC;AAQtD;KASI,wBACY,KAAsB,EACtB,KAAqB,EACrB,cAA8B;SAZ9C,iBA2FC;SAjFe,UAAK,GAAL,KAAK,CAAiB;SACtB,UAAK,GAAL,KAAK,CAAgB;SACrB,mBAAc,GAAd,cAAc,CAAgB;SATlC,YAAO,GAAY,KAAK,CAAC;SACzB,aAAQ,GAAU,SAAS,CAAC;SAC5B,eAAU,GAAW,SAAS,CAAC;SASnC,yDAAyD;SACzD,cAAc,CAAC,UAAU,CAAC,cAAc,EAAE;aACtC,KAAK,EAAE,UAAU,EAAO,EAAE,SAAc,EAAE,MAAW;iBACjD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;aACxD,CAAC;UACJ,CAAC,CAAC;SAEH,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,UAAC,KAAU;aACrC,KAAI,CAAC,SAAS,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;SAC1D,CAAC,CAAC,CAAC;SAEH,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,UAAC,KAAU;aACrC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACX,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,sBAAY,CAAC,kBAAkB,CAC/C,KAAI,CAAC,KAAK,CAAC,EAAE,EACb,KAAI,CAAC,SAAS,EACd,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,CACvC,CAAC,CAAC;aACP,CAAC;SACL,CAAC,CAAC,CAAC;SAEH,IAAI,CAAC,YAAY,GAAG,KAAK;cACpB,MAAM;cACN,MAAM,CAAS,IAAI,CAAC;cACpB,SAAS,CAAC,UAAC,EAAU,IAAK,YAAK,CAAC,GAAG,CAAC,gBAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAxB,CAAwB,CAAC;cACnD,SAAS,CAAC,UAAC,KAAY;aACpB,KAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACvB,CAAC,CAAC,CAAC;KACX,CAAC;KAED,oCAAW,GAAX;SACI,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;KACpC,CAAC;KAED,sCAAa,GAAb;SACI,IAAI,CAAC,gBAAgB,EAAE,CAAC;SAExB,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;SAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KACxB,CAAC;KAED,sCAAa,GAAb;SACI,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACzB,CAAC;KAED,qCAAY,GAAZ,UAAa,WAAwB;SACjC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,sBAAY,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;SAC7E,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC;SAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;KACzB,CAAC;KAED,mCAAU,GAAV,UAAW,KAAa;SACpB,iEAAiE;SACjE,IAAI,CAAC,gBAAgB,EAAE,CAAC;SACxB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACrB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;KAC5B,CAAC;KAED,qCAAY,GAAZ;SACI,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;KAChC,CAAC;KAED,mCAAU,GAAV,UAAW,WAAwB,EAAE,KAAa;SAC9C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,sBAAY,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;SACrF,IAAI,CAAC,gBAAgB,EAAE,CAAC;KAC5B,CAAC;KAED,qCAAY,GAAZ,UAAa,WAAwB,EAAE,KAAa;SAChD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,sBAAY,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;SACvF,IAAI,CAAC,gBAAgB,EAAE,CAAC;KAC5B,CAAC;KAEO,yCAAgB,GAAxB;SACI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC;aAChC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,UAAU,EAAE,CAAC;SAC5D,CAAC;KACL,CAAC;KAzFD;SAAC,mBAAY,CAAC,yCAAkB,CAAC;;uDAAA;KAPrC;SAAC,gBAAS,CAAC;aACP,QAAQ,EAAE,OAAO;aACjB,QAAQ,EAAE,mBAAO,CAAC,GAAwB,CAAC;aAC3C,MAAM,EAAE,CAAC,mBAAO,CAAC,GAAwB,CAAC,CAAC;aAC3C,aAAa,EAAE,CAAC,4BAAc,CAAC;UAClC,CAAC;;uBAAA;KA4FF,qBAAC;AAAD,EAAC;AA3FY,uBAAc,iBA2F1B;;;;;;;;;;;;;;;;;ACpHD,kCAAyF,GAAe,CAAC;AAEzG,0CAA6B,GAAsD,CAAC;AACpF,0CAQO,GAAsD,CAAC;AAE9D,4CAA8B,GAAkC,CAAC;AAQjE;KAgBI,4BAAoB,MAAqB;SAArB,WAAM,GAAN,MAAM,CAAe;SAT/B,SAAI,GAAG,IAAI,mBAAY,EAAe,CAAC;SACvC,WAAM,GAAG,IAAI,mBAAY,EAAQ,CAAC;SAClC,SAAI,GAAG,IAAI,mBAAY,EAAQ,CAAC;SAChC,WAAM,GAAG,IAAI,mBAAY,EAAQ,CAAC;KAMC,CAAC;KAE9C,qCAAQ,GAAR;SACI,IAAI,CAAC,UAAU,EAAE,CAAC;SAClB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACxB,CAAC;KACL,CAAC;KAED,wCAAW,GAAX,UAAY,OAAsB;SAC7B,sCAAsC;SACvC,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC7B,qCAAqC;aACjC,IAAI,CAAC,UAAU,EAAE,CAAC;SACtB,CAAC;KACL,CAAC;KAED,6CAAgB,GAAhB,UAAiB,YAAyB;SACtC,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC;SAChC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACrB,IAAI,CAAC,UAAU,EAAE,CAAC;SAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACjC,CAAC;KAED,uCAAU,GAAV;SACI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;aACjC,MAAM,CAAC;SACX,CAAC;SACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;SACpB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KACrB,CAAC;KAED,uCAAU,GAAV;SACI,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;SACrB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACvB,CAAC;KAED,yCAAY,GAAZ;SACI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACvB,CAAC;KAEO,uCAAU,GAAlB;SACI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;aACpB,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC;SACpC,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,YAAY,+BAAgB,CAAC,CAAC,CAAC;aACtD,QAAQ;aACR,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;aACxB,IAAI,MAAM,GAAqB,IAAI,CAAC,WAA+B,CAAC;aACpE,IAAM,OAAK,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC;aACzD,IAAI,CAAC,KAAK,GAAG,cAAY,OAAK,MAAG,CAAC;SACtC,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,YAAY,8BAAe,CAAC,CAAC,CAAC;aACrD,aAAa;aACb,IAAI,MAAM,GAAoB,IAAI,CAAC,WAA8B,CAAC;aAClE,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;aACvB,IAAI,CAAC,KAAK,GAAG,iBAAe,MAAM,CAAC,IAAM,CAAC;SAC9C,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,YAAY,6BAAc,CAAC,CAAC,CAAC;aACpD,4BAA4B;aAC5B,IAAM,MAAM,GAAmB,IAAI,CAAC,WAA6B,CAAC;aAClE,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;SACrC,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,YAAY,qCAAsB,CAAC,CAAC,CAAC;aAC5D,qCAAqC;aACrC,IAAM,MAAM,GAA2B,IAAI,CAAC,WAAqC,CAAC;aAClF,IAAI,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC;SAC7C,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,YAAY,mCAAoB,IAAI,IAAI,CAAC,WAAW,YAAY,qCAAsB,CAAC,CAAC,CAAC;aAChH,0BAA0B;aAC1B,IAAI,CAAC,+BAA+B,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC3D,CAAC;SAAC,IAAI,CAAC,CAAC;aACJ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC;SACnD,CAAC;KACL,CAAC;KAEO,gDAAmB,GAA3B,UAA4B,MAAsB;SAC9C,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;aAClD,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC;aAChC,MAAM,CAAC;SACX,CAAC;SAED,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;aACzB,YAAY;aACZ,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;aAC/B,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC;SAC/B,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;aAC/B,WAAW;aACX,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;aAC5B,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;SAC9B,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;aAClC,cAAc;aACd,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;aAC7B,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC;SACjC,CAAC;SAED,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;aACvB,IAAM,QAAQ,GAAW,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAE,SAAS,CAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAClG,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;iBACX,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC;aAC3B,CAAC;SACL,CAAC;SAED,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;aACxB,+BAA+B;aAC/B,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,2BAAY,CAAC,QAAQ,EAAE,CAAC,KAAK,2BAAY,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;iBACvE,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBAC7B,IAAI,CAAC,KAAK,IAAI,GAAG,GAAG,2BAAY,CAAC,CAAC,CAAC,CAAC;iBACxC,CAAC;aACL,CAAC;SACL,CAAC;KACL,CAAC;KAEO,4DAA+B,GAAvC,UAAwC,MAAmB;SACvD,IAAI,WAAgB,CAAC;SACrB,EAAE,CAAC,CAAC,MAAM,YAAY,mCAAoB,CAAC,CAAC,CAAC;aACzC,qBAAqB;aACrB,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;aAChC,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC;aAC5B,WAAW,GAAG,IAAI,CAAC,WAAmC,CAAC;SAC3D,CAAC;SAAC,IAAI,CAAC,CAAC;aACJ,eAAe;aACf,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;aAChC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;aACtB,WAAW,GAAG,IAAI,CAAC,WAAqC,CAAC;SAC7D,CAAC;SAED,IAAI,OAAgB,CAAC;SACrB,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAChC,IAAI,CAAC,KAAK,IAAI,SAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,YAAM,WAAW,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO,CAAE,CAAC;aACzF,OAAO,GAAG,IAAI,CAAC;SACnB,CAAC;SACD,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAChC,IAAI,CAAC,KAAK,IAAI,OAAI,OAAO,GAAG,KAAK,GAAG,IAAI,UAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,YAAM,WAAW,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,CAAE,CAAC;SACjH,CAAC;KACL,CAAC;KAEO,wDAA2B,GAAnC,UAAoC,MAA8B;SAC9D,mCAAmC;SACnC,EAAE,CAAC,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;aAC7B,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;aAChC,IAAI,CAAC,KAAK,GAAG,sBAAsB,CAAC;SACxC,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;aACnC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;aAC5B,IAAI,CAAC,KAAK,GAAG,qBAAqB,CAAC;SACvC,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;aACtC,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;aAC7B,IAAI,CAAC,KAAK,GAAG,wBAAwB,CAAC;SAC1C,CAAC;SAED,IAAM,YAAY,GAAa,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;SAC3D,IAAM,eAAe,GAAc,MAAM,CAAC,eAAe,EAAE,CAAC;SAC5D,IAAM,oBAAoB,GAAa,EAAE,CAAC;SAC1C,eAAe,CAAC,OAAO,CAAC,UAAC,UAAU,EAAE,GAAG;aACpC,EAAE,CAAC,CAAC,UAAU,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBAClC,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;aACjD,CAAC;SACL,CAAC,CAAC,CAAC;SACH,IAAI,CAAC,KAAK,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAClD,CAAC;KAxKD;SAAC,YAAK,EAAE;;4DAAA;KACR;SAAC,YAAK,EAAE;;yDAAA;KACR;SAAC,YAAK,EAAE;;0DAAA;KACR;SAAC,YAAK,EAAE;;yDAAA;KAER;SAAC,aAAM,EAAE;;qDAAA;KACT;SAAC,aAAM,EAAE;;uDAAA;KACT;SAAC,aAAM,EAAE;;qDAAA;KACT;SAAC,aAAM,EAAE;;uDAAA;KAhBb;SAAC,gBAAS,CAAC;aACP,QAAQ,EAAE,YAAY;aACtB,QAAQ,EAAE,mBAAO,CAAC,GAA6B,CAAC;aAChD,MAAM,EAAE,CAAC,mBAAO,CAAC,GAA6B,CAAC,CAAC;aAChD,IAAI,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE;UAClC,CAAC;;2BAAA;KA4KF,yBAAC;AAAD,EAAC;AA3KY,2BAAkB,qBA2K9B;;;;;;;;AChMD,YAAY,YAAY;KACpB,uDAAmB;KACnB,yDAAmB;KACnB,qDAAmB;KACnB,qDAAmB;KACnB,0DAAmB;KACnB,4DAAmB;KACnB,wDAAmB;KACnB,yDAAmB;AACvB,EAAC,EATW,oBAAY,KAAZ,oBAAY,QASvB;AATD,KAAY,YAAY,GAAZ,oBASX;;;;;;;;;;;ACTD,8BAAc,GAAoB,CAAC;AACnC,8BAAc,GAAuB,CAAC;AACtC,8BAAc,GAAkB,CAAC;AACjC,8BAAc,GAAe,CAAC;AAC9B,8BAAc,GAAwB,CAAC;AACvC,8BAAc,GAA0B,CAAC;AACzC,8BAAc,GAA0B,CAAC;AACzC,8BAAc,GAAmB,CAAC;AAClC,8BAAc,GAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;ACRzB,oCAA6B,GAAc,CAAC;AAE5C,yCAA4D,GAAe,CAAC;AAE5E;KAAsC,oCAAW;KAK7C,0BAAY,KAAwB;SAChC,iBAAO,CAAC;SACR,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aACT,MAAM,CAAC;SACX,CAAC;SACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;KAC7B,CAAC;KAED,wCAAa,GAAb,UAAc,QAAa;SACvB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;SACrC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;SAC5B,MAAM,CAAC,IAAI,CAAC;KAChB,CAAC;KAED,sCAAW,GAAX,UAAY,MAAiB;SACzB,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;SACxC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;SACjC,MAAM,CAAC,IAAI,CAAC;KAChB,CAAC;KAED,sCAAW,GAAX;SACI,MAAM,CAAC;aACH,eAAe,EAAE,6BAAe,CAAC,gBAAgB;aACjD,KAAK,EAAE,IAAI,CAAC,KAAK;UACpB,CAAC;KACN,CAAC;KAED,oCAAS,GAAT,UAAU,MAAiB;SACvB,MAAM,CAAC,UAAU,CAAC,2BAAa,CAAC,gBAAgB,CAAC,CAAC;SAClD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnC,CAAC;KAED,mCAAQ,GAAR;SACI,MAAM,CAAC,+BAA4B,IAAI,CAAC,KAAK,QAAI,CAAC;KACtD,CAAC;KArCD;SAAC,qBAAY;;oDAAA;KAsCjB,uBAAC;AAAD,EAAC,CAxCqC,yBAAW,GAwChD;AAxCY,yBAAgB,mBAwC5B;;;;;;;;;;;;;AC5CD,0CAA6B,GAAoB,CAAC;AAGlD,YAAY,aAAa;KACrB,qEAAoC;KACpC;;;;;;;;;;;OAWE;KACF,6EAAoC;KACpC,qFAAoC;KACpC;;;;;OAKE;KACF,8FAAoC;KACpC,kFAAoC;KACpC,sFAAoC;KACpC,0EAAoC;KACpC,wEAAoC;AACxC,EAAC,EA3BW,qBAAa,KAAb,qBAAa,QA2BxB;AA3BD,KAAY,aAAa,GAAb,qBA2BX;AAED,YAAY,cAAc;KACtB,qDAAS;KACT,mDAAQ;KACR,yDAAW;AACf,EAAC,EAJW,sBAAc,KAAd,sBAAc,QAIzB;AAJD,KAAY,cAAc,GAAd,sBAIX;AAEU,wBAAe,GAAG;KACzB,cAAc,EAAoB,KAAK;KACvC,sBAAsB,EAAY,aAAa;KAC/C,oBAAoB,EAAc,WAAW;KAC7C,sBAAsB,EAAY,aAAa;KAC/C,gBAAgB,EAAkB,OAAO;KACzC,eAAe,EAAmB,MAAM;EAC3C,CAAC;AAEF;KAA0C,+BAAyB;KAAnE;SAA0C,8BAAyB;KAgCnE,CAAC;KA/BG,2CAAqB,GAArB,UAAsB,QAAa;SAC/B,IAAI,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;SACjD,IAAI,qBAAqB,GAAG,uBAAe,CAAC,oBAAoB,CAAC,CAAC;SAClE,EAAE,CAAC,CAAC,QAAQ,CAAC,eAAe,KAAK,qBAAqB,CAAC,CAAC,CAAC;aACrD,MAAM,aAAW,oBAAoB,0BAAqB,QAAQ,CAAC,eAAiB,CAAC;SACzF,CAAC;KACL,CAAC;KAED,gDAA0B,GAA1B,UAA2B,MAAiB;SACxC,IAAI,SAAS,GAAW,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;SAC9C,IAAI,iBAAiB,GAAkB,MAAM,CAAC,SAAS,EAAE,CAAC;SAC1D,IAAI,aAAa,GAAkB,aAAa,CAAC,SAAS,CAAC,CAAC;SAC5D,EAAE,CAAC,CAAC,aAAa,KAAK,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;aACjD,EAAE,CAAC,CAAC,iBAAiB,GAAG,aAAa,CAAC,cAAc,IAAI,iBAAiB,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC;iBAC3G,MAAM,aAAW,SAAS,qBAAgB,iBAAmB,CAAC;aAClE,CAAC;SACL,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,aAAa,KAAK,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC;aAChE,EAAE,CAAC,CAAC,iBAAiB,GAAG,aAAa,CAAC,sBAAsB;iBACxD,iBAAiB,GAAG,aAAa,CAAC,0BAA0B,CAAC,CAAC,CAAC;iBAC/D,MAAM,aAAW,SAAS,qBAAgB,iBAAmB,CAAC;aAClE,CAAC;SACL,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,iBAAiB,KAAK,aAAa,CAAC,CAAC,CAAC;aAC7C,MAAM,aAAW,SAAS,qBAAgB,iBAAmB,CAAC;SAClE,CAAC;SACD,MAAM,CAAC,iBAAiB,CAAC;KAC7B,CAAC;KAML,kBAAC;AAAD,EAAC,CAhCyC,2BAAY,GAgCrD;AAhCqB,oBAAW,cAgChC;;;;;;;;AC/ED,wCAA0D,GAAe,CAAC;AAC1E,8CAAiC,GAAoB,CAAC;AACtD,4CAA+B,GAAkB,CAAC;AAClD,yCAA6D,GAAe,CAAC;AAC7E,oDAAuC,GAA0B,CAAC;AAClE,kDAAqC,GAAwB,CAAC;AAC9D,oDAAuC,GAA0B,CAAC;AAClE,6CAAgC,GAAmB,CAAC;AAcpD;KAiBI,6BAAY,QAAsC;SAC9C,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;aACZ,MAAM,CAAC;SACX,CAAC;SAED,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;SAEhD,MAAM,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;aAC3B,KAAK,6BAAe,CAAC,cAAc;iBAC/B,IAAI,CAAC,MAAM,GAAG,4BAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;iBAC9C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;iBAClC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;iBAC1C,KAAK,CAAC;aACV,KAAK,6BAAe,CAAC,sBAAsB;iBACvC,IAAI,CAAC,MAAM,GAAG,4BAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;iBAC9C,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;iBAClD,KAAK,CAAC;aACV,KAAK,6BAAe,CAAC,oBAAoB;iBACrC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC;iBACxB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC;iBACxB,KAAK,CAAC;aACV,KAAK,6BAAe,CAAC,sBAAsB;iBACvC,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC;iBAC1B,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC;iBAC1B,KAAK,CAAC;aACV,KAAK,6BAAe,CAAC,eAAe;iBAChC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;iBAC1B,KAAK,CAAC;aACV,KAAK,6BAAe,CAAC,gBAAgB;iBACjC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;iBAC5B,KAAK,CAAC;aACV;iBACI,KAAK,CAAC;SACd,CAAC;KACL,CAAC;KAED,wCAAU,GAAV;SACI,MAAM,CAAC;aACH,eAAe,EAAE,IAAI,CAAC,eAAe;aACrC,MAAM,EAAE,IAAI,CAAC,MAAM;aACnB,KAAK,EAAE,IAAI,CAAC,KAAK;aACjB,IAAI,EAAE,IAAI,CAAC,IAAI;aACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACvB,YAAY,EAAE,IAAI,CAAC,YAAY;aAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;aACvC,SAAS,EAAE;iBACP,CAAC,EAAE,IAAI,CAAC,KAAK;iBACb,CAAC,EAAE,IAAI,CAAC,KAAK;cAChB;aACD,WAAW,EAAE;iBACT,CAAC,EAAE,IAAI,CAAC,OAAO;iBACf,CAAC,EAAE,IAAI,CAAC,OAAO;cAClB;UACJ,CAAC;KACN,CAAC;KAED,2CAAa,GAAb,UAAc,SAAoB;SAC9B,IAAI,IAAI,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC;SAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;SAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;KAC1C,CAAC;KAED,+CAAiB,GAAjB;SACI,IAAI,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;SAC7B,IAAI,CAAC,aAAa,GAAG,0BAAa,CAAC,eAAe,CAAC;SACnD,MAAM,CAAkB,CAAC,IAAI,4BAAe,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;KACvE,CAAC;KAED,6CAAe,GAAf,UAAgB,YAAuB;SACnC,IAAI,OAAO,GAAG,CAAC,CAAC;SAChB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;aAC3C,OAAO,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC5C,CAAC;SACD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;KACpC,CAAC;KAED,6CAAe,GAAf;SACI,IAAI,mBAAmB,GAAc,EAAE,CAAC;SACxC,GAAG,CAAC,CAAC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,OAAO,MAAM,CAAC,EAAE,CAAC;aAChE,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;SACnD,CAAC;SACD,MAAM,CAAC,mBAAmB,CAAC;KAC/B,CAAC;KAED,qCAAO,GAAP;SACI,MAAM,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;aAC3B,eAAe;aACf,KAAK,6BAAe,CAAC,gBAAgB;iBACjC,MAAM,CAAC,IAAI,mCAAgB,EAAE,CAAC,YAAY,CAAC;qBACvC,eAAe,EAAE,IAAI,CAAC,eAAe;qBACrC,KAAK,EAAE,IAAI,CAAC,KAAK;kBACpB,CAAC,CAAC;aACP,cAAc;aACd,KAAK,6BAAe,CAAC,eAAe;iBAChC,MAAM,CAAC,IAAI,iCAAe,EAAE,CAAC,YAAY,CAAC;qBACtC,eAAe,EAAE,IAAI,CAAC,eAAe;qBACrC,IAAI,EAAE,IAAI,CAAC,IAAI;kBAClB,CAAC,CAAC;aACP,kBAAkB;aAClB,KAAK,6BAAe,CAAC,cAAc;iBAC/B,MAAM,CAAC,IAAI,+BAAc,EAAE,CAAC,YAAY,CAAC;qBACrC,eAAe,EAAE,IAAI,CAAC,eAAe;qBACrC,MAAM,EAAE,4BAAc,CAAC,IAAI,CAAC,MAAM,CAAC;qBACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ;qBACvB,YAAY,EAAE,IAAI,CAAC,YAAY;kBAClC,CAAC,CAAC;aACP,gBAAgB;aAChB,KAAK,6BAAe,CAAC,sBAAsB;iBACvC,MAAM,CAAC,IAAI,+CAAsB,EAAE,CAAC,YAAY,CAAC;qBAC7C,eAAe,EAAE,IAAI,CAAC,eAAe;qBACrC,MAAM,EAAE,4BAAc,CAAC,IAAI,CAAC,MAAM,CAAC;qBACnC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;kBAC1C,CAAC,CAAC;aACP,KAAK,6BAAe,CAAC,oBAAoB;iBACrC,MAAM,CAAC,IAAI,2CAAoB,EAAE,CAAC,YAAY,CAAC;qBAC3C,eAAe,EAAE,IAAI,CAAC,eAAe;qBACrC,CAAC,EAAE,IAAI,CAAC,KAAK;qBACb,CAAC,EAAE,IAAI,CAAC,KAAK;kBAChB,CAAC,CAAC;aACP,KAAK,6BAAe,CAAC,sBAAsB;iBACvC,MAAM,CAAC,IAAI,+CAAsB,EAAE,CAAC,YAAY,CAAC;qBAC7C,eAAe,EAAE,IAAI,CAAC,eAAe;qBACrC,CAAC,EAAE,IAAI,CAAC,OAAO;qBACf,CAAC,EAAE,IAAI,CAAC,OAAO;kBAClB,CAAC,CAAC;aACP;iBACI,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;SAC5E,CAAC;KACL,CAAC;KAED,yCAAW,GAAX;SACI,MAAM,CAAC,IAAI,CAAC,eAAe,KAAK,6BAAe,CAAC,cAAc,CAAC;KACnE,CAAC;KAED,iDAAmB,GAAnB;SACI,MAAM,CAAC,IAAI,CAAC,eAAe,KAAK,6BAAe,CAAC,sBAAsB,CAAC;KAC3E,CAAC;KAED,8CAAgB,GAAhB;SACI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,4BAAc,CAAC,IAAI,CAAC;KAC/C,CAAC;KAED,+CAAiB,GAAjB;SACI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,4BAAc,CAAC,KAAK,CAAC;KAChD,CAAC;KAED,iDAAmB,GAAnB;SACI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,4BAAc,CAAC,OAAO,CAAC;KAClD,CAAC;KAEL,0BAAC;AAAD,EAAC;AAvKY,4BAAmB,sBAuK/B;;;;;;;;;;;;;;;;;;;;;;AC5LD,oCAAwC,GAAc,CAAC;AAGvD,yCAA4E,GAAe,CAAC;AAE5F,KAAM,mBAAmB,GAAG,CAAC,CAAC,CAAC,iCAAiC;AAShE;KAAoC,kCAAW;KAW3C,wBAAY,KAAsB;SAC9B,iBAAO,CAAC;SACR,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aACT,MAAM,CAAC;SACX,CAAC;SACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;SAC3B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;SAC/B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;KAC3C,CAAC;KAED,sCAAa,GAAb,UAAc,QAAgC;SAC1C,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;SACrC,IAAI,CAAC,MAAM,GAAG,4BAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAC9C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;SAClC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;SAC1C,MAAM,CAAC,IAAI,CAAC;KAChB,CAAC;KAED,oCAAW,GAAX,UAAY,MAAiB;SACzB,IAAI,aAAa,GAAkB,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;SAC3E,IAAI,YAAY,GAAW,aAAa,GAAG,2BAAa,CAAC,cAAc,CAAC;SACxE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,mBAAmB,CAAC,CAAC;SAC7D,YAAY,IAAI,mBAAmB,CAAC;SACpC,EAAE,CAAC,CAAC,YAAY,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aACzB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;SACvC,CAAC;SACD,EAAE,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC;aACrB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;SAC3C,CAAC;SACD,MAAM,CAAC,IAAI,CAAC;KAChB,CAAC;KAED,oCAAW,GAAX;SACI,IAAI,QAAQ,GAA2B;aACnC,eAAe,EAAE,6BAAe,CAAC,cAAc;aAC/C,MAAM,EAAE,4BAAc,CAAC,IAAI,CAAC,MAAM,CAAC;UACtC,CAAC;SAEF,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;aACrB,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;SACtC,CAAC;SAED,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;aACtB,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;SAC9C,CAAC;SAED,MAAM,CAAC,QAAQ,CAAC;KACpB,CAAC;KAED,kCAAS,GAAT,UAAU,MAAiB;SACvB,IAAI,YAAY,GAAW,2BAAa,CAAC,cAAc,CAAC;SACxD,YAAY,IAAI,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC;SAElD,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;aACtB,EAAE,YAAY,CAAC;aACf,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;iBACrB,EAAE,YAAY,CAAC;aACnB,CAAC;SACL,CAAC;SACD,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;SAChC,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;aACrB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACrC,CAAC;SACD,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;aACtB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACzC,CAAC;KACL,CAAC;KAED,iCAAQ,GAAR;SACI,MAAM,CAAC,8BAA2B,IAAI,CAAC,MAAM,sBAAe,IAAI,CAAC,QAAQ,0BAAmB,IAAI,CAAC,YAAY,QAAI,CAAC;KACtH,CAAC;KAED,yCAAgB,GAAhB,UAAiB,QAAsB;SACnC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;KAC9C,CAAC;KAED,oCAAW,GAAX;SACI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;KAC3B,CAAC;KAED,qCAAY,GAAZ;SACI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;KAC/B,CAAC;KAED,qCAAY,GAAZ;SACI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,4BAAc,CAAC,IAAI,CAAC;KAC/C,CAAC;KAED,sCAAa,GAAb;SACI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,4BAAc,CAAC,KAAK,CAAC;KAChD,CAAC;KAED,wCAAe,GAAf;SACI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,4BAAc,CAAC,OAAO,CAAC;KAClD,CAAC;KAvGD;SAAC,mBAAU,CAAC,4BAAc,CAAC;;mDAAA;KAG3B;SAAC,oBAAW;;qDAAA;KAGZ;SAAC,oBAAW;;yDAAA;KAkGhB,qBAAC;AAAD,EAAC,CA1GmC,yBAAW,GA0G9C;AA1GY,uBAAc,iBA0G1B;;;;;;;;;;;;;;;;;;;;;;ACxHD,oCAAwC,GAAc,CAAC;AAEvD,yCAA4E,GAAe,CAAC;AAE5F,YAAY,YAAY;KACpB,+CAAa;KACb,mDAAe;KACf,iDAAc;AAClB,EAAC,EAJW,oBAAY,KAAZ,oBAAY,QAIvB;AAJD,KAAY,YAAY,GAAZ,oBAIX;AAAA,EAAC;AAQF;KAA4C,0CAAW;KAOnD,gCAAY,KAA8B;SACtC,iBAAO,CAAC;SACR,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aACT,MAAM,CAAC;SACX,CAAC;SACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;SAC3B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;KACnD,CAAC;KAED,8CAAa,GAAb,UAAc,QAAwC;SAClD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;SACrC,IAAI,CAAC,MAAM,GAAG,4BAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SAC9C,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;SAClD,MAAM,CAAC,IAAI,CAAC;KAChB,CAAC;KAED,4CAAW,GAAX,UAAY,MAAiB;SACzB,IAAI,aAAa,GAAkB,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;SAC3E,IAAI,CAAC,MAAM,GAAG,aAAa,GAAG,2BAAa,CAAC,sBAAsB,CAAC;SACnE,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;SAC3C,MAAM,CAAC,IAAI,CAAC;KAChB,CAAC;KAED,4CAAW,GAAX;SACI,MAAM,CAAC;aACH,eAAe,EAAE,6BAAe,CAAC,sBAAsB;aACvD,MAAM,EAAE,4BAAc,CAAC,IAAI,CAAC,MAAM,CAAC;aACnC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;UAC1C,CAAC;KACN,CAAC;KAED,0CAAS,GAAT,UAAU,MAAiB;SACvB,MAAM,CAAC,UAAU,CAAC,2BAAa,CAAC,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;SACtE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAC7C,CAAC;KAED,gDAAe,GAAf,UAAgB,YAAuB;SACnC,IAAI,OAAO,GAAG,CAAC,CAAC;SAChB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;aAC3C,OAAO,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;SAC5C,CAAC;SACD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;KACpC,CAAC;KAED,gDAAe,GAAf;SACI,IAAI,mBAAmB,GAAc,EAAE,CAAC;SACxC,GAAG,CAAC,CAAC,IAAI,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,OAAO,MAAM,CAAC,EAAE,CAAC;aAChE,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;SACnD,CAAC;SACD,MAAM,CAAC,mBAAmB,CAAC;KAC/B,CAAC;KAED,yCAAQ,GAAR;SACI,MAAM,CAAC,gDAA6C,IAAI,CAAC,gBAAgB,QAAI,CAAC;KAClF,CAAC;KAED,2CAAU,GAAV;SACI,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,CAAC;KACvC,CAAC;KAED,iDAAgB,GAAhB;SACI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,4BAAc,CAAC,IAAI,CAAC;KAC/C,CAAC;KAED,kDAAiB,GAAjB;SACI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,4BAAc,CAAC,KAAK,CAAC;KAChD,CAAC;KAED,oDAAmB,GAAnB;SACI,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,4BAAc,CAAC,OAAO,CAAC;KAClD,CAAC;KA5ED;SAAC,mBAAU,CAAC,4BAAc,CAAC;;2DAAA;KAG3B;SAAC,oBAAW;;qEAAA;KA0EhB,6BAAC;AAAD,EAAC,CA9E2C,yBAAW,GA8EtD;AA9EY,+BAAsB,yBA8ElC;;;;;;;;;;;;;;;;;;;;;;AC9FD,oCAA4B,GAAc,CAAC;AAE3C,yCAA4D,GAAe,CAAC;AAE5E;KAA0C,wCAAW;KAQjD,8BAAY,KAA4B;SACpC,iBAAO,CAAC;SACR,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aACT,MAAM,CAAC;SACX,CAAC;SACD,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;SACjB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;KACrB,CAAC;KAED,4CAAa,GAAb,UAAc,QAAa;SACvB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;SACrC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;SACpB,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;SACpB,MAAM,CAAC,IAAI,CAAC;KAChB,CAAC;KAED,0CAAW,GAAX,UAAY,MAAiB;SACzB,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;SACxC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;SAC5B,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;SAC5B,MAAM,CAAC,IAAI,CAAC;KAChB,CAAC;KAED,0CAAW,GAAX;SACI,MAAM,CAAC;aACH,eAAe,EAAE,6BAAe,CAAC,oBAAoB;aACrD,CAAC,EAAE,IAAI,CAAC,CAAC;aACT,CAAC,EAAE,IAAI,CAAC,CAAC;UACZ,CAAC;KACN,CAAC;KAED,wCAAS,GAAT,UAAU,MAAiB;SACvB,MAAM,CAAC,UAAU,CAAC,2BAAa,CAAC,oBAAoB,CAAC,CAAC;SACtD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAC1B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC9B,CAAC;KAED,uCAAQ,GAAR;SACI,MAAM,CAAC,kCAA+B,IAAI,CAAC,CAAC,SAAI,IAAI,CAAC,CAAC,SAAK,CAAC;KAChE,CAAC;KA7CD;SAAC,oBAAW;;oDAAA;KAGZ;SAAC,oBAAW;;oDAAA;KA2ChB,2BAAC;AAAD,EAAC,CAhDyC,yBAAW,GAgDpD;AAhDY,6BAAoB,uBAgDhC;;;;;;;;;;;;;;;;;;;;;;ACpDD,oCAA4B,GAAc,CAAC;AAE3C,yCAA4D,GAAe,CAAC;AAE5E;KAA4C,0CAAW;KAQnD,gCAAY,KAA8B;SACtC,iBAAO,CAAC;SACR,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aACT,MAAM,CAAC;SACX,CAAC;SACD,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;SACjB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;KACrB,CAAC;KAED,8CAAa,GAAb,UAAc,QAAa;SACvB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;SACrC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;SACpB,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;SACpB,MAAM,CAAC,IAAI,CAAC;KAChB,CAAC;KAED,4CAAW,GAAX,UAAY,MAAiB;SACzB,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;SACxC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;SAC5B,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;SAC5B,MAAM,CAAC,IAAI,CAAC;KAChB,CAAC;KAED,4CAAW,GAAX;SACI,MAAM,CAAC;aACH,eAAe,EAAE,6BAAe,CAAC,sBAAsB;aACvD,CAAC,EAAE,IAAI,CAAC,CAAC;aACT,CAAC,EAAE,IAAI,CAAC,CAAC;UACZ,CAAC;KACN,CAAC;KAED,0CAAS,GAAT,UAAU,MAAiB;SACvB,MAAM,CAAC,UAAU,CAAC,2BAAa,CAAC,sBAAsB,CAAC,CAAC;SACxD,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAC1B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;KAC9B,CAAC;KAED,yCAAQ,GAAR;SACI,MAAM,CAAC,oCAAiC,IAAI,CAAC,CAAC,SAAI,IAAI,CAAC,CAAC,SAAK,CAAC;KAClE,CAAC;KA7CD;SAAC,oBAAW;;sDAAA;KAGZ;SAAC,oBAAW;;sDAAA;KA2ChB,6BAAC;AAAD,EAAC,CAhD2C,yBAAW,GAgDtD;AAhDY,+BAAsB,yBAgDlC;;;;;;;;;;;;;ACnDD,yCAA4D,GAAe,CAAC;AAE5E;KAAqC,mCAAW;KAI5C,yBAAY,KAAuB;SAC/B,iBAAO,CAAC;SACR,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aACT,MAAM,CAAC;SACX,CAAC;SACD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;KAC3B,CAAC;KAED,uCAAa,GAAb,UAAc,QAAa;SACvB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;SACrC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;SAC1B,MAAM,CAAC,IAAI,CAAC;KAChB,CAAC;KAED,qCAAW,GAAX,UAAY,MAAiB;SACzB,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;SACxC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;SAChC,MAAM,CAAC,IAAI,CAAC;KAChB,CAAC;KAED,qCAAW,GAAX;SACI,MAAM,CAAC;aACH,eAAe,EAAE,6BAAe,CAAC,eAAe;aAChD,IAAI,EAAE,IAAI,CAAC,IAAI;UAClB,CAAC;KACN,CAAC;KAED,mCAAS,GAAT,UAAU,MAAiB;SACvB,MAAM,CAAC,UAAU,CAAC,2BAAa,CAAC,eAAe,CAAC,CAAC;SACjD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAClC,CAAC;KAED,kCAAQ,GAAR;SACI,MAAM,CAAC,6BAA0B,IAAI,CAAC,IAAI,QAAI,CAAC;KACnD,CAAC;KACL,sBAAC;AAAD,EAAC,CAvCoC,yBAAW,GAuC/C;AAvCY,wBAAe,kBAuC3B;;;;;;;;AC1CD,uCAA0B,GAAiB,CAAC;AAC5C,mCAUO,GAAS,CAAC;AAEjB;KAAA;KA0EA,CAAC;KAxEU,wBAAiB,GAAxB,UAAyB,MAAqC;SAC1D,EAAE,CAAC,CAAC,MAAM,YAAY,mBAAW,CAAC,CAAC,CAAC;aAChC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;SAC1C,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,YAAY,qBAAS,CAAC,CAAC,CAAC;aACrC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SACxC,CAAC;SAAC,IAAI,CAAC,CAAC;aACJ,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;SACzC,CAAC;KACL,CAAC;KAEc,oBAAa,GAA5B,UAA6B,MAAiB;SAC1C,IAAI,oBAAoB,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;SAC9C,MAAM,CAAC,SAAS,EAAE,CAAC;SAEnB,EAAE,CAAC,CAAC,oBAAoB,IAAI,qBAAa,CAAC,cAAc,IAAI,oBAAoB,IAAI,qBAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC;aACnH,MAAM,CAAC,IAAI,sBAAc,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;SACnD,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CACN,oBAAoB,IAAI,qBAAa,CAAC,sBAAsB;aAC5D,oBAAoB,IAAI,qBAAa,CAAC,0BAC1C,CAAC,CAAC,CAAC;aACC,MAAM,CAAC,IAAI,8BAAsB,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;SAC3D,CAAC;SACD,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;aAC3B,KAAK,qBAAa,CAAC,oBAAoB;iBACnC,MAAM,CAAC,IAAI,4BAAoB,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;aACzD,KAAK,qBAAa,CAAC,sBAAsB;iBACrC,MAAM,CAAC,IAAI,8BAAsB,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;aAC3D,KAAK,qBAAa,CAAC,gBAAgB;iBAC/B,MAAM,CAAC,IAAI,wBAAgB,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;aACrD,KAAK,qBAAa,CAAC,eAAe;iBAC9B,MAAM,CAAC,IAAI,uBAAe,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;aACpD;iBACI,MAAM,qCAAmC,oBAAsB,CAAC;SACxE,CAAC;KACL,CAAC;KAEc,sBAAe,GAA9B,UAA+B,WAAwB;SACnD,IAAI,cAA2B,CAAC;SAChC,EAAE,CAAC,CAAC,WAAW,YAAY,sBAAc,CAAC,CAAC,CAAC;aACxC,cAAc,GAAG,IAAI,sBAAc,CAAC,WAAW,CAAC,CAAC;SACrD,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,YAAY,8BAAsB,CAAC,CAAC,CAAC;aACvD,cAAc,GAAG,IAAI,8BAAsB,CAAC,WAAW,CAAC,CAAC;SAC7D,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,YAAY,4BAAoB,CAAC,CAAC,CAAC;aACrD,cAAc,GAAG,IAAI,4BAAoB,CAAC,WAAW,CAAC,CAAC;SAC3D,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,YAAY,8BAAsB,CAAC,CAAC,CAAC;aACvD,cAAc,GAAG,IAAI,8BAAsB,CAAC,WAAW,CAAC,CAAC;SAC7D,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,YAAY,wBAAgB,CAAC,CAAC,CAAC;aACjD,cAAc,GAAG,IAAI,wBAAgB,CAAC,WAAW,CAAC,CAAC;SACvD,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,YAAY,uBAAe,CAAC,CAAC,CAAC;aAChD,cAAc,GAAG,IAAI,uBAAe,CAAC,WAAW,CAAC,CAAC;SACtD,CAAC;SACD,MAAM,CAAC,cAAc,CAAC;KAC1B,CAAC;KAEc,qBAAc,GAA7B,UAA8B,WAAgB;SAC3C,MAAM,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC;aACjC,KAAK,uBAAe,CAAC,cAAc;iBAC/B,MAAM,CAAC,IAAI,sBAAc,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;aAC1D,KAAK,uBAAe,CAAC,sBAAsB;iBACvC,MAAM,CAAC,IAAI,8BAAsB,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;aAClE,KAAK,uBAAe,CAAC,oBAAoB;iBACrC,MAAM,CAAC,IAAI,4BAAoB,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;aAChE,KAAK,uBAAe,CAAC,sBAAsB;iBACvC,MAAM,CAAC,IAAI,8BAAsB,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;aAClE,KAAK,uBAAe,CAAC,gBAAgB;iBACjC,MAAM,CAAC,IAAI,wBAAgB,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;aAC5D,KAAK,uBAAe,CAAC,eAAe;iBAChC,MAAM,CAAC,IAAI,uBAAe,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;aAC3D;iBACI,MAAM,4CAAyC,WAAW,CAAC,eAAe,OAAG,CAAC;SACtF,CAAC;KACL,CAAC;KACL,aAAC;AAAD,EAAC;AA1EY,eAAM,SA0ElB;;;;;;;;;;;;;;;;;ACvFD,kCAA2B,GAAe,CAAC;AAG3C;KA4FI;SA1FQ,oBAAe,GAAG;aACtB,EAAE;aACF,EAAE;aACF,EAAE;aACF,EAAE;aACF,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,CAAC;aACL,CAAC,GAAG,EAAE,GAAG,CAAC;aACV,CAAC,GAAG,EAAE,GAAG,CAAC;aACV,CAAC,GAAG,EAAE,GAAG,CAAC;aACV,CAAC,GAAG,EAAE,GAAG,CAAC;aACV,CAAC,GAAG,EAAE,GAAG,CAAC;aACV,CAAC,GAAG,EAAE,GAAG,CAAC;aACV,CAAC,GAAG,EAAE,GAAG,CAAC;aACV,CAAC,GAAG,EAAE,GAAG,CAAC;aACV,CAAC,GAAG,EAAE,GAAG,CAAC;aACV,CAAC,GAAG,EAAE,GAAG,CAAC;aACV,CAAC,OAAO,CAAC;aACT,CAAC,KAAK,CAAC;aACP,CAAC,GAAG,CAAC;aACL,CAAC,KAAK,CAAC;aACP,CAAC,OAAO,CAAC;aACT,CAAC,GAAG,EAAE,GAAG,CAAC;aACV,CAAC,GAAG,EAAE,GAAG,CAAC;aACV,CAAC,GAAG,EAAE,GAAG,CAAC;aACV,CAAC,GAAG,EAAE,GAAG,CAAC;aACV,CAAC,IAAI,EAAE,GAAG,CAAC;aACX,EAAE;aACF,CAAC,GAAG,EAAE,GAAG,CAAC;aACV,CAAC,IAAI,EAAE,GAAG,CAAC;aACX,CAAC,GAAG,EAAE,GAAG,CAAC;aACV,CAAC,GAAG,EAAE,GAAG,CAAC;aACV,CAAC,GAAG,EAAE,GAAG,CAAC;aACV,CAAC,GAAG,EAAE,GAAG,CAAC;aACV,CAAC,WAAW,CAAC;aACb,CAAC,IAAI,CAAC;aACN,CAAC,IAAI,CAAC;aACN,CAAC,IAAI,CAAC;aACN,CAAC,IAAI,CAAC;aACN,CAAC,IAAI,CAAC;aACN,CAAC,IAAI,CAAC;aACN,CAAC,IAAI,CAAC;aACN,CAAC,IAAI,CAAC;aACN,CAAC,IAAI,CAAC;aACN,CAAC,KAAK,CAAC;aACP,CAAC,KAAK,CAAC;aACP,CAAC,KAAK,CAAC;aACP,CAAC,QAAQ,CAAC;aACV,CAAC,aAAa,CAAC;aACf,CAAC,OAAO,CAAC;aACT,CAAC,QAAQ,CAAC;aACV,CAAC,MAAM,CAAC;aACR,CAAC,MAAM,CAAC;aACR,CAAC,KAAK,CAAC;aACP,CAAC,KAAK,CAAC;aACP,CAAC,MAAM,CAAC;aACR,SAAS;aACT,SAAS;aACT,SAAS;aACT,SAAS;aACT,CAAC,UAAU,CAAC,CAAC,KAAK;UACrB,CAAC;SAME,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC3B,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC/B,CAAC;KAEM,sCAAc,GAArB,UAAsB,QAAgB;SAClC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;KAC1C,CAAC;KAEM,8CAAsB,GAA7B,UAA8B,QAAgB;SAC1C,IAAI,QAAQ,GAAW,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;SACvD,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;aACX,MAAM,CAAC,6BAA6B,GAAG,QAAQ,CAAC;SACpD,CAAC;SACD,MAAM,CAAC,SAAS,CAAC;KACrB,CAAC;KAEM,+BAAO,GAAd,UAAe,QAAgB;SAC3B,MAAM,CAAC,6BAA6B,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KAC7E,CAAC;KAEO,2CAAmB,GAA3B;SACI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACrC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACrC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACrC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACrC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACtC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACtC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACtC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SACrC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACpC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SACvC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACtC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KAC3C,CAAC;KAEO,4CAAoB,GAA5B;SACI,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;SAClD,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,4BAA4B,CAAC;SACzD,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,2BAA2B,CAAC;SACxD,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,2BAA2B,CAAC;SACxD,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,yBAAyB,CAAC;SACtD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAAC;KACvD,CAAC;KAEO,2CAAmB,GAA3B;SACI,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;SAChD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;SAC1D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,eAAe,EAAE,8BAA8B,CAAC,CAAC;SACzE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;SACrD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC;SACtE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,oCAAoC,CAAC,CAAC;SACxE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,qCAAqC,CAAC,CAAC;SAC1E,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;SACpD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,EAAE,2BAA2B,CAAC,CAAC;SACnE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,4BAA4B,CAAC,CAAC;SACrE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,YAAY,EAAE,2BAA2B,CAAC,CAAC;SACnE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,EAAE,yBAAyB,CAAC,CAAC;SAC/D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,8BAA8B,CAAC,CAAC;SACvE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,cAAc,EAAE,+BAA+B,CAAC,CAAC;SACzE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,8BAA8B,CAAC,CAAC;SACvE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,4BAA4B,CAAC,CAAC;KACvE,CAAC;KA5JL;SAAC,iBAAU,EAAE;;sBAAA;KA8Jb,oBAAC;AAAD,EAAC;AA7JY,sBAAa,gBA6JzB;;;;;;;AChKD,6ZAA4Z,SAAS,giB;;;;;;ACAra,oEAAmE,+BAA+B,EAAE,oDAAoD,qBAAqB,EAAE,sBAAsB,iBAAiB,EAAE,uCAAuC,0BAA0B,EAAE,mBAAmB,kBAAkB,mBAAmB,cAAc,kCAAkC,EAAE,wBAAwB,oBAAoB,EAAE,yBAAyB,oBAAoB,cAAc,EAAE,+BAA+B,uBAAuB,EAAE,8BAA8B,0BAA0B,EAAE,yBAAyB,qCAAqC,EAAE,yCAAyC,wBAAwB,uBAAuB,EAAE,oBAAoB,kBAAkB,YAAY,EAAE,4BAA4B,iBAAiB,EAAE,qCAAqC,mBAAmB,sBAAsB,qBAAqB,mBAAmB,oBAAoB,EAAE,G;;;;;;;ACA3+B,qBAAO,GAAgC,CAAC;AAGxC,qBAAO,GAAuB,CAAC;AAG/B,mCAAsB,GAA4C,CAAC;AAEnE,qCAA6B,GAAY,CAAC;AAG1C,KAAM,YAAY,GAAe;KAC7B,QAAQ,EAAE,EAAE;EACf,CAAC;AAEF,oBAAwB,KAAoB,EAAE,MAAc;KAApC,qBAAoB,GAApB,oBAAoB;KACxC,IAAI,QAAe,CAAC;KACpB,IAAI,QAAiB,CAAC;KAEtB,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;SAClB,KAAK,sBAAY,CAAC,SAAS;aAEvB,QAAQ,GAAG,IAAI,aAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;aACrC,QAAQ,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;aAC5D,QAAQ,CAAC,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;aAEzC,MAAM,CAAC;iBACH,QAAQ,EAAM,KAAK,CAAC,QAAQ,SAAE,QAAQ,EAAC;cAC1C,CAAC;SAEN,KAAK,sBAAY,CAAC,SAAS;aACvB,IAAI,MAAI,GAAW,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;aAErE,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,KAAY;iBACvC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;qBACjC,KAAK,CAAC,IAAI,GAAG,MAAI,CAAC;iBACtB,CAAC;iBAED,MAAM,CAAC,KAAK,CAAC;aACjB,CAAC,CAAC,CAAC;aAEH,MAAM,CAAC;iBACH,QAAQ,EAAE,QAAQ;cACrB,CAAC;SAEN,KAAK,sBAAY,CAAC,MAAM;aACpB,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAC,KAAY,IAAK,YAAK,CAAC,EAAE,KAAK,MAAM,CAAC,OAAO,EAA3B,CAA2B,CAAC,CAAC;aAEhF,MAAM,CAAC;iBACH,QAAQ,EAAE,QAAQ;cACrB,CAAC;SAEN,KAAK,sBAAY,CAAC,UAAU;aACxB,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,KAAY;iBACvC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;qBACjC,QAAQ,GAAG,IAAI,aAAK,CAAC,KAAK,CAAC,CAAC;qBAC5B,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;qBAElD,MAAM,CAAC,QAAQ,CAAC;iBACpB,CAAC;iBAED,MAAM,CAAC,KAAK,CAAC;aACjB,CAAC,CAAC,CAAC;aAEH,MAAM,CAAC;iBACH,QAAQ,EAAE,QAAQ;cACrB,CAAC;SAEN,KAAK,sBAAY,CAAC,WAAW;aACzB,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,KAAY;iBACvC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;qBACjC,QAAQ,GAAG,IAAI,aAAK,CAAC,KAAK,CAAC,CAAC;qBAC5B,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;qBAEpE,MAAM,CAAC,QAAQ,CAAC;iBACpB,CAAC;iBAED,MAAM,CAAC,KAAK,CAAC;aACjB,CAAC,CAAC,CAAC;aAEH,MAAM,CAAC;iBACH,QAAQ,EAAE,QAAQ;cACrB,CAAC;SAEN,KAAK,sBAAY,CAAC,aAAa;aAC3B,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,KAAY;iBACvC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;qBACjC,QAAQ,GAAG,IAAI,aAAK,CAAC,KAAK,CAAC,CAAC;qBAC5B,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;qBAEtD,MAAM,CAAC,QAAQ,CAAC;iBACpB,CAAC;iBAED,MAAM,CAAC,KAAK,CAAC;aACjB,CAAC,CAAC,CAAC;aAEH,MAAM,CAAC;iBACH,QAAQ,EAAE,QAAQ;cACrB,CAAC;SAEN,KAAK,sBAAY,CAAC,cAAc;aAC5B,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAC,KAAY;iBACvC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;qBACjC,IAAI,QAAQ,GAAW,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;qBAE/C,yEAAyE;qBACzE,EAAE,CAAC,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;yBACrC,EAAE,QAAQ,CAAC;qBACf,CAAC;qBAED,QAAQ,GAAG,IAAI,aAAK,CAAC,KAAK,CAAC,CAAC;qBAC5B,QAAQ,CAAC,YAAY,CAAC,MAAM,CACxB,QAAQ,EACR,CAAC,EACD,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;qBAEF,MAAM,CAAC,QAAQ,CAAC;iBACpB,CAAC;iBAED,MAAM,CAAC,KAAK,CAAC;aACjB,CAAC,CAAC,CAAC;aAEH,MAAM,CAAC;iBACH,QAAQ,EAAE,QAAQ;cACrB,CAAC;SAEN;aACI,MAAM,CAAC,KAAK,CAAC;KACrB,CAAC;AACL,EAAC;AAnHD;4BAmHC;AAED;KACI,MAAM,CAAC,UAAC,MAA4B,IAAK,aAAM;UAC1C,MAAM,CAAC,eAAK,IAAI,YAAK,CAAC,MAAM,CAAC,QAAQ,EAArB,CAAqB,CAAC,EADF,CACE,CAAC;AAChD,EAAC;AAHe,yBAAgB,mBAG/B;AAED,mBAAyB,EAAU;KAC/B,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACZ,MAAM,CAAC,UAAC,MAA4B,IAAK,aAAM;cAC1C,MAAM,CAAC,kBAAQ,IAAI,eAAQ,CAAC,MAAM,CAAC,QAAQ,EAAxB,CAAwB,CAAC;cAC5C,GAAG,CAAC,UAAC,MAAe;aACjB,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;iBACpB,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACrB,CAAC;aAAC,IAAI,CAAC,CAAC;iBACJ,MAAM,CAAC,SAAS,CAAC;aACrB,CAAC;SACL,CAAC,CAAC,EARmC,CAQnC,CAAC;KACX,CAAC;KAAC,IAAI,CAAC,CAAC;SACJ,MAAM,CAAC,UAAC,MAA4B,IAAK,aAAM;cAC1C,MAAM,CAAC,kBAAQ,IAAI,eAAQ,CAAC,MAAM,CAAC,QAAQ,EAAxB,CAAwB,CAAC;cAC5C,GAAG,CAAC,UAAC,MAAe,IAAK,aAAM,CAAC,IAAI,CAAC,UAAC,KAAY,IAAK,YAAK,CAAC,EAAE,KAAK,EAAE,EAAf,CAAe,CAAC,EAA9C,CAA8C,CAAC,EAFpC,CAEoC,CAAC;KAClF,CAAC;AACL,EAAC;AAhBe,iBAAQ,WAgBvB;AAED,uBAAsB,MAAe,EAAE,IAAY;KAC/C,IAAI,MAAM,GAAG,CAAC,CAAC;KACf,IAAM,OAAO,GAAW,IAAI,CAAC;KAE7B,OAAO,MAAM,CAAC,IAAI,CAAC,UAAC,KAAY,IAAK,YAAK,CAAC,IAAI,KAAK,IAAI,EAAnB,CAAmB,CAAC,EAAE,CAAC;SACxD,IAAI,GAAG,OAAO,GAAG,QAAK,MAAM,OAAG,CAAC;SAChC,EAAE,MAAM,CAAC;KACb,CAAC;KAED,MAAM,CAAC,IAAI,CAAC;AAChB,EAAC;AAED,qBAAoB,MAAe;KAC/B,IAAI,KAAK,GAAG,CAAC,CAAC;KAEd,MAAM,CAAC,OAAO,CAAC,UAAC,KAAY;SACxB,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;aACnB,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC;SACrB,CAAC;KACL,CAAC,CAAC,CAAC;KAEH,MAAM,CAAC,EAAE,KAAK,CAAC;AAEnB,EAAC;;;;;;;;;;;;;;;;;;;;;;AClLD,oCAA4B,GAAW,CAAC;AACxC,0CAA6B,GAAiB,CAAC;AAE/C,0CAAyD,GAAgB,CAAC;AAE1E;KAA2B,yBAAmB;KAa1C,eAAY,KAAa;SACrB,iBAAO,CAAC;SACR,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aACT,MAAM,CAAC;SACX,CAAC;SACD,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;SACnB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;SAC/B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;SACjC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;SACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,qBAAW,IAAI,4BAAiB,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAhD,CAAgD,CAAC,CAAC;KAChH,CAAC;KAED,6BAAa,GAAb,UAAc,QAAa;SACvB,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC;SACtB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;SAClC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;SACpC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;SAC1B,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,UAAC,WAAgB,IAAK,4BAAiB,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAhD,CAAgD,CAAC,CAAC;SACtH,MAAM,CAAC,IAAI,CAAC;KAChB,CAAC;KAED,2BAAW,GAAX,UAAY,MAAiB;SACzB,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC;SAC7B,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;SACrC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;SACtC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;SAChC,IAAI,kBAAkB,GAAW,MAAM,CAAC,iBAAiB,EAAE,CAAC;SAC5D,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SACvB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,EAAE,CAAC,EAAE,CAAC;aAC1C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAiB,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;SACxE,CAAC;SACD,MAAM,CAAC,IAAI,CAAC;KAChB,CAAC;KAED,2BAAW,GAAX;SACI,MAAM,CAAC;aACH,EAAE,EAAE,IAAI,CAAC,EAAE;aACX,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACvB,SAAS,EAAE,IAAI,CAAC,SAAS;aACzB,IAAI,EAAE,IAAI,CAAC,IAAI;aACf,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,qBAAW,IAAI,kBAAW,CAAC,UAAU,EAAE,EAAxB,CAAwB,CAAC;UAC/E,CAAC;KACN,CAAC;KAED,yBAAS,GAAT,UAAU,MAAiB;SACvB,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC3B,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACnC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACpC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC9B,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACzC,CAAC;KAED,wBAAQ,GAAR;SACI,MAAM,CAAC,iBAAc,IAAI,CAAC,EAAE,kBAAW,IAAI,CAAC,IAAI,QAAI,CAAC;KACzD,CAAC;KAjED;SAAC,oBAAW;;sCAAA;KAkEhB,YAAC;AAAD,EAAC,CApE0B,2BAAY,GAoEtC;AApEY,cAAK,QAoEjB;;;;;;;ACzED,8ZAA6Z,yyD;;;;;;ACA7Z,0BAAyB,kBAAkB,2BAA2B,iBAAiB,EAAE,2BAA2B,oBAAoB,cAAc,EAAE,mCAAmC,sBAAsB,+BAA+B,gBAAgB,EAAE,mBAAmB,iBAAiB,EAAE,QAAQ,wBAAwB,EAAE,yBAAyB,2BAA2B,yBAAyB,wBAAwB,qBAAqB,sBAAsB,+BAA+B,EAAE,mBAAmB,sBAAsB,EAAE,sDAAsD,8BAA8B,wBAAwB,mBAAmB,0BAA0B,kBAAkB,EAAE,kBAAkB,mCAAmC,sBAAsB,sBAAsB,EAAE,qBAAqB,4BAA4B,2BAA2B,iBAAiB,EAAE,6BAA6B,yBAAyB,qBAAqB,mBAAmB,uBAAuB,kBAAkB,cAAc,iBAAiB,EAAE,4DAA4D,8CAA8C,EAAE,8BAA8B,mBAAmB,qBAAqB,+BAA+B,2BAA2B,qBAAqB,EAAE,yCAAyC,iBAAiB,EAAE,0BAA0B,kBAAkB,gCAAgC,EAAE,kBAAkB,yBAAyB,EAAE,gCAAgC,+BAA+B,EAAE,2BAA2B,+BAA+B,kBAAkB,eAAe,EAAE,iCAAiC,sBAAsB,EAAE,iCAAiC,iBAAiB,kBAAkB,wBAAwB,yBAAyB,qBAAqB,EAAE,iDAAiD,qCAAqC,EAAE,yCAAyC,8BAA8B,4BAA4B,EAAE,sCAAsC,kBAAkB,EAAE,gBAAgB,oBAAoB,cAAc,kBAAkB,iBAAiB,EAAE,cAAc,kBAAkB,EAAE,sBAAsB,8BAA8B,2BAA2B,0BAA0B,sBAAsB,EAAE,gBAAgB,qBAAqB,oBAAoB,uBAAuB,EAAE,G;;;;;;;;;;;;;;;;ACA75E,kCAA0B,GAAe,CAAC;AAO1C;KACI;KAAgB,CAAC;KANrB;SAAC,gBAAS,CAAC;aACP,QAAQ,EAAE,WAAW;aACrB,QAAQ,EAAE,mBAAO,CAAC,GAA4B,CAAC;aAC/C,MAAM,EAAE,CAAC,mBAAO,CAAC,GAA4B,CAAC,CAAC;UAClD,CAAC;;0BAAA;KAGF,wBAAC;AAAD,EAAC;AAFY,0BAAiB,oBAE7B;;;;;;;ACTD,4O;;;;;;ACAA,oB;;;;;;;;;;;;;;;;ACAA,kCAAiC,GAAe,CAAC;AAEjD,mCAAsB,GAAa,CAAC;AAEpC,mCAAsB,GAA+C,CAAC;AAEtE,qCAA6B,GAAwB,CAAC;AAQtD;KAGI,8BAAoB,KAAsB;SAAtB,UAAK,GAAL,KAAK,CAAiB;KAAI,CAAC;KAE/C,0CAAW,GAAX;SACI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,sBAAY,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;KACjE,CAAC;KAED,6CAAc,GAAd;SACI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,sBAAY,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;KACjE,CAAC;KAED,4CAAa,GAAb,UAAc,IAAY;SACtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,sBAAY,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;KACzE,CAAC;KAdD;SAAC,YAAK,EAAE;;wDAAA;KANZ;SAAC,gBAAS,CAAC;aACP,QAAQ,EAAE,cAAc;aACxB,QAAQ,EAAE,mBAAO,CAAC,GAA+B,CAAC;aAClD,MAAM,EAAE,CAAC,mBAAO,CAAC,GAA+B,CAAC,CAAC;UACrD,CAAC;;6BAAA;KAiBF,2BAAC;AAAD,EAAC;AAhBY,6BAAoB,uBAgBhC;;;;;;;AC9BD,mMAAkM,cAAc,ooB;;;;;;ACAhN,mCAAkC,sBAAsB,aAAa,EAAE,0BAA0B,sBAAsB,kBAAkB,EAAE,uBAAuB,sBAAsB,aAAa,uBAAuB,uBAAuB,EAAE,6BAA6B,sBAAsB,qBAAqB,EAAE,iBAAiB,uBAAuB,EAAE,uBAAuB,mBAAmB,qCAAqC,iBAAiB,wBAAwB,mBAAmB,8BAA8B,EAAE,+BAA+B,mDAAmD,kCAAkC,EAAE,G;;;;;;;ACE1oB,iDAAkC,GAA2B,CAAC;AAC9D,6CAA+B,GAAmB,CAAC;AAEtC,oBAAW,GAAW;KAC/B;SACI,IAAI,EAAE,OAAO;SACb,SAAS,EAAE,gCAAc;MAC5B;KACD;SACI,IAAI,EAAE,WAAW;SACjB,SAAS,EAAE,uCAAiB;MAC/B;KACD;SACI,IAAI,EAAE,WAAW;SACjB,SAAS,EAAE,gCAAc;MAC5B;EACJ,CAAC;;;;;;;;AClBF,kDAAmC,GAAwB,CAAC;AAAnD,wEAAmD;;;;;;;;ACA5D,2DAA2C,GAAiC,CAAC;AAApE,iGAAoE;;;;;;;;;;;;;;;;;ACA7E,kCAA0E,GAAe,CAAC;AAE1F,0CAKO,GAAsD,CAAC;AAG9D,KAAK,OAKJ;AALD,YAAK,OAAO;KACR,6CAAQ;KACR,qCAAI;KACJ,uCAAK;KACL,uCAAK;AACT,EAAC,EALI,OAAO,KAAP,OAAO,QAKX;AAAA,EAAC;AAQF;KAAA;SAGc,SAAI,GAAG,IAAI,mBAAY,EAAe,CAAC;SACvC,WAAM,GAAG,IAAI,mBAAY,EAAQ,CAAC;SAM5C,uFAAuF;SACvF,oEAAoE;SAC5D,YAAO,GAAG,OAAO,CAAC;KAuE9B,CAAC;KAtEG,sCAAsC;KACtC,iCAAiC;KAEjC,6CAAQ,GAAR;SACI,IAAI,WAAW,GAAgB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,IAAI,8BAAe,EAAE,CAAC;SAC3F,IAAI,CAAC,mBAAmB,GAAG,IAAI,kCAAmB,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC;SAC7E,IAAI,GAAG,GAAY,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;SAC7D,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;KACzB,CAAC;KAED,kDAAa,GAAb;SACI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;KACvB,CAAC;KAED,gDAAW,GAAX;SACI,IAAI,CAAC;aACD,IAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC;aACxC,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;iBACvB,yDAAyD;iBACzD,IAAM,GAAG,GAAG,IAAI,CAAC,WAAmC,CAAC;iBACrD,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;aAC7C,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;SACrC,CAAE;SAAA,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACT,0BAA0B;aAC1B,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACrB,CAAC;KACL,CAAC;KAED,8CAAS,GAAT,UAAU,GAAY;SAClB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;SACrB,IAAI,CAAC,mBAAmB,CAAC,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;KAC/E,CAAC;KAED,+CAAU,GAAV,UAAW,MAA2B;SAClC,MAAM,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;aAC7B,eAAe;aACf,KAAK,8BAAe,CAAC,gBAAgB;iBACjC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aACzB,cAAc;aACd,KAAK,8BAAe,CAAC,eAAe;iBAChC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;aACxB,mBAAmB;aACnB,KAAK,8BAAe,CAAC,cAAc;iBAC/B,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;aAC5B,gBAAgB;aAChB,KAAK,8BAAe,CAAC,sBAAsB,CAAC;aAC5C,KAAK,8BAAe,CAAC,oBAAoB,CAAC;aAC1C,KAAK,8BAAe,CAAC,sBAAsB;iBACvC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aACzB;iBACI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;SAChC,CAAC;KACL,CAAC;KAED,0DAAqB,GAArB,UAAsB,GAAY;SAC9B,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aACV,KAAK,OAAO,CAAC,KAAK;iBACd,MAAM,CAAC,8BAAe,CAAC,gBAAgB,CAAC;aAC5C,KAAK,OAAO,CAAC,QAAQ;iBACjB,MAAM,CAAC,8BAAe,CAAC,cAAc,CAAC;aAC1C,KAAK,OAAO,CAAC,KAAK;iBACd,MAAM,CAAC,8BAAe,CAAC,sBAAsB,CAAC;aAClD,KAAK,OAAO,CAAC,IAAI;iBACb,MAAM,CAAC,8BAAe,CAAC,eAAe,CAAC;aAC3C;iBACI,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;SAC3D,CAAC;KACL,CAAC;KAhFD;SAAC,YAAK,EAAE;;oEAAA;KAER;SAAC,aAAM,EAAE;;6DAAA;KACT;SAAC,aAAM,EAAE;;+DAAA;KAET;SAAC,gBAAS,CAAC,KAAK,CAAC;;oEAAA;KAZrB;SAAC,gBAAS,CAAC;aACP,QAAQ,EAAE,qBAAqB;aAC/B,QAAQ,EAAE,mBAAO,CAAC,GAAsC,CAAC;aACzD,MAAM,EAAE,CAAC,mBAAO,CAAC,GAAsC,CAAC,CAAC;aACzD,IAAI,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE;UAC3C,CAAC;;mCAAA;KAoFF,iCAAC;AAAD,EAAC;AAnFY,mCAA0B,6BAmFtC;;;;;;;AC1GD,sgF;;;;;;ACAA,oCAAmC,mBAAmB,sBAAsB,qBAAqB,cAAc,EAAE,UAAU,yBAAyB,EAAE,eAAe,iCAAiC,oCAAoC,EAAE,0BAA0B,2BAA2B,EAAE,uBAAuB,wBAAwB,EAAE,oBAAoB,iBAAiB,EAAE,iCAAiC,2BAA2B,EAAE,8BAA8B,oBAAoB,uBAAuB,2BAA2B,iBAAiB,kBAAkB,eAAe,qBAAqB,kEAAkE,4BAA4B,2BAA2B,EAAE,uCAAuC,sBAAsB,EAAE,mBAAmB,gCAAgC,yBAAyB,uBAAuB,EAAE,sBAAsB,iBAAiB,EAAE,gCAAgC,0BAA0B,iCAAiC,2BAA2B,EAAE,0BAA0B,kBAAkB,gCAAgC,EAAE,kBAAkB,yBAAyB,EAAE,G;;;;;;;ACA/pC,mCAAuC,GAAS,CAAC;AAAxC,iEAAwC;AACjD,iCAAqC,GAAO,CAAC;AAApC,2DAAoC;AAC7C,mCAAuC,GAAS,CAAC;AAAxC,iEAAwC;AACjD,kCAAsC,GAAQ,CAAC;AAAtC,8DAAsC;;;;;;;;ACH/C,mDAAuC,GAAyB,CAAC;AAAxD,iFAAwD;;;;;;;;;;;;;;;;;ACAjE,kCAAyF,GAAe,CAAC;AAEzG,0CAAoC,GAA4D,CAAC;AAEjG,KAAM,aAAa,GAAG,GAAG,CAAC,CAAC,aAAa;AAQxC;KAMI,sCAAsC;KAEtC,gCAAoB,QAAkB;SAAlB,aAAQ,GAAR,QAAQ,CAAU;SAJtC,oEAAoE;SAC5D,YAAO,GAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;KAGjB,CAAC;KAE3C,yCAAQ,GAAR;SACI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,GAAG,aAAa,CAAC;KAC5F,CAAC;KAED,gDAAe,GAAf;SACI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;KACzE,CAAC;KAED,yCAAQ,GAAR,UAAS,KAAa;SAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SACnB,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;KAC/C,CAAC;KApBD;SAAC,YAAK,EAAE;;gEAAA;KACR;SAAC,gBAAS,CAAC,iBAAiB,CAAC;;0DAAA;KARjC;SAF2B,aAAa;SAEvC,gBAAS,CAAC;aACP,QAAQ,EAAE,iBAAiB;aAC3B,QAAQ,EAAE,mBAAO,CAAC,GAA8B,CAAC;aACjD,MAAM,EAAE,CAAC,mBAAO,CAAC,GAA8B,CAAC,CAAC;aACjD,IAAI,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE;UACpC,CAAC;;+BAAA;KAuBF,6BAAC;AAAD,EAAC;AAtBY,+BAAsB,yBAsBlC;;;;;;;AClCD,23BAA03B,OAAO,0D;;;;;;ACAj4B,0BAAyB,kBAAkB,2BAA2B,uBAAuB,EAAE,2BAA2B,qBAAqB,EAAE,kCAAkC,4BAA4B,6BAA6B,EAAE,G;;;;;;;ACA9O,iDAAqC,GAAuB,CAAC;AAApD,2EAAoD;;;;;;;;;;;;;;;;;ACA7D,kCAAoD,GAAe,CAAC;AAGpE,0CAAoD,GAA4D,CAAC;AACjH,iCAAqC,GAAyB,CAAC;AAG/D,KAAK,OAIJ;AAJD,YAAK,OAAO;KACR,6CAAQ;KACR,qCAAI;KACJ,2CAAO;AACX,EAAC,EAJI,OAAO,KAAP,OAAO,QAIX;AAWD;KAAA;SAQI,uFAAuF;SACvF,oEAAoE;SAC5D,YAAO,GAAG,OAAO,CAAC;KAyC9B,CAAC;KAxCG,sCAAsC;KACtC,iCAAiC;KAEjC,uCAAQ,GAAR;SACI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;SAC7D,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;KACtD,CAAC;KAED,wCAAS,GAAT,UAAU,GAAY;SAClB,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;SACrB,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;KACtD,CAAC;KAED,yCAAU,GAAV,UAAW,MAA2B;SAClC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;aAC/C,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;SAC5B,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;aACnC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;SACxB,CAAC;SAAC,IAAI,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;aACtC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;SAC3B,CAAC;KACL,CAAC;KAED,4CAAa,GAAb,UAAc,GAAY;SACtB,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aACV,KAAK,OAAO,CAAC,QAAQ;iBACjB,MAAM,CAAC,6BAAc,CAAC,KAAK,CAAC;aAChC,KAAK,OAAO,CAAC,IAAI;iBACb,MAAM,CAAC,6BAAc,CAAC,IAAI,CAAC;aAC/B,KAAK,OAAO,CAAC,OAAO;iBAChB,MAAM,CAAC,6BAAc,CAAC,OAAO,CAAC;aAClC;iBACI,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;SAC5C,CAAC;KACL,CAAC;KAED,2CAAY,GAAZ;SACI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;KAC1C,CAAC;KAhDD;SAAC,YAAK,EAAE;;8DAAA;KACR;SAAC,gBAAS,CAAC,KAAK,CAAC;;8DAAA;KACjB;SAAC,gBAAS,CAAC,aAAa,CAAC;;8DAAA;KAZ7B;SAAC,gBAAS,CAAC;aACP,QAAQ,EAAE,eAAe;aACzB,QAAQ,EAAE,mBAAO,CAAC,GAA4B,CAAC;aAC/C,MAAM,EAAE;iBACJ,mBAAO,CAAC,GAA0C,CAAC;iBACnD,mBAAO,CAAC,GAA4B,CAAC;cACxC;aACD,IAAI,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE;UACpC,CAAC;;6BAAA;KAoDF,2BAAC;AAAD,EAAC;AAnDY,6BAAoB,uBAmDhC;;;;;;;;ACxED,oCAAmC,GAAU,CAAC;AAArC,0DAAqC;AAC9C,sCAAqC,GAAY,CAAC;AAAzC,gEAAyC;AAClD,mCAAkC,GAAS,CAAC;AAAnC,uDAAmC;AAC5C,mCAAkC,GAAS,CAAC;AAAnC,uDAAmC;AAC5C,mCAAkC,GAAS,CAAC;AAAnC,uDAAmC;AAC5C,kCAAiC,GAAQ,CAAC;AAAjC,oDAAiC;;;;;;;;;;;ACN1C,8BAAc,GAAwB,CAAC;;;;;;;;;;;;;;;;;ACAvC,kCAAkE,GAAe,CAAC;AAIlF,wCAA8C,GAAuD,CAAC;AAUtG;KAOI;SACI,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;KAC5B,CAAC;KAED,qCAAQ,GAAR;SACI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;aACpB,EAAE,EAAE,IAAI;aACR,IAAI,EAAE,kBAAkB;UAC3B,CAAC,CAAC;SAEH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,MAAc;aACjD,MAAM,CAAC;iBACH,EAAE,EAAE,MAAM,CAAC,YAAY;iBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;cACpB,CAAC;SACN,CAAC,CAAC,CAAC;SAEH,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAC9C,CAAC;KAED,kEAAkE;KAClE,qCAAQ,GAAR,UAAS,KAAU;SACf,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;aACvB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;SACpC,CAAC;SAAC,IAAI,CAAC,CAAC;aACJ,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,MAAc,IAAK,aAAM,CAAC,YAAY,KAAK,KAAK,CAAC,KAAK,EAAnC,CAAmC,CAAC,CAAC;SACrG,CAAC;KACL,CAAC;KAED,2CAAc,GAAd;SACI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC;KACjC,CAAC;KAED,0CAAa,GAAb,UAAc,SAAoB;SAC9B,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,YAAY,+BAAkB,CAAC,CAAC,CAAC,CAAC;aAC7C,MAAM,CAAC,KAAK,CAAC;SACjB,CAAC;SACD,IAAI,kBAAkB,GAA2C,SAAS,CAAC;SAC3E,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO;cAC7B,IAAI,CAAC,UAAC,MAAc,IAAK,aAAM,CAAC,YAAY,KAAK,kBAAkB,CAAC,kBAAkB,EAA7D,CAA6D,CAAC,CAAC;KACjG,CAAC;KAED,wCAAW,GAAX;SACI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC;aACzB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;SACnE,CAAC;SAED,IAAI,YAAY,GAAG,IAAI,+BAAkB,EAAE,CAAC;SAC5C,YAAY,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC;SACnE,MAAM,CAAC,YAAY,CAAC;KACxB,CAAC;KAxDD;SAAC,YAAK,EAAE;;iEAAA;KACR;SAAC,YAAK,EAAE;;wDAAA;KARZ;SAAC,gBAAS,CAAC;aACP,QAAQ,EAAE,YAAY;aACtB,QAAQ,EAAE,mBAAO,CAAC,GAA6B,CAAC;aAChD,MAAM,EAAE,CAAC,mBAAO,CAAC,GAA6B,CAAC,CAAC;aAChD,eAAe,EAAE,8BAAuB,CAAC,MAAM;UAClD,CAAC;;2BAAA;KA2DF,yBAAC;AAAD,EAAC;AA1DY,2BAAkB,qBA0D9B;;;;;;;ACxED,qkB;;;;;;ACAA,0BAAyB,kBAAkB,2BAA2B,EAAE,iBAAiB,oBAAoB,sBAAsB,EAAE,qBAAqB,sBAAsB,4BAA4B,0BAA0B,EAAE,2BAA2B,gBAAgB,EAAE,4BAA4B,uBAAuB,EAAE,kCAAkC,yBAAyB,wBAAwB,EAAE,G;;;;;;;;;;ACA/Z,8BAAc,GAA0B,CAAC;;;;;;;;;;;;;;;;;ACAzC,kCAAyC,GAAe,CAAC;AAIzD,wCAA2C,GAAuD,CAAC;AASnG;KAgBI;SA2EA,2BAAsB,GAAa,UAAC,KAAU;aAC1C,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;iBACZ,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;aACtB,CAAC;aAED,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;iBACnD,MAAM,CAAC,MAAM,CACT,6BAA6B;uBAC3B,KAAK,CAAC,IAAI;uBACV,sCAAsC;uBACtC,KAAK,CAAC,UAAU,CAAC,WAAW;uBAC5B,gBAAgB,CACrB,CAAC;aACN,CAAC;aAAC,IAAI,CAAC,CAAC;iBACJ,MAAM,CAAC,MAAM,CAAC,6BAA6B,GAAG,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;aAC1E,CAAC;SACL,CAAC;SA1FG,IAAI,CAAC,aAAa,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;SAC3D,IAAI,CAAC,cAAc,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;SAC5D,IAAI,CAAC,cAAc,GAAG,CAAC;iBACnB,EAAE,EAAE,GAAG;iBACP,IAAI,EAAE,MAAM;cACf,CAAC,CAAC;SACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,mBAAO,CAAC,GAAuB,CAAC,CAAC,CAAC;SACnF,IAAI,CAAC,eAAe,GAAG,mBAAO,CAAC,GAAuB,CAAC,CAAC;SACxD,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACxE,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC1E,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;SAClB,IAAI,CAAC,sBAAsB,GAAG,CAAC,CAAC,CAAC;KACrC,CAAC;KAED,uCAAQ,GAAR;SACI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAC9C,CAAC;KAED,6CAAc,GAAd,UAAe,eAAiC;SAC5C,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;aACnB,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;SACzC,CAAC;SACD,MAAM,CAAC,eAAe,CAAC,QAAQ,GAAG,CAAC,IAAI,eAAe,CAAC,YAAY,GAAG,CAAC,CAAC;KAC5E,CAAC;KAED,4CAAa,GAAb,UAAc,SAAoB;SAC9B,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,YAAY,4BAAe,CAAC,CAAC,CAAC,CAAC;aAC1C,MAAM,CAAC,KAAK,CAAC;SACjB,CAAC;SACD,IAAI,eAAe,GAAqC,SAAS,CAAC;SAClE,mBAAmB;SACnB,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC,QAAQ,IAAI,CAAC,CAAC;SAE9C,IAAI,mBAAmB,GAAW,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;SAE5D,oBAAoB;SACpB,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,EAAE,EAAE,CAAC,EAAE,CAAC;aAC3C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;SACvG,CAAC;SAED,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,mBAAmB,EAAE,CAAC,GAAG,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;aAChG,IAAI,KAAK,GAAW,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC;aACjE,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,eAAe,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;SACvF,CAAC;SAED,0BAA0B;SAC1B,EAAE,CAAC,CAAC,eAAe,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC;aAChD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;SACvF,CAAC;SAED,MAAM,CAAC,IAAI,CAAC;KAChB,CAAC;KAED,0CAAW,GAAX;SACI,IAAI,eAAe,GAAoB,IAAI,4BAAe,EAAE,CAAC;SAC7D,eAAe,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;SAEzC,eAAe,CAAC,YAAY,GAAG,CAAC,CAAC;SACjC,IAAI,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,GAAG,CAAC,WAAC,IAAI,QAAC,GAAG,CAAC,GAAG,CAAC,EAAT,CAAS,CAAC,CAAC;SAC/F,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;aACxC,eAAe,CAAC,YAAY,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;SAC3E,CAAC;SAED,eAAe,CAAC,eAAe,GAAG,IAAI,CAAC,sBAAsB,KAAK,CAAC,CAAC;eAC9D,SAAS;eACT,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;SAEvD,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;aACxC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;SAC7C,CAAC;SAED,MAAM,CAAC,eAAe,CAAC;KAC3B,CAAC;KAoBD,6CAAc,GAAd,UAAe,KAAc,EAAE,KAAa;SACxC,IAAI,eAAe,GAAc,KAAK,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,mBAAmB,CAAC;SAC9F,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;KACrD,CAAC;KAED,kEAAkE;KAClE,oEAAoE;KAC5D,gDAAiB,GAAzB,UAA0B,KAAU;SAChC,uCAAuC;SACvC,IAAI,CAAC,sBAAsB,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;KAC/C,CAAC;KAED,kEAAkE;KAClE,oEAAoE;KAC5D,+CAAgB,GAAxB,UAAyB,KAAU;SAC/B,sCAAsC;SACtC,IAAI,CAAC,QAAQ,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;KACjC,CAAC;KAEO,6CAAc,GAAtB,UAAuB,CAAS;SAC5B,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACR,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,yBAAyB;SACnE,CAAC;SAAC,IAAI,CAAC,CAAC;aACJ,MAAM,CAAC,CAAC,CAAC;SACb,CAAC;KACL,CAAC;;KArID;SAAC,YAAK,EAAE;;mEAAA;KACR;SAAC,YAAK,EAAE;;mEAAA;KAPZ;SAAC,gBAAS,CAAC;aACP,QAAQ,EAAE,cAAc;aACxB,QAAQ,EAAE,mBAAO,CAAC,GAA+B,CAAC;aAClD,MAAM,EAAE,CAAC,mBAAO,CAAC,GAA+B,CAAC,CAAC;UACrD,CAAC;;6BAAA;KAwIF,2BAAC;AAAD,EAAC;AAvIY,6BAAoB,uBAuIhC;;;;;;;ACpJD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA,iBAAgB;AAChB,KAAI;AACJ;AACA;AACA,iBAAgB;AAChB,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA,eAAc;AACd,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AC7hBA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;A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;SACI,MAAM,CAAC,mBAAO,CAAC,GAAiC,CAAC,CAAC,GAAG,CAAC;KAC1D,CAAC;KA7BL;SAAC,iBAAU,EAAE;;4BAAA;KA+Bb,0BAAC;AAAD,EAAC;AA9BY,4BAAmB,sBA8B/B;;;;;;;;ACjCD;KAKI,mBAAY,GAA4C;SACpD,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,cAAI,IAAI,WAAI,CAAC,CAAC,EAAN,CAAM,CAAC,CAAC,GAAG,CAAC,cAAI;aACrD,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;aAC3B,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;aACzB,MAAM,CAAC,IAAI,CAAC;SAChB,CAAC,CAAC,CAAC;SACH,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC;SAC1B,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC;KAC5B,CAAC;KACL,gBAAC;AAAD,EAAC;AAdY,kBAAS,YAcrB;;;;;;;AChBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,G;;;;;;AC5wCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA,SAAQ;AACR;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,KAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;AACN;AACA;AAC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,CAAC,CAAC,CAAC;KAEyF,CAAC;KArBjG;SAAC,gBAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;mDAAA;KAa5B;SAAC,gBAAM,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;qDAAA;KAhBhC;SAAC,iBAAU,EAAE;;sBAAA;KAyBb,oBAAC;AAAD,EAAC;AAxBY,sBAAa,gBAwBzB;;;;;;;ACrCD;AACA;AACA;AACA;AACA;AACA,+B;;;;;;ACLA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,UAAS;AACT;AACA,YAAW,kBAAkB;AAC7B;AACA,YAAW,SAAS;AACpB,YAAW,SAAS;AACpB,aAAY,WAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;AACA,cAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,+B;;;;;;AC/GA;AACA;AACA;AACA;AACA,2C;;;;;;;;;;;;;;;;ACJA,kCAA2B,GAAe,CAAC;AAC3C,oCAAuB,GAAiB,CAAC;AAEzC,qCAAgC,GAAe,CAAC;AAChD,mCAAsB,GAAa,CAAC;AAEpC,qBAAO,GAAsB,CAAC;AAC9B,qBAAO,GAAkC,CAAC;AAE1C,qCAA6B,GAAY,CAAC;AAI1C;KAeI,sBAAoB,QAAiB,EAAU,MAAc,EAAU,KAAsB;SAfjG,iBAgBC;SADuB,aAAQ,GAAR,QAAQ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;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;;;;;;AC9HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAiB;AACjB,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,gBAAe,SAAS;AACxB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAG;AACH,qBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;AC7SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA,EAAC;AACD;AACA;AACA;;;AAGA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAG;AACH;AACA;;AAEA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,oBAAmB,QAAQ;AAC3B;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,oBAAmB,SAAS;AAC5B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT,QAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA,mCAAkC;AAClC;AACA,SAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;AAIA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uCAAsC,gBAAgB;AACtD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;;AAEA;AACA,iCAAgC,OAAO;AACvC;AACA;AACA;;AAEA;AACA,iCAAgC,OAAO;AACvC;AACA;AACA;AACA;;;;;;;;ACt7BA;AACA;AACA;;;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;;;;;;AC1GA,gB;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,EAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iCAAgC,OAAO;AACvC;AACA;AACA;;;;;;;;ACxFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAO;AACP,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAmB,yBAAyB;AAC5C;;AAEA;AACA;AACA;AACA;AACA,sBAAqB,gBAAgB;AACrC;AACA;AACA;AACA,MAAK;;AAEL;AACA;AACA,IAAG;AACH;AACA,oBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC5dA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAQ,OAAO;AACf;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;;;;;AC5NA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA0C,YAAY;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA,IAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;AChNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;;;;;AC7CA;;;;;;;ACAA;;;;;;;ACAA;;;;;;;ACAA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAmB,sBAAsB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAS;AACT;AACA;AACA;AACA;AACA;AACA,IAAG;AACH,wBAAuB,SAAS;AAChC;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,YAAW,OAAO;AAClB,YAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA,IAAG;;AAEH;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA4C,KAAK;;AAEjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,IAAG;AACH;AACA;AACA,MAAK;AACL;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;AACA,oCAAmC,OAAO;AAC1C;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;AACH;AACA;;;AAGA;AACA;AACA,0DAAyD;AACzD;AACA;AACA;AACA,MAAK;AACL;AACA;AACA,IAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,YAAW;AACX,UAAS;AACT;AACA;AACA,YAAW;AACX;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,IAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAW,SAAS;AACpB;AACA,YAAW,SAAS;AACpB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;ACzkBA;AACA;AACA;AACA;AACA;AACA,E;;;;;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAK;AACL;AACA,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"uhk.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 7baca51d72e9ae0af827\n **/","require('./shim');\nrequire('./modules/core.dict');\nrequire('./modules/core.get-iterator-method');\nrequire('./modules/core.get-iterator');\nrequire('./modules/core.is-iterable');\nrequire('./modules/core.delay');\nrequire('./modules/core.function.part');\nrequire('./modules/core.object.is-object');\nrequire('./modules/core.object.classof');\nrequire('./modules/core.object.define');\nrequire('./modules/core.object.make');\nrequire('./modules/core.number.iterator');\nrequire('./modules/core.regexp.escape');\nrequire('./modules/core.string.escape-html');\nrequire('./modules/core.string.unescape-html');\nmodule.exports = require('./modules/_core');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/index.js\n ** module id = 1\n ** module chunks = 0\n **/","require('./modules/es6.symbol');\nrequire('./modules/es6.object.create');\nrequire('./modules/es6.object.define-property');\nrequire('./modules/es6.object.define-properties');\nrequire('./modules/es6.object.get-own-property-descriptor');\nrequire('./modules/es6.object.get-prototype-of');\nrequire('./modules/es6.object.keys');\nrequire('./modules/es6.object.get-own-property-names');\nrequire('./modules/es6.object.freeze');\nrequire('./modules/es6.object.seal');\nrequire('./modules/es6.object.prevent-extensions');\nrequire('./modules/es6.object.is-frozen');\nrequire('./modules/es6.object.is-sealed');\nrequire('./modules/es6.object.is-extensible');\nrequire('./modules/es6.object.assign');\nrequire('./modules/es6.object.is');\nrequire('./modules/es6.object.set-prototype-of');\nrequire('./modules/es6.object.to-string');\nrequire('./modules/es6.function.bind');\nrequire('./modules/es6.function.name');\nrequire('./modules/es6.function.has-instance');\nrequire('./modules/es6.parse-int');\nrequire('./modules/es6.parse-float');\nrequire('./modules/es6.number.constructor');\nrequire('./modules/es6.number.to-fixed');\nrequire('./modules/es6.number.to-precision');\nrequire('./modules/es6.number.epsilon');\nrequire('./modules/es6.number.is-finite');\nrequire('./modules/es6.number.is-integer');\nrequire('./modules/es6.number.is-nan');\nrequire('./modules/es6.number.is-safe-integer');\nrequire('./modules/es6.number.max-safe-integer');\nrequire('./modules/es6.number.min-safe-integer');\nrequire('./modules/es6.number.parse-float');\nrequire('./modules/es6.number.parse-int');\nrequire('./modules/es6.math.acosh');\nrequire('./modules/es6.math.asinh');\nrequire('./modules/es6.math.atanh');\nrequire('./modules/es6.math.cbrt');\nrequire('./modules/es6.math.clz32');\nrequire('./modules/es6.math.cosh');\nrequire('./modules/es6.math.expm1');\nrequire('./modules/es6.math.fround');\nrequire('./modules/es6.math.hypot');\nrequire('./modules/es6.math.imul');\nrequire('./modules/es6.math.log10');\nrequire('./modules/es6.math.log1p');\nrequire('./modules/es6.math.log2');\nrequire('./modules/es6.math.sign');\nrequire('./modules/es6.math.sinh');\nrequire('./modules/es6.math.tanh');\nrequire('./modules/es6.math.trunc');\nrequire('./modules/es6.string.from-code-point');\nrequire('./modules/es6.string.raw');\nrequire('./modules/es6.string.trim');\nrequire('./modules/es6.string.iterator');\nrequire('./modules/es6.string.code-point-at');\nrequire('./modules/es6.string.ends-with');\nrequire('./modules/es6.string.includes');\nrequire('./modules/es6.string.repeat');\nrequire('./modules/es6.string.starts-with');\nrequire('./modules/es6.string.anchor');\nrequire('./modules/es6.string.big');\nrequire('./modules/es6.string.blink');\nrequire('./modules/es6.string.bold');\nrequire('./modules/es6.string.fixed');\nrequire('./modules/es6.string.fontcolor');\nrequire('./modules/es6.string.fontsize');\nrequire('./modules/es6.string.italics');\nrequire('./modules/es6.string.link');\nrequire('./modules/es6.string.small');\nrequire('./modules/es6.string.strike');\nrequire('./modules/es6.string.sub');\nrequire('./modules/es6.string.sup');\nrequire('./modules/es6.date.now');\nrequire('./modules/es6.date.to-json');\nrequire('./modules/es6.date.to-iso-string');\nrequire('./modules/es6.date.to-string');\nrequire('./modules/es6.date.to-primitive');\nrequire('./modules/es6.array.is-array');\nrequire('./modules/es6.array.from');\nrequire('./modules/es6.array.of');\nrequire('./modules/es6.array.join');\nrequire('./modules/es6.array.slice');\nrequire('./modules/es6.array.sort');\nrequire('./modules/es6.array.for-each');\nrequire('./modules/es6.array.map');\nrequire('./modules/es6.array.filter');\nrequire('./modules/es6.array.some');\nrequire('./modules/es6.array.every');\nrequire('./modules/es6.array.reduce');\nrequire('./modules/es6.array.reduce-right');\nrequire('./modules/es6.array.index-of');\nrequire('./modules/es6.array.last-index-of');\nrequire('./modules/es6.array.copy-within');\nrequire('./modules/es6.array.fill');\nrequire('./modules/es6.array.find');\nrequire('./modules/es6.array.find-index');\nrequire('./modules/es6.array.species');\nrequire('./modules/es6.array.iterator');\nrequire('./modules/es6.regexp.constructor');\nrequire('./modules/es6.regexp.to-string');\nrequire('./modules/es6.regexp.flags');\nrequire('./modules/es6.regexp.match');\nrequire('./modules/es6.regexp.replace');\nrequire('./modules/es6.regexp.search');\nrequire('./modules/es6.regexp.split');\nrequire('./modules/es6.promise');\nrequire('./modules/es6.map');\nrequire('./modules/es6.set');\nrequire('./modules/es6.weak-map');\nrequire('./modules/es6.weak-set');\nrequire('./modules/es6.typed.array-buffer');\nrequire('./modules/es6.typed.data-view');\nrequire('./modules/es6.typed.int8-array');\nrequire('./modules/es6.typed.uint8-array');\nrequire('./modules/es6.typed.uint8-clamped-array');\nrequire('./modules/es6.typed.int16-array');\nrequire('./modules/es6.typed.uint16-array');\nrequire('./modules/es6.typed.int32-array');\nrequire('./modules/es6.typed.uint32-array');\nrequire('./modules/es6.typed.float32-array');\nrequire('./modules/es6.typed.float64-array');\nrequire('./modules/es6.reflect.apply');\nrequire('./modules/es6.reflect.construct');\nrequire('./modules/es6.reflect.define-property');\nrequire('./modules/es6.reflect.delete-property');\nrequire('./modules/es6.reflect.enumerate');\nrequire('./modules/es6.reflect.get');\nrequire('./modules/es6.reflect.get-own-property-descriptor');\nrequire('./modules/es6.reflect.get-prototype-of');\nrequire('./modules/es6.reflect.has');\nrequire('./modules/es6.reflect.is-extensible');\nrequire('./modules/es6.reflect.own-keys');\nrequire('./modules/es6.reflect.prevent-extensions');\nrequire('./modules/es6.reflect.set');\nrequire('./modules/es6.reflect.set-prototype-of');\nrequire('./modules/es7.array.includes');\nrequire('./modules/es7.string.at');\nrequire('./modules/es7.string.pad-start');\nrequire('./modules/es7.string.pad-end');\nrequire('./modules/es7.string.trim-left');\nrequire('./modules/es7.string.trim-right');\nrequire('./modules/es7.string.match-all');\nrequire('./modules/es7.symbol.async-iterator');\nrequire('./modules/es7.symbol.observable');\nrequire('./modules/es7.object.get-own-property-descriptors');\nrequire('./modules/es7.object.values');\nrequire('./modules/es7.object.entries');\nrequire('./modules/es7.object.define-getter');\nrequire('./modules/es7.object.define-setter');\nrequire('./modules/es7.object.lookup-getter');\nrequire('./modules/es7.object.lookup-setter');\nrequire('./modules/es7.map.to-json');\nrequire('./modules/es7.set.to-json');\nrequire('./modules/es7.system.global');\nrequire('./modules/es7.error.is-error');\nrequire('./modules/es7.math.iaddh');\nrequire('./modules/es7.math.isubh');\nrequire('./modules/es7.math.imulh');\nrequire('./modules/es7.math.umulh');\nrequire('./modules/es7.reflect.define-metadata');\nrequire('./modules/es7.reflect.delete-metadata');\nrequire('./modules/es7.reflect.get-metadata');\nrequire('./modules/es7.reflect.get-metadata-keys');\nrequire('./modules/es7.reflect.get-own-metadata');\nrequire('./modules/es7.reflect.get-own-metadata-keys');\nrequire('./modules/es7.reflect.has-metadata');\nrequire('./modules/es7.reflect.has-own-metadata');\nrequire('./modules/es7.reflect.metadata');\nrequire('./modules/es7.asap');\nrequire('./modules/es7.observable');\nrequire('./modules/web.timers');\nrequire('./modules/web.immediate');\nrequire('./modules/web.dom.iterable');\nmodule.exports = require('./modules/_core');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/shim.js\n ** module id = 2\n ** module chunks = 0\n **/","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global')\n , has = require('./_has')\n , DESCRIPTORS = require('./_descriptors')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , META = require('./_meta').KEY\n , $fails = require('./_fails')\n , shared = require('./_shared')\n , setToStringTag = require('./_set-to-string-tag')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , wksExt = require('./_wks-ext')\n , wksDefine = require('./_wks-define')\n , keyOf = require('./_keyof')\n , enumKeys = require('./_enum-keys')\n , isArray = require('./_is-array')\n , anObject = require('./_an-object')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , createDesc = require('./_property-desc')\n , _create = require('./_object-create')\n , gOPNExt = require('./_object-gopn-ext')\n , $GOPD = require('./_object-gopd')\n , $DP = require('./_object-dp')\n , $keys = require('./_object-keys')\n , gOPD = $GOPD.f\n , dP = $DP.f\n , gOPN = gOPNExt.f\n , $Symbol = global.Symbol\n , $JSON = global.JSON\n , _stringify = $JSON && $JSON.stringify\n , PROTOTYPE = 'prototype'\n , HIDDEN = wks('_hidden')\n , TO_PRIMITIVE = wks('toPrimitive')\n , isEnum = {}.propertyIsEnumerable\n , SymbolRegistry = shared('symbol-registry')\n , AllSymbols = shared('symbols')\n , OPSymbols = shared('op-symbols')\n , ObjectProto = Object[PROTOTYPE]\n , USE_NATIVE = typeof $Symbol == 'function'\n , QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function(){\n return _create(dP({}, 'a', {\n get: function(){ return dP(this, 'a', {value: 7}).a; }\n })).a != 7;\n}) ? function(it, key, D){\n var protoDesc = gOPD(ObjectProto, key);\n if(protoDesc)delete ObjectProto[key];\n dP(it, key, D);\n if(protoDesc && it !== ObjectProto)dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function(tag){\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function(it){\n return typeof it == 'symbol';\n} : function(it){\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D){\n if(it === ObjectProto)$defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if(has(AllSymbols, key)){\n if(!D.enumerable){\n if(!has(it, HIDDEN))dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if(has(it, HIDDEN) && it[HIDDEN][key])it[HIDDEN][key] = false;\n D = _create(D, {enumerable: createDesc(0, false)});\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P){\n anObject(it);\n var keys = enumKeys(P = toIObject(P))\n , i = 0\n , l = keys.length\n , key;\n while(l > i)$defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P){\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key){\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if(this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key){\n it = toIObject(it);\n key = toPrimitive(key, true);\n if(it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key))return;\n var D = gOPD(it, key);\n if(D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key]))D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it){\n var names = gOPN(toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META)result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it){\n var IS_OP = it === ObjectProto\n , names = gOPN(IS_OP ? OPSymbols : toIObject(it))\n , result = []\n , i = 0\n , key;\n while(names.length > i){\n if(has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true))result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif(!USE_NATIVE){\n $Symbol = function Symbol(){\n if(this instanceof $Symbol)throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function(value){\n if(this === ObjectProto)$set.call(OPSymbols, value);\n if(has(this, HIDDEN) && has(this[HIDDEN], tag))this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if(DESCRIPTORS && setter)setSymbolDesc(ObjectProto, tag, {configurable: true, set: $set});\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString(){\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if(DESCRIPTORS && !require('./_library')){\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function(name){\n return wrap(wks(name));\n }\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Symbol: $Symbol});\n\nfor(var symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), i = 0; symbols.length > i; )wks(symbols[i++]);\n\nfor(var symbols = $keys(wks.store), i = 0; symbols.length > i; )wksDefine(symbols[i++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function(key){\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(key){\n if(isSymbol(key))return keyOf(SymbolRegistry, key);\n throw TypeError(key + ' is not a symbol!');\n },\n useSetter: function(){ setter = true; },\n useSimple: function(){ setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function(){\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({a: S}) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it){\n if(it === undefined || isSymbol(it))return; // IE8 returns string on undefined\n var args = [it]\n , i = 1\n , replacer, $replacer;\n while(arguments.length > i)args.push(arguments[i++]);\n replacer = args[1];\n if(typeof replacer == 'function')$replacer = replacer;\n if($replacer || !isArray(replacer))replacer = function(key, value){\n if($replacer)value = $replacer.call(this, key, value);\n if(!isSymbol(value))return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.symbol.js\n ** module id = 3\n ** module chunks = 0\n **/","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();\nif(typeof __g == 'number')__g = global; // eslint-disable-line no-undef\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_global.js\n ** module id = 4\n ** module chunks = 0\n **/","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function(it, key){\n return hasOwnProperty.call(it, key);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_has.js\n ** module id = 5\n ** module chunks = 0\n **/","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function(){\n return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_descriptors.js\n ** module id = 6\n ** module chunks = 0\n **/","module.exports = function(exec){\n try {\n return !!exec();\n } catch(e){\n return true;\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_fails.js\n ** module id = 7\n ** module chunks = 0\n **/","var global = require('./_global')\n , core = require('./_core')\n , hide = require('./_hide')\n , redefine = require('./_redefine')\n , ctx = require('./_ctx')\n , PROTOTYPE = 'prototype';\n\nvar $export = function(type, name, source){\n var IS_FORCED = type & $export.F\n , IS_GLOBAL = type & $export.G\n , IS_STATIC = type & $export.S\n , IS_PROTO = type & $export.P\n , IS_BIND = type & $export.B\n , target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]\n , exports = IS_GLOBAL ? core : core[name] || (core[name] = {})\n , expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {})\n , key, own, out, exp;\n if(IS_GLOBAL)source = name;\n for(key in source){\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if(target)redefine(target, key, out, type & $export.U);\n // export\n if(exports[key] != out)hide(exports, key, exp);\n if(IS_PROTO && expProto[key] != out)expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library` \nmodule.exports = $export;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_export.js\n ** module id = 8\n ** module chunks = 0\n **/","var core = module.exports = {version: '2.4.0'};\nif(typeof __e == 'number')__e = core; // eslint-disable-line no-undef\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_core.js\n ** module id = 9\n ** module chunks = 0\n **/","var dP = require('./_object-dp')\n , createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function(object, key, value){\n return dP.f(object, key, createDesc(1, value));\n} : function(object, key, value){\n object[key] = value;\n return object;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_hide.js\n ** module id = 10\n ** module chunks = 0\n **/","var anObject = require('./_an-object')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , toPrimitive = require('./_to-primitive')\n , dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes){\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if(IE8_DOM_DEFINE)try {\n return dP(O, P, Attributes);\n } catch(e){ /* empty */ }\n if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');\n if('value' in Attributes)O[P] = Attributes.value;\n return O;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-dp.js\n ** module id = 11\n ** module chunks = 0\n **/","var isObject = require('./_is-object');\nmodule.exports = function(it){\n if(!isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_an-object.js\n ** module id = 12\n ** module chunks = 0\n **/","module.exports = function(it){\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_is-object.js\n ** module id = 13\n ** module chunks = 0\n **/","module.exports = !require('./_descriptors') && !require('./_fails')(function(){\n return Object.defineProperty(require('./_dom-create')('div'), 'a', {get: function(){ return 7; }}).a != 7;\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_ie8-dom-define.js\n ** module id = 14\n ** module chunks = 0\n **/","var isObject = require('./_is-object')\n , document = require('./_global').document\n // in old IE typeof document.createElement is 'object'\n , is = isObject(document) && isObject(document.createElement);\nmodule.exports = function(it){\n return is ? document.createElement(it) : {};\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_dom-create.js\n ** module id = 15\n ** module chunks = 0\n **/","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function(it, S){\n if(!isObject(it))return it;\n var fn, val;\n if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;\n if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_to-primitive.js\n ** module id = 16\n ** module chunks = 0\n **/","module.exports = function(bitmap, value){\n return {\n enumerable : !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable : !(bitmap & 4),\n value : value\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_property-desc.js\n ** module id = 17\n ** module chunks = 0\n **/","var global = require('./_global')\n , hide = require('./_hide')\n , has = require('./_has')\n , SRC = require('./_uid')('src')\n , TO_STRING = 'toString'\n , $toString = Function[TO_STRING]\n , TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function(it){\n return $toString.call(it);\n};\n\n(module.exports = function(O, key, val, safe){\n var isFunction = typeof val == 'function';\n if(isFunction)has(val, 'name') || hide(val, 'name', key);\n if(O[key] === val)return;\n if(isFunction)has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if(O === global){\n O[key] = val;\n } else {\n if(!safe){\n delete O[key];\n hide(O, key, val);\n } else {\n if(O[key])O[key] = val;\n else hide(O, key, val);\n }\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString(){\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_redefine.js\n ** module id = 18\n ** module chunks = 0\n **/","var id = 0\n , px = Math.random();\nmodule.exports = function(key){\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_uid.js\n ** module id = 19\n ** module chunks = 0\n **/","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function(fn, that, length){\n aFunction(fn);\n if(that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n }\n return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_ctx.js\n ** module id = 20\n ** module chunks = 0\n **/","module.exports = function(it){\n if(typeof it != 'function')throw TypeError(it + ' is not a function!');\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_a-function.js\n ** module id = 21\n ** module chunks = 0\n **/","var META = require('./_uid')('meta')\n , isObject = require('./_is-object')\n , has = require('./_has')\n , setDesc = require('./_object-dp').f\n , id = 0;\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\nvar FREEZE = !require('./_fails')(function(){\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function(it){\n setDesc(it, META, {value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n }});\n};\nvar fastKey = function(it, create){\n // return primitive with prefix\n if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return 'F';\n // not necessary to add metadata\n if(!create)return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function(it, create){\n if(!has(it, META)){\n // can't set metadata to uncaught frozen object\n if(!isExtensible(it))return true;\n // not necessary to add metadata\n if(!create)return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function(it){\n if(FREEZE && meta.NEED && isExtensible(it) && !has(it, META))setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_meta.js\n ** module id = 22\n ** module chunks = 0\n **/","var global = require('./_global')\n , SHARED = '__core-js_shared__'\n , store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function(key){\n return store[key] || (store[key] = {});\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_shared.js\n ** module id = 23\n ** module chunks = 0\n **/","var def = require('./_object-dp').f\n , has = require('./_has')\n , TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function(it, tag, stat){\n if(it && !has(it = stat ? it : it.prototype, TAG))def(it, TAG, {configurable: true, value: tag});\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_set-to-string-tag.js\n ** module id = 24\n ** module chunks = 0\n **/","var store = require('./_shared')('wks')\n , uid = require('./_uid')\n , Symbol = require('./_global').Symbol\n , USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function(name){\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_wks.js\n ** module id = 25\n ** module chunks = 0\n **/","exports.f = require('./_wks');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_wks-ext.js\n ** module id = 26\n ** module chunks = 0\n **/","var global = require('./_global')\n , core = require('./_core')\n , LIBRARY = require('./_library')\n , wksExt = require('./_wks-ext')\n , defineProperty = require('./_object-dp').f;\nmodule.exports = function(name){\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if(name.charAt(0) != '_' && !(name in $Symbol))defineProperty($Symbol, name, {value: wksExt.f(name)});\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_wks-define.js\n ** module id = 27\n ** module chunks = 0\n **/","module.exports = false;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_library.js\n ** module id = 28\n ** module chunks = 0\n **/","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject');\nmodule.exports = function(object, el){\n var O = toIObject(object)\n , keys = getKeys(O)\n , length = keys.length\n , index = 0\n , key;\n while(length > index)if(O[key = keys[index++]] === el)return key;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_keyof.js\n ** module id = 29\n ** module chunks = 0\n **/","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal')\n , enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O){\n return $keys(O, enumBugKeys);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-keys.js\n ** module id = 30\n ** module chunks = 0\n **/","var has = require('./_has')\n , toIObject = require('./_to-iobject')\n , arrayIndexOf = require('./_array-includes')(false)\n , IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function(object, names){\n var O = toIObject(object)\n , i = 0\n , result = []\n , key;\n for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while(names.length > i)if(has(O, key = names[i++])){\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-keys-internal.js\n ** module id = 31\n ** module chunks = 0\n **/","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject')\n , defined = require('./_defined');\nmodule.exports = function(it){\n return IObject(defined(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_to-iobject.js\n ** module id = 32\n ** module chunks = 0\n **/","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_iobject.js\n ** module id = 33\n ** module chunks = 0\n **/","var toString = {}.toString;\n\nmodule.exports = function(it){\n return toString.call(it).slice(8, -1);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_cof.js\n ** module id = 34\n ** module chunks = 0\n **/","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function(it){\n if(it == undefined)throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_defined.js\n ** module id = 35\n ** module chunks = 0\n **/","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index');\nmodule.exports = function(IS_INCLUDES){\n return function($this, el, fromIndex){\n var O = toIObject($this)\n , length = toLength(O.length)\n , index = toIndex(fromIndex, length)\n , value;\n // Array#includes uses SameValueZero equality algorithm\n if(IS_INCLUDES && el != el)while(length > index){\n value = O[index++];\n if(value != value)return true;\n // Array#toIndex ignores holes, Array#includes - not\n } else for(;length > index; index++)if(IS_INCLUDES || index in O){\n if(O[index] === el)return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_array-includes.js\n ** module id = 36\n ** module chunks = 0\n **/","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer')\n , min = Math.min;\nmodule.exports = function(it){\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_to-length.js\n ** module id = 37\n ** module chunks = 0\n **/","// 7.1.4 ToInteger\nvar ceil = Math.ceil\n , floor = Math.floor;\nmodule.exports = function(it){\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_to-integer.js\n ** module id = 38\n ** module chunks = 0\n **/","var toInteger = require('./_to-integer')\n , max = Math.max\n , min = Math.min;\nmodule.exports = function(index, length){\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_to-index.js\n ** module id = 39\n ** module chunks = 0\n **/","var shared = require('./_shared')('keys')\n , uid = require('./_uid');\nmodule.exports = function(key){\n return shared[key] || (shared[key] = uid(key));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_shared-key.js\n ** module id = 40\n ** module chunks = 0\n **/","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_enum-bug-keys.js\n ** module id = 41\n ** module chunks = 0\n **/","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie');\nmodule.exports = function(it){\n var result = getKeys(it)\n , getSymbols = gOPS.f;\n if(getSymbols){\n var symbols = getSymbols(it)\n , isEnum = pIE.f\n , i = 0\n , key;\n while(symbols.length > i)if(isEnum.call(it, key = symbols[i++]))result.push(key);\n } return result;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_enum-keys.js\n ** module id = 42\n ** module chunks = 0\n **/","exports.f = Object.getOwnPropertySymbols;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-gops.js\n ** module id = 43\n ** module chunks = 0\n **/","exports.f = {}.propertyIsEnumerable;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-pie.js\n ** module id = 44\n ** module chunks = 0\n **/","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg){\n return cof(arg) == 'Array';\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_is-array.js\n ** module id = 45\n ** module chunks = 0\n **/","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object')\n , dPs = require('./_object-dps')\n , enumBugKeys = require('./_enum-bug-keys')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , Empty = function(){ /* empty */ }\n , PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function(){\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe')\n , i = enumBugKeys.length\n , lt = '<'\n , gt = '>'\n , iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties){\n var result;\n if(O !== null){\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty;\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-create.js\n ** module id = 46\n ** module chunks = 0\n **/","var dP = require('./_object-dp')\n , anObject = require('./_an-object')\n , getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties){\n anObject(O);\n var keys = getKeys(Properties)\n , length = keys.length\n , i = 0\n , P;\n while(length > i)dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-dps.js\n ** module id = 47\n ** module chunks = 0\n **/","module.exports = require('./_global').document && document.documentElement;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_html.js\n ** module id = 48\n ** module chunks = 0\n **/","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject')\n , gOPN = require('./_object-gopn').f\n , toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function(it){\n try {\n return gOPN(it);\n } catch(e){\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it){\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-gopn-ext.js\n ** module id = 49\n ** module chunks = 0\n **/","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal')\n , hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){\n return $keys(O, hiddenKeys);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-gopn.js\n ** module id = 50\n ** module chunks = 0\n **/","var pIE = require('./_object-pie')\n , createDesc = require('./_property-desc')\n , toIObject = require('./_to-iobject')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , IE8_DOM_DEFINE = require('./_ie8-dom-define')\n , gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P){\n O = toIObject(O);\n P = toPrimitive(P, true);\n if(IE8_DOM_DEFINE)try {\n return gOPD(O, P);\n } catch(e){ /* empty */ }\n if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-gopd.js\n ** module id = 51\n ** module chunks = 0\n **/","var $export = require('./_export')\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', {create: require('./_object-create')});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.object.create.js\n ** module id = 52\n ** module chunks = 0\n **/","var $export = require('./_export');\n// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperty: require('./_object-dp').f});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.object.define-property.js\n ** module id = 53\n ** module chunks = 0\n **/","var $export = require('./_export');\n// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties)\n$export($export.S + $export.F * !require('./_descriptors'), 'Object', {defineProperties: require('./_object-dps')});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.object.define-properties.js\n ** module id = 54\n ** module chunks = 0\n **/","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject')\n , $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function(){\n return function getOwnPropertyDescriptor(it, key){\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.object.get-own-property-descriptor.js\n ** module id = 55\n ** module chunks = 0\n **/","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export')\n , core = require('./_core')\n , fails = require('./_fails');\nmodule.exports = function(KEY, exec){\n var fn = (core.Object || {})[KEY] || Object[KEY]\n , exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function(){ fn(1); }), 'Object', exp);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-sap.js\n ** module id = 56\n ** module chunks = 0\n **/","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object')\n , $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function(){\n return function getPrototypeOf(it){\n return $getPrototypeOf(toObject(it));\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.object.get-prototype-of.js\n ** module id = 57\n ** module chunks = 0\n **/","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function(it){\n return Object(defined(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_to-object.js\n ** module id = 58\n ** module chunks = 0\n **/","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has')\n , toObject = require('./_to-object')\n , IE_PROTO = require('./_shared-key')('IE_PROTO')\n , ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function(O){\n O = toObject(O);\n if(has(O, IE_PROTO))return O[IE_PROTO];\n if(typeof O.constructor == 'function' && O instanceof O.constructor){\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-gpo.js\n ** module id = 59\n ** module chunks = 0\n **/","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object')\n , $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function(){\n return function keys(it){\n return $keys(toObject(it));\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.object.keys.js\n ** module id = 60\n ** module chunks = 0\n **/","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function(){\n return require('./_object-gopn-ext').f;\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.object.get-own-property-names.js\n ** module id = 61\n ** module chunks = 0\n **/","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function($freeze){\n return function freeze(it){\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.object.freeze.js\n ** module id = 62\n ** module chunks = 0\n **/","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function($seal){\n return function seal(it){\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.object.seal.js\n ** module id = 63\n ** module chunks = 0\n **/","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object')\n , meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function($preventExtensions){\n return function preventExtensions(it){\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.object.prevent-extensions.js\n ** module id = 64\n ** module chunks = 0\n **/","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function($isFrozen){\n return function isFrozen(it){\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.object.is-frozen.js\n ** module id = 65\n ** module chunks = 0\n **/","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function($isSealed){\n return function isSealed(it){\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.object.is-sealed.js\n ** module id = 66\n ** module chunks = 0\n **/","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function($isExtensible){\n return function isExtensible(it){\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.object.is-extensible.js\n ** module id = 67\n ** module chunks = 0\n **/","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', {assign: require('./_object-assign')});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.object.assign.js\n ** module id = 68\n ** module chunks = 0\n **/","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys')\n , gOPS = require('./_object-gops')\n , pIE = require('./_object-pie')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function(){\n var A = {}\n , B = {}\n , S = Symbol()\n , K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function(k){ B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source){ // eslint-disable-line no-unused-vars\n var T = toObject(target)\n , aLen = arguments.length\n , index = 1\n , getSymbols = gOPS.f\n , isEnum = pIE.f;\n while(aLen > index){\n var S = IObject(arguments[index++])\n , keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S)\n , length = keys.length\n , j = 0\n , key;\n while(length > j)if(isEnum.call(S, key = keys[j++]))T[key] = S[key];\n } return T;\n} : $assign;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-assign.js\n ** module id = 69\n ** module chunks = 0\n **/","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', {is: require('./_same-value')});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.object.is.js\n ** module id = 70\n ** module chunks = 0\n **/","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y){\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_same-value.js\n ** module id = 71\n ** module chunks = 0\n **/","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', {setPrototypeOf: require('./_set-proto').set});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.object.set-prototype-of.js\n ** module id = 72\n ** module chunks = 0\n **/","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object')\n , anObject = require('./_an-object');\nvar check = function(O, proto){\n anObject(O);\n if(!isObject(proto) && proto !== null)throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function(test, buggy, set){\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch(e){ buggy = true; }\n return function setPrototypeOf(O, proto){\n check(O, proto);\n if(buggy)O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_set-proto.js\n ** module id = 73\n ** module chunks = 0\n **/","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof')\n , test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif(test + '' != '[object z]'){\n require('./_redefine')(Object.prototype, 'toString', function toString(){\n return '[object ' + classof(this) + ']';\n }, true);\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.object.to-string.js\n ** module id = 74\n ** module chunks = 0\n **/","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof')\n , TAG = require('./_wks')('toStringTag')\n // ES3 wrong here\n , ARG = cof(function(){ return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function(it, key){\n try {\n return it[key];\n } catch(e){ /* empty */ }\n};\n\nmodule.exports = function(it){\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_classof.js\n ** module id = 75\n ** module chunks = 0\n **/","// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...)\nvar $export = require('./_export');\n\n$export($export.P, 'Function', {bind: require('./_bind')});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.function.bind.js\n ** module id = 76\n ** module chunks = 0\n **/","'use strict';\nvar aFunction = require('./_a-function')\n , isObject = require('./_is-object')\n , invoke = require('./_invoke')\n , arraySlice = [].slice\n , factories = {};\n\nvar construct = function(F, len, args){\n if(!(len in factories)){\n for(var n = [], i = 0; i < len; i++)n[i] = 'a[' + i + ']';\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /*, args... */){\n var fn = aFunction(this)\n , partArgs = arraySlice.call(arguments, 1);\n var bound = function(/* args... */){\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if(isObject(fn.prototype))bound.prototype = fn.prototype;\n return bound;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_bind.js\n ** module id = 77\n ** module chunks = 0\n **/","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function(fn, args, that){\n var un = that === undefined;\n switch(args.length){\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_invoke.js\n ** module id = 78\n ** module chunks = 0\n **/","var dP = require('./_object-dp').f\n , createDesc = require('./_property-desc')\n , has = require('./_has')\n , FProto = Function.prototype\n , nameRE = /^\\s*function ([^ (]*)/\n , NAME = 'name';\n\nvar isExtensible = Object.isExtensible || function(){\n return true;\n};\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function(){\n try {\n var that = this\n , name = ('' + that).match(nameRE)[1];\n has(that, NAME) || !isExtensible(that) || dP(that, NAME, createDesc(5, name));\n return name;\n } catch(e){\n return '';\n }\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.function.name.js\n ** module id = 79\n ** module chunks = 0\n **/","'use strict';\nvar isObject = require('./_is-object')\n , getPrototypeOf = require('./_object-gpo')\n , HAS_INSTANCE = require('./_wks')('hasInstance')\n , FunctionProto = Function.prototype;\n// 19.2.3.6 Function.prototype[@@hasInstance](V)\nif(!(HAS_INSTANCE in FunctionProto))require('./_object-dp').f(FunctionProto, HAS_INSTANCE, {value: function(O){\n if(typeof this != 'function' || !isObject(O))return false;\n if(!isObject(this.prototype))return O instanceof this;\n // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this:\n while(O = getPrototypeOf(O))if(this.prototype === O)return true;\n return false;\n}});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.function.has-instance.js\n ** module id = 80\n ** module chunks = 0\n **/","var $export = require('./_export')\n , $parseInt = require('./_parse-int');\n// 18.2.5 parseInt(string, radix)\n$export($export.G + $export.F * (parseInt != $parseInt), {parseInt: $parseInt});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.parse-int.js\n ** module id = 81\n ** module chunks = 0\n **/","var $parseInt = require('./_global').parseInt\n , $trim = require('./_string-trim').trim\n , ws = require('./_string-ws')\n , hex = /^[\\-+]?0[xX]/;\n\nmodule.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix){\n var string = $trim(String(str), 3);\n return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10));\n} : $parseInt;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_parse-int.js\n ** module id = 82\n ** module chunks = 0\n **/","var $export = require('./_export')\n , defined = require('./_defined')\n , fails = require('./_fails')\n , spaces = require('./_string-ws')\n , space = '[' + spaces + ']'\n , non = '\\u200b\\u0085'\n , ltrim = RegExp('^' + space + space + '*')\n , rtrim = RegExp(space + space + '*$');\n\nvar exporter = function(KEY, exec, ALIAS){\n var exp = {};\n var FORCE = fails(function(){\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if(ALIAS)exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function(string, TYPE){\n string = String(defined(string));\n if(TYPE & 1)string = string.replace(ltrim, '');\n if(TYPE & 2)string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_string-trim.js\n ** module id = 83\n ** module chunks = 0\n **/","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_string-ws.js\n ** module id = 84\n ** module chunks = 0\n **/","var $export = require('./_export')\n , $parseFloat = require('./_parse-float');\n// 18.2.4 parseFloat(string)\n$export($export.G + $export.F * (parseFloat != $parseFloat), {parseFloat: $parseFloat});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.parse-float.js\n ** module id = 85\n ** module chunks = 0\n **/","var $parseFloat = require('./_global').parseFloat\n , $trim = require('./_string-trim').trim;\n\nmodule.exports = 1 / $parseFloat(require('./_string-ws') + '-0') !== -Infinity ? function parseFloat(str){\n var string = $trim(String(str), 3)\n , result = $parseFloat(string);\n return result === 0 && string.charAt(0) == '-' ? -0 : result;\n} : $parseFloat;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_parse-float.js\n ** module id = 86\n ** module chunks = 0\n **/","'use strict';\nvar global = require('./_global')\n , has = require('./_has')\n , cof = require('./_cof')\n , inheritIfRequired = require('./_inherit-if-required')\n , toPrimitive = require('./_to-primitive')\n , fails = require('./_fails')\n , gOPN = require('./_object-gopn').f\n , gOPD = require('./_object-gopd').f\n , dP = require('./_object-dp').f\n , $trim = require('./_string-trim').trim\n , NUMBER = 'Number'\n , $Number = global[NUMBER]\n , Base = $Number\n , proto = $Number.prototype\n // Opera ~12 has broken Object#toString\n , BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER\n , TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function(argument){\n var it = toPrimitive(argument, false);\n if(typeof it == 'string' && it.length > 2){\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0)\n , third, radix, maxCode;\n if(first === 43 || first === 45){\n third = it.charCodeAt(2);\n if(third === 88 || third === 120)return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if(first === 48){\n switch(it.charCodeAt(1)){\n case 66 : case 98 : radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79 : case 111 : radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default : return +it;\n }\n for(var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++){\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if(code < 48 || code > maxCode)return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif(!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')){\n $Number = function Number(value){\n var it = arguments.length < 1 ? 0 : value\n , that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function(){ proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for(var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++){\n if(has(Base, key = keys[j]) && !has($Number, key)){\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.number.constructor.js\n ** module id = 87\n ** module chunks = 0\n **/","var isObject = require('./_is-object')\n , setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function(that, target, C){\n var P, S = target.constructor;\n if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){\n setPrototypeOf(that, P);\n } return that;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_inherit-if-required.js\n ** module id = 88\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export')\n , toInteger = require('./_to-integer')\n , aNumberValue = require('./_a-number-value')\n , repeat = require('./_string-repeat')\n , $toFixed = 1..toFixed\n , floor = Math.floor\n , data = [0, 0, 0, 0, 0, 0]\n , ERROR = 'Number.toFixed: incorrect invocation!'\n , ZERO = '0';\n\nvar multiply = function(n, c){\n var i = -1\n , c2 = c;\n while(++i < 6){\n c2 += n * data[i];\n data[i] = c2 % 1e7;\n c2 = floor(c2 / 1e7);\n }\n};\nvar divide = function(n){\n var i = 6\n , c = 0;\n while(--i >= 0){\n c += data[i];\n data[i] = floor(c / n);\n c = (c % n) * 1e7;\n }\n};\nvar numToString = function(){\n var i = 6\n , s = '';\n while(--i >= 0){\n if(s !== '' || i === 0 || data[i] !== 0){\n var t = String(data[i]);\n s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t;\n }\n } return s;\n};\nvar pow = function(x, n, acc){\n return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);\n};\nvar log = function(x){\n var n = 0\n , x2 = x;\n while(x2 >= 4096){\n n += 12;\n x2 /= 4096;\n }\n while(x2 >= 2){\n n += 1;\n x2 /= 2;\n } return n;\n};\n\n$export($export.P + $export.F * (!!$toFixed && (\n 0.00008.toFixed(3) !== '0.000' ||\n 0.9.toFixed(0) !== '1' ||\n 1.255.toFixed(2) !== '1.25' ||\n 1000000000000000128..toFixed(0) !== '1000000000000000128'\n) || !require('./_fails')(function(){\n // V8 ~ Android 4.3-\n $toFixed.call({});\n})), 'Number', {\n toFixed: function toFixed(fractionDigits){\n var x = aNumberValue(this, ERROR)\n , f = toInteger(fractionDigits)\n , s = ''\n , m = ZERO\n , e, z, j, k;\n if(f < 0 || f > 20)throw RangeError(ERROR);\n if(x != x)return 'NaN';\n if(x <= -1e21 || x >= 1e21)return String(x);\n if(x < 0){\n s = '-';\n x = -x;\n }\n if(x > 1e-21){\n e = log(x * pow(2, 69, 1)) - 69;\n z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1);\n z *= 0x10000000000000;\n e = 52 - e;\n if(e > 0){\n multiply(0, z);\n j = f;\n while(j >= 7){\n multiply(1e7, 0);\n j -= 7;\n }\n multiply(pow(10, j, 1), 0);\n j = e - 1;\n while(j >= 23){\n divide(1 << 23);\n j -= 23;\n }\n divide(1 << j);\n multiply(1, 1);\n divide(2);\n m = numToString();\n } else {\n multiply(0, z);\n multiply(1 << -e, 0);\n m = numToString() + repeat.call(ZERO, f);\n }\n }\n if(f > 0){\n k = m.length;\n m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f));\n } else {\n m = s + m;\n } return m;\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.number.to-fixed.js\n ** module id = 89\n ** module chunks = 0\n **/","var cof = require('./_cof');\nmodule.exports = function(it, msg){\n if(typeof it != 'number' && cof(it) != 'Number')throw TypeError(msg);\n return +it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_a-number-value.js\n ** module id = 90\n ** module chunks = 0\n **/","'use strict';\nvar toInteger = require('./_to-integer')\n , defined = require('./_defined');\n\nmodule.exports = function repeat(count){\n var str = String(defined(this))\n , res = ''\n , n = toInteger(count);\n if(n < 0 || n == Infinity)throw RangeError(\"Count can't be negative\");\n for(;n > 0; (n >>>= 1) && (str += str))if(n & 1)res += str;\n return res;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_string-repeat.js\n ** module id = 91\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export')\n , $fails = require('./_fails')\n , aNumberValue = require('./_a-number-value')\n , $toPrecision = 1..toPrecision;\n\n$export($export.P + $export.F * ($fails(function(){\n // IE7-\n return $toPrecision.call(1, undefined) !== '1';\n}) || !$fails(function(){\n // V8 ~ Android 4.3-\n $toPrecision.call({});\n})), 'Number', {\n toPrecision: function toPrecision(precision){\n var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!');\n return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); \n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.number.to-precision.js\n ** module id = 92\n ** module chunks = 0\n **/","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {EPSILON: Math.pow(2, -52)});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.number.epsilon.js\n ** module id = 93\n ** module chunks = 0\n **/","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export')\n , _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it){\n return typeof it == 'number' && _isFinite(it);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.number.is-finite.js\n ** module id = 94\n ** module chunks = 0\n **/","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {isInteger: require('./_is-integer')});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.number.is-integer.js\n ** module id = 95\n ** module chunks = 0\n **/","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object')\n , floor = Math.floor;\nmodule.exports = function isInteger(it){\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_is-integer.js\n ** module id = 96\n ** module chunks = 0\n **/","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number){\n return number != number;\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.number.is-nan.js\n ** module id = 97\n ** module chunks = 0\n **/","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export')\n , isInteger = require('./_is-integer')\n , abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number){\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.number.is-safe-integer.js\n ** module id = 98\n ** module chunks = 0\n **/","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {MAX_SAFE_INTEGER: 0x1fffffffffffff});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.number.max-safe-integer.js\n ** module id = 99\n ** module chunks = 0\n **/","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {MIN_SAFE_INTEGER: -0x1fffffffffffff});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.number.min-safe-integer.js\n ** module id = 100\n ** module chunks = 0\n **/","var $export = require('./_export')\n , $parseFloat = require('./_parse-float');\n// 20.1.2.12 Number.parseFloat(string)\n$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', {parseFloat: $parseFloat});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.number.parse-float.js\n ** module id = 101\n ** module chunks = 0\n **/","var $export = require('./_export')\n , $parseInt = require('./_parse-int');\n// 20.1.2.13 Number.parseInt(string, radix)\n$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', {parseInt: $parseInt});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.number.parse-int.js\n ** module id = 102\n ** module chunks = 0\n **/","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export')\n , log1p = require('./_math-log1p')\n , sqrt = Math.sqrt\n , $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN \n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x){\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.math.acosh.js\n ** module id = 103\n ** module chunks = 0\n **/","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x){\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_math-log1p.js\n ** module id = 104\n ** module chunks = 0\n **/","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export')\n , $asinh = Math.asinh;\n\nfunction asinh(x){\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0 \n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', {asinh: asinh});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.math.asinh.js\n ** module id = 105\n ** module chunks = 0\n **/","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export')\n , $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0 \n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x){\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.math.atanh.js\n ** module id = 106\n ** module chunks = 0\n **/","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export')\n , sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x){\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.math.cbrt.js\n ** module id = 107\n ** module chunks = 0\n **/","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x){\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_math-sign.js\n ** module id = 108\n ** module chunks = 0\n **/","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x){\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.math.clz32.js\n ** module id = 109\n ** module chunks = 0\n **/","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export')\n , exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x){\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.math.cosh.js\n ** module id = 110\n ** module chunks = 0\n **/","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export')\n , $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', {expm1: $expm1});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.math.expm1.js\n ** module id = 111\n ** module chunks = 0\n **/","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x){\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_math-expm1.js\n ** module id = 112\n ** module chunks = 0\n **/","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export')\n , sign = require('./_math-sign')\n , pow = Math.pow\n , EPSILON = pow(2, -52)\n , EPSILON32 = pow(2, -23)\n , MAX32 = pow(2, 127) * (2 - EPSILON32)\n , MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function(n){\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\n\n$export($export.S, 'Math', {\n fround: function fround(x){\n var $abs = Math.abs(x)\n , $sign = sign(x)\n , a, result;\n if($abs < MIN32)return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n if(result > MAX32 || result != result)return $sign * Infinity;\n return $sign * result;\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.math.fround.js\n ** module id = 113\n ** module chunks = 0\n **/","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export')\n , abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2){ // eslint-disable-line no-unused-vars\n var sum = 0\n , i = 0\n , aLen = arguments.length\n , larg = 0\n , arg, div;\n while(i < aLen){\n arg = abs(arguments[i++]);\n if(larg < arg){\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if(arg > 0){\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.math.hypot.js\n ** module id = 114\n ** module chunks = 0\n **/","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export')\n , $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function(){\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y){\n var UINT16 = 0xffff\n , xn = +x\n , yn = +y\n , xl = UINT16 & xn\n , yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.math.imul.js\n ** module id = 115\n ** module chunks = 0\n **/","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x){\n return Math.log(x) / Math.LN10;\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.math.log10.js\n ** module id = 116\n ** module chunks = 0\n **/","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {log1p: require('./_math-log1p')});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.math.log1p.js\n ** module id = 117\n ** module chunks = 0\n **/","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x){\n return Math.log(x) / Math.LN2;\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.math.log2.js\n ** module id = 118\n ** module chunks = 0\n **/","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {sign: require('./_math-sign')});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.math.sign.js\n ** module id = 119\n ** module chunks = 0\n **/","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export')\n , expm1 = require('./_math-expm1')\n , exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function(){\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x){\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.math.sinh.js\n ** module id = 120\n ** module chunks = 0\n **/","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export')\n , expm1 = require('./_math-expm1')\n , exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x){\n var a = expm1(x = +x)\n , b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.math.tanh.js\n ** module id = 121\n ** module chunks = 0\n **/","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it){\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.math.trunc.js\n ** module id = 122\n ** module chunks = 0\n **/","var $export = require('./_export')\n , toIndex = require('./_to-index')\n , fromCharCode = String.fromCharCode\n , $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x){ // eslint-disable-line no-unused-vars\n var res = []\n , aLen = arguments.length\n , i = 0\n , code;\n while(aLen > i){\n code = +arguments[i++];\n if(toIndex(code, 0x10ffff) !== code)throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.from-code-point.js\n ** module id = 123\n ** module chunks = 0\n **/","var $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite){\n var tpl = toIObject(callSite.raw)\n , len = toLength(tpl.length)\n , aLen = arguments.length\n , res = []\n , i = 0;\n while(len > i){\n res.push(String(tpl[i++]));\n if(i < aLen)res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.raw.js\n ** module id = 124\n ** module chunks = 0\n **/","'use strict';\n// 21.1.3.25 String.prototype.trim()\nrequire('./_string-trim')('trim', function($trim){\n return function trim(){\n return $trim(this, 3);\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.trim.js\n ** module id = 125\n ** module chunks = 0\n **/","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function(iterated){\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , index = this._i\n , point;\n if(index >= O.length)return {value: undefined, done: true};\n point = $at(O, index);\n this._i += point.length;\n return {value: point, done: false};\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.iterator.js\n ** module id = 126\n ** module chunks = 0\n **/","var toInteger = require('./_to-integer')\n , defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function(TO_STRING){\n return function(that, pos){\n var s = String(defined(that))\n , i = toInteger(pos)\n , l = s.length\n , a, b;\n if(i < 0 || i >= l)return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_string-at.js\n ** module id = 127\n ** module chunks = 0\n **/","'use strict';\nvar LIBRARY = require('./_library')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , hide = require('./_hide')\n , has = require('./_has')\n , Iterators = require('./_iterators')\n , $iterCreate = require('./_iter-create')\n , setToStringTag = require('./_set-to-string-tag')\n , getPrototypeOf = require('./_object-gpo')\n , ITERATOR = require('./_wks')('iterator')\n , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`\n , FF_ITERATOR = '@@iterator'\n , KEYS = 'keys'\n , VALUES = 'values';\n\nvar returnThis = function(){ return this; };\n\nmodule.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){\n $iterCreate(Constructor, NAME, next);\n var getMethod = function(kind){\n if(!BUGGY && kind in proto)return proto[kind];\n switch(kind){\n case KEYS: return function keys(){ return new Constructor(this, kind); };\n case VALUES: return function values(){ return new Constructor(this, kind); };\n } return function entries(){ return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator'\n , DEF_VALUES = DEFAULT == VALUES\n , VALUES_BUG = false\n , proto = Base.prototype\n , $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]\n , $default = $native || getMethod(DEFAULT)\n , $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined\n , $anyNative = NAME == 'Array' ? proto.entries || $native : $native\n , methods, key, IteratorPrototype;\n // Fix native\n if($anyNative){\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base));\n if(IteratorPrototype !== Object.prototype){\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if(DEF_VALUES && $native && $native.name !== VALUES){\n VALUES_BUG = true;\n $default = function values(){ return $native.call(this); };\n }\n // Define iterator\n if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if(DEFAULT){\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if(FORCED)for(key in methods){\n if(!(key in proto))redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_iter-define.js\n ** module id = 128\n ** module chunks = 0\n **/","module.exports = {};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_iterators.js\n ** module id = 129\n ** module chunks = 0\n **/","'use strict';\nvar create = require('./_object-create')\n , descriptor = require('./_property-desc')\n , setToStringTag = require('./_set-to-string-tag')\n , IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function(){ return this; });\n\nmodule.exports = function(Constructor, NAME, next){\n Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_iter-create.js\n ** module id = 130\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export')\n , $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos){\n return $at(this, pos);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.code-point-at.js\n ** module id = 131\n ** module chunks = 0\n **/","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export')\n , toLength = require('./_to-length')\n , context = require('./_string-context')\n , ENDS_WITH = 'endsWith'\n , $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /*, endPosition = @length */){\n var that = context(this, searchString, ENDS_WITH)\n , endPosition = arguments.length > 1 ? arguments[1] : undefined\n , len = toLength(that.length)\n , end = endPosition === undefined ? len : Math.min(toLength(endPosition), len)\n , search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.ends-with.js\n ** module id = 132\n ** module chunks = 0\n **/","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp')\n , defined = require('./_defined');\n\nmodule.exports = function(that, searchString, NAME){\n if(isRegExp(searchString))throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_string-context.js\n ** module id = 133\n ** module chunks = 0\n **/","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object')\n , cof = require('./_cof')\n , MATCH = require('./_wks')('match');\nmodule.exports = function(it){\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_is-regexp.js\n ** module id = 134\n ** module chunks = 0\n **/","var MATCH = require('./_wks')('match');\nmodule.exports = function(KEY){\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch(e){\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch(f){ /* empty */ }\n } return true;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_fails-is-regexp.js\n ** module id = 135\n ** module chunks = 0\n **/","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export')\n , context = require('./_string-context')\n , INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /*, position = 0 */){\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.includes.js\n ** module id = 136\n ** module chunks = 0\n **/","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.repeat.js\n ** module id = 137\n ** module chunks = 0\n **/","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export')\n , toLength = require('./_to-length')\n , context = require('./_string-context')\n , STARTS_WITH = 'startsWith'\n , $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /*, position = 0 */){\n var that = context(this, searchString, STARTS_WITH)\n , index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length))\n , search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.starts-with.js\n ** module id = 138\n ** module chunks = 0\n **/","'use strict';\n// B.2.3.2 String.prototype.anchor(name)\nrequire('./_string-html')('anchor', function(createHTML){\n return function anchor(name){\n return createHTML(this, 'a', 'name', name);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.anchor.js\n ** module id = 139\n ** module chunks = 0\n **/","var $export = require('./_export')\n , fails = require('./_fails')\n , defined = require('./_defined')\n , quot = /\"/g;\n// B.2.3.2.1 CreateHTML(string, tag, attribute, value)\nvar createHTML = function(string, tag, attribute, value) {\n var S = String(defined(string))\n , p1 = '<' + tag;\n if(attribute !== '')p1 += ' ' + attribute + '=\"' + String(value).replace(quot, '"') + '\"';\n return p1 + '>' + S + '' + tag + '>';\n};\nmodule.exports = function(NAME, exec){\n var O = {};\n O[NAME] = exec(createHTML);\n $export($export.P + $export.F * fails(function(){\n var test = ''[NAME]('\"');\n return test !== test.toLowerCase() || test.split('\"').length > 3;\n }), 'String', O);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_string-html.js\n ** module id = 140\n ** module chunks = 0\n **/","'use strict';\n// B.2.3.3 String.prototype.big()\nrequire('./_string-html')('big', function(createHTML){\n return function big(){\n return createHTML(this, 'big', '', '');\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.big.js\n ** module id = 141\n ** module chunks = 0\n **/","'use strict';\n// B.2.3.4 String.prototype.blink()\nrequire('./_string-html')('blink', function(createHTML){\n return function blink(){\n return createHTML(this, 'blink', '', '');\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.blink.js\n ** module id = 142\n ** module chunks = 0\n **/","'use strict';\n// B.2.3.5 String.prototype.bold()\nrequire('./_string-html')('bold', function(createHTML){\n return function bold(){\n return createHTML(this, 'b', '', '');\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.bold.js\n ** module id = 143\n ** module chunks = 0\n **/","'use strict';\n// B.2.3.6 String.prototype.fixed()\nrequire('./_string-html')('fixed', function(createHTML){\n return function fixed(){\n return createHTML(this, 'tt', '', '');\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.fixed.js\n ** module id = 144\n ** module chunks = 0\n **/","'use strict';\n// B.2.3.7 String.prototype.fontcolor(color)\nrequire('./_string-html')('fontcolor', function(createHTML){\n return function fontcolor(color){\n return createHTML(this, 'font', 'color', color);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.fontcolor.js\n ** module id = 145\n ** module chunks = 0\n **/","'use strict';\n// B.2.3.8 String.prototype.fontsize(size)\nrequire('./_string-html')('fontsize', function(createHTML){\n return function fontsize(size){\n return createHTML(this, 'font', 'size', size);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.fontsize.js\n ** module id = 146\n ** module chunks = 0\n **/","'use strict';\n// B.2.3.9 String.prototype.italics()\nrequire('./_string-html')('italics', function(createHTML){\n return function italics(){\n return createHTML(this, 'i', '', '');\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.italics.js\n ** module id = 147\n ** module chunks = 0\n **/","'use strict';\n// B.2.3.10 String.prototype.link(url)\nrequire('./_string-html')('link', function(createHTML){\n return function link(url){\n return createHTML(this, 'a', 'href', url);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.link.js\n ** module id = 148\n ** module chunks = 0\n **/","'use strict';\n// B.2.3.11 String.prototype.small()\nrequire('./_string-html')('small', function(createHTML){\n return function small(){\n return createHTML(this, 'small', '', '');\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.small.js\n ** module id = 149\n ** module chunks = 0\n **/","'use strict';\n// B.2.3.12 String.prototype.strike()\nrequire('./_string-html')('strike', function(createHTML){\n return function strike(){\n return createHTML(this, 'strike', '', '');\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.strike.js\n ** module id = 150\n ** module chunks = 0\n **/","'use strict';\n// B.2.3.13 String.prototype.sub()\nrequire('./_string-html')('sub', function(createHTML){\n return function sub(){\n return createHTML(this, 'sub', '', '');\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.sub.js\n ** module id = 151\n ** module chunks = 0\n **/","'use strict';\n// B.2.3.14 String.prototype.sup()\nrequire('./_string-html')('sup', function(createHTML){\n return function sup(){\n return createHTML(this, 'sup', '', '');\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.string.sup.js\n ** module id = 152\n ** module chunks = 0\n **/","// 20.3.3.1 / 15.9.4.4 Date.now()\nvar $export = require('./_export');\n\n$export($export.S, 'Date', {now: function(){ return new Date().getTime(); }});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.date.now.js\n ** module id = 153\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive');\n\n$export($export.P + $export.F * require('./_fails')(function(){\n return new Date(NaN).toJSON() !== null || Date.prototype.toJSON.call({toISOString: function(){ return 1; }}) !== 1;\n}), 'Date', {\n toJSON: function toJSON(key){\n var O = toObject(this)\n , pv = toPrimitive(O);\n return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString();\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.date.to-json.js\n ** module id = 154\n ** module chunks = 0\n **/","'use strict';\n// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString()\nvar $export = require('./_export')\n , fails = require('./_fails')\n , getTime = Date.prototype.getTime;\n\nvar lz = function(num){\n return num > 9 ? num : '0' + num;\n};\n\n// PhantomJS / old WebKit has a broken implementations\n$export($export.P + $export.F * (fails(function(){\n return new Date(-5e13 - 1).toISOString() != '0385-07-25T07:06:39.999Z';\n}) || !fails(function(){\n new Date(NaN).toISOString();\n})), 'Date', {\n toISOString: function toISOString(){\n if(!isFinite(getTime.call(this)))throw RangeError('Invalid time value');\n var d = this\n , y = d.getUTCFullYear()\n , m = d.getUTCMilliseconds()\n , s = y < 0 ? '-' : y > 9999 ? '+' : '';\n return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) +\n '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) +\n 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) +\n ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z';\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.date.to-iso-string.js\n ** module id = 155\n ** module chunks = 0\n **/","var DateProto = Date.prototype\n , INVALID_DATE = 'Invalid Date'\n , TO_STRING = 'toString'\n , $toString = DateProto[TO_STRING]\n , getTime = DateProto.getTime;\nif(new Date(NaN) + '' != INVALID_DATE){\n require('./_redefine')(DateProto, TO_STRING, function toString(){\n var value = getTime.call(this);\n return value === value ? $toString.call(this) : INVALID_DATE;\n });\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.date.to-string.js\n ** module id = 156\n ** module chunks = 0\n **/","var TO_PRIMITIVE = require('./_wks')('toPrimitive')\n , proto = Date.prototype;\n\nif(!(TO_PRIMITIVE in proto))require('./_hide')(proto, TO_PRIMITIVE, require('./_date-to-primitive'));\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.date.to-primitive.js\n ** module id = 157\n ** module chunks = 0\n **/","'use strict';\nvar anObject = require('./_an-object')\n , toPrimitive = require('./_to-primitive')\n , NUMBER = 'number';\n\nmodule.exports = function(hint){\n if(hint !== 'string' && hint !== NUMBER && hint !== 'default')throw TypeError('Incorrect hint');\n return toPrimitive(anObject(this), hint != NUMBER);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_date-to-primitive.js\n ** module id = 158\n ** module chunks = 0\n **/","// 22.1.2.2 / 15.4.3.2 Array.isArray(arg)\nvar $export = require('./_export');\n\n$export($export.S, 'Array', {isArray: require('./_is-array')});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.is-array.js\n ** module id = 159\n ** module chunks = 0\n **/","'use strict';\nvar ctx = require('./_ctx')\n , $export = require('./_export')\n , toObject = require('./_to-object')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , toLength = require('./_to-length')\n , createProperty = require('./_create-property')\n , getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function(iter){ Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike/*, mapfn = undefined, thisArg = undefined*/){\n var O = toObject(arrayLike)\n , C = typeof this == 'function' ? this : Array\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , index = 0\n , iterFn = getIterFn(O)\n , length, result, step, iterator;\n if(mapping)mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if(iterFn != undefined && !(C == Array && isArrayIter(iterFn))){\n for(iterator = iterFn.call(O), result = new C; !(step = iterator.next()).done; index++){\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for(result = new C(length); length > index; index++){\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.from.js\n ** module id = 160\n ** module chunks = 0\n **/","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function(iterator, fn, value, entries){\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch(e){\n var ret = iterator['return'];\n if(ret !== undefined)anObject(ret.call(iterator));\n throw e;\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_iter-call.js\n ** module id = 161\n ** module chunks = 0\n **/","// check on default Array iterator\nvar Iterators = require('./_iterators')\n , ITERATOR = require('./_wks')('iterator')\n , ArrayProto = Array.prototype;\n\nmodule.exports = function(it){\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_is-array-iter.js\n ** module id = 162\n ** module chunks = 0\n **/","'use strict';\nvar $defineProperty = require('./_object-dp')\n , createDesc = require('./_property-desc');\n\nmodule.exports = function(object, index, value){\n if(index in object)$defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_create-property.js\n ** module id = 163\n ** module chunks = 0\n **/","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function(it){\n if(it != undefined)return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/core.get-iterator-method.js\n ** module id = 164\n ** module chunks = 0\n **/","var ITERATOR = require('./_wks')('iterator')\n , SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function(){ SAFE_CLOSING = true; };\n Array.from(riter, function(){ throw 2; });\n} catch(e){ /* empty */ }\n\nmodule.exports = function(exec, skipClosing){\n if(!skipClosing && !SAFE_CLOSING)return false;\n var safe = false;\n try {\n var arr = [7]\n , iter = arr[ITERATOR]();\n iter.next = function(){ return {done: safe = true}; };\n arr[ITERATOR] = function(){ return iter; };\n exec(arr);\n } catch(e){ /* empty */ }\n return safe;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_iter-detect.js\n ** module id = 165\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export')\n , createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function(){\n function F(){}\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */){\n var index = 0\n , aLen = arguments.length\n , result = new (typeof this == 'function' ? this : Array)(aLen);\n while(aLen > index)createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.of.js\n ** module id = 166\n ** module chunks = 0\n **/","'use strict';\n// 22.1.3.13 Array.prototype.join(separator)\nvar $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , arrayJoin = [].join;\n\n// fallback for not array-like strings\n$export($export.P + $export.F * (require('./_iobject') != Object || !require('./_strict-method')(arrayJoin)), 'Array', {\n join: function join(separator){\n return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.join.js\n ** module id = 167\n ** module chunks = 0\n **/","var fails = require('./_fails');\n\nmodule.exports = function(method, arg){\n return !!method && fails(function(){\n arg ? method.call(null, function(){}, 1) : method.call(null);\n });\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_strict-method.js\n ** module id = 168\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export')\n , html = require('./_html')\n , cof = require('./_cof')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length')\n , arraySlice = [].slice;\n\n// fallback for not array-like ES3 strings and DOM objects\n$export($export.P + $export.F * require('./_fails')(function(){\n if(html)arraySlice.call(html);\n}), 'Array', {\n slice: function slice(begin, end){\n var len = toLength(this.length)\n , klass = cof(this);\n end = end === undefined ? len : end;\n if(klass == 'Array')return arraySlice.call(this, begin, end);\n var start = toIndex(begin, len)\n , upTo = toIndex(end, len)\n , size = toLength(upTo - start)\n , cloned = Array(size)\n , i = 0;\n for(; i < size; i++)cloned[i] = klass == 'String'\n ? this.charAt(start + i)\n : this[start + i];\n return cloned;\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.slice.js\n ** module id = 169\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export')\n , aFunction = require('./_a-function')\n , toObject = require('./_to-object')\n , fails = require('./_fails')\n , $sort = [].sort\n , test = [1, 2, 3];\n\n$export($export.P + $export.F * (fails(function(){\n // IE8-\n test.sort(undefined);\n}) || !fails(function(){\n // V8 bug\n test.sort(null);\n // Old WebKit\n}) || !require('./_strict-method')($sort)), 'Array', {\n // 22.1.3.25 Array.prototype.sort(comparefn)\n sort: function sort(comparefn){\n return comparefn === undefined\n ? $sort.call(toObject(this))\n : $sort.call(toObject(this), aFunction(comparefn));\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.sort.js\n ** module id = 170\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export')\n , $forEach = require('./_array-methods')(0)\n , STRICT = require('./_strict-method')([].forEach, true);\n\n$export($export.P + $export.F * !STRICT, 'Array', {\n // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg])\n forEach: function forEach(callbackfn /* , thisArg */){\n return $forEach(this, callbackfn, arguments[1]);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.for-each.js\n ** module id = 171\n ** module chunks = 0\n **/","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx')\n , IObject = require('./_iobject')\n , toObject = require('./_to-object')\n , toLength = require('./_to-length')\n , asc = require('./_array-species-create');\nmodule.exports = function(TYPE, $create){\n var IS_MAP = TYPE == 1\n , IS_FILTER = TYPE == 2\n , IS_SOME = TYPE == 3\n , IS_EVERY = TYPE == 4\n , IS_FIND_INDEX = TYPE == 6\n , NO_HOLES = TYPE == 5 || IS_FIND_INDEX\n , create = $create || asc;\n return function($this, callbackfn, that){\n var O = toObject($this)\n , self = IObject(O)\n , f = ctx(callbackfn, that, 3)\n , length = toLength(self.length)\n , index = 0\n , result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined\n , val, res;\n for(;length > index; index++)if(NO_HOLES || index in self){\n val = self[index];\n res = f(val, index, O);\n if(TYPE){\n if(IS_MAP)result[index] = res; // map\n else if(res)switch(TYPE){\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if(IS_EVERY)return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_array-methods.js\n ** module id = 172\n ** module chunks = 0\n **/","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function(original, length){\n return new (speciesConstructor(original))(length);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_array-species-create.js\n ** module id = 173\n ** module chunks = 0\n **/","var isObject = require('./_is-object')\n , isArray = require('./_is-array')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(original){\n var C;\n if(isArray(original)){\n C = original.constructor;\n // cross-realm fallback\n if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined;\n if(isObject(C)){\n C = C[SPECIES];\n if(C === null)C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_array-species-constructor.js\n ** module id = 174\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export')\n , $map = require('./_array-methods')(1);\n\n$export($export.P + $export.F * !require('./_strict-method')([].map, true), 'Array', {\n // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg])\n map: function map(callbackfn /* , thisArg */){\n return $map(this, callbackfn, arguments[1]);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.map.js\n ** module id = 175\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export')\n , $filter = require('./_array-methods')(2);\n\n$export($export.P + $export.F * !require('./_strict-method')([].filter, true), 'Array', {\n // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg])\n filter: function filter(callbackfn /* , thisArg */){\n return $filter(this, callbackfn, arguments[1]);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.filter.js\n ** module id = 176\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export')\n , $some = require('./_array-methods')(3);\n\n$export($export.P + $export.F * !require('./_strict-method')([].some, true), 'Array', {\n // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg])\n some: function some(callbackfn /* , thisArg */){\n return $some(this, callbackfn, arguments[1]);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.some.js\n ** module id = 177\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export')\n , $every = require('./_array-methods')(4);\n\n$export($export.P + $export.F * !require('./_strict-method')([].every, true), 'Array', {\n // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg])\n every: function every(callbackfn /* , thisArg */){\n return $every(this, callbackfn, arguments[1]);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.every.js\n ** module id = 178\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export')\n , $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduce, true), 'Array', {\n // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue])\n reduce: function reduce(callbackfn /* , initialValue */){\n return $reduce(this, callbackfn, arguments.length, arguments[1], false);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.reduce.js\n ** module id = 179\n ** module chunks = 0\n **/","var aFunction = require('./_a-function')\n , toObject = require('./_to-object')\n , IObject = require('./_iobject')\n , toLength = require('./_to-length');\n\nmodule.exports = function(that, callbackfn, aLen, memo, isRight){\n aFunction(callbackfn);\n var O = toObject(that)\n , self = IObject(O)\n , length = toLength(O.length)\n , index = isRight ? length - 1 : 0\n , i = isRight ? -1 : 1;\n if(aLen < 2)for(;;){\n if(index in self){\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if(isRight ? index < 0 : length <= index){\n throw TypeError('Reduce of empty array with no initial value');\n }\n }\n for(;isRight ? index >= 0 : length > index; index += i)if(index in self){\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_array-reduce.js\n ** module id = 180\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export')\n , $reduce = require('./_array-reduce');\n\n$export($export.P + $export.F * !require('./_strict-method')([].reduceRight, true), 'Array', {\n // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue])\n reduceRight: function reduceRight(callbackfn /* , initialValue */){\n return $reduce(this, callbackfn, arguments.length, arguments[1], true);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.reduce-right.js\n ** module id = 181\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export')\n , $indexOf = require('./_array-includes')(false)\n , $native = [].indexOf\n , NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex])\n indexOf: function indexOf(searchElement /*, fromIndex = 0 */){\n return NEGATIVE_ZERO\n // convert -0 to +0\n ? $native.apply(this, arguments) || 0\n : $indexOf(this, searchElement, arguments[1]);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.index-of.js\n ** module id = 182\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export')\n , toIObject = require('./_to-iobject')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , $native = [].lastIndexOf\n , NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0;\n\n$export($export.P + $export.F * (NEGATIVE_ZERO || !require('./_strict-method')($native)), 'Array', {\n // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex])\n lastIndexOf: function lastIndexOf(searchElement /*, fromIndex = @[*-1] */){\n // convert -0 to +0\n if(NEGATIVE_ZERO)return $native.apply(this, arguments) || 0;\n var O = toIObject(this)\n , length = toLength(O.length)\n , index = length - 1;\n if(arguments.length > 1)index = Math.min(index, toInteger(arguments[1]));\n if(index < 0)index = length + index;\n for(;index >= 0; index--)if(index in O)if(O[index] === searchElement)return index || 0;\n return -1;\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.last-index-of.js\n ** module id = 183\n ** module chunks = 0\n **/","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', {copyWithin: require('./_array-copy-within')});\n\nrequire('./_add-to-unscopables')('copyWithin');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.copy-within.js\n ** module id = 184\n ** module chunks = 0\n **/","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target/*= 0*/, start/*= 0, end = @length*/){\n var O = toObject(this)\n , len = toLength(O.length)\n , to = toIndex(target, len)\n , from = toIndex(start, len)\n , end = arguments.length > 2 ? arguments[2] : undefined\n , count = Math.min((end === undefined ? len : toIndex(end, len)) - from, len - to)\n , inc = 1;\n if(from < to && to < from + count){\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while(count-- > 0){\n if(from in O)O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_array-copy-within.js\n ** module id = 185\n ** module chunks = 0\n **/","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables')\n , ArrayProto = Array.prototype;\nif(ArrayProto[UNSCOPABLES] == undefined)require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function(key){\n ArrayProto[UNSCOPABLES][key] = true;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_add-to-unscopables.js\n ** module id = 186\n ** module chunks = 0\n **/","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', {fill: require('./_array-fill')});\n\nrequire('./_add-to-unscopables')('fill');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.fill.js\n ** module id = 187\n ** module chunks = 0\n **/","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length');\nmodule.exports = function fill(value /*, start = 0, end = @length */){\n var O = toObject(this)\n , length = toLength(O.length)\n , aLen = arguments.length\n , index = toIndex(aLen > 1 ? arguments[1] : undefined, length)\n , end = aLen > 2 ? arguments[2] : undefined\n , endPos = end === undefined ? length : toIndex(end, length);\n while(endPos > index)O[index++] = value;\n return O;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_array-fill.js\n ** module id = 188\n ** module chunks = 0\n **/","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export')\n , $find = require('./_array-methods')(5)\n , KEY = 'find'\n , forced = true;\n// Shouldn't skip holes\nif(KEY in [])Array(1)[KEY](function(){ forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn/*, that = undefined */){\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.find.js\n ** module id = 189\n ** module chunks = 0\n **/","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export')\n , $find = require('./_array-methods')(6)\n , KEY = 'findIndex'\n , forced = true;\n// Shouldn't skip holes\nif(KEY in [])Array(1)[KEY](function(){ forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn/*, that = undefined */){\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.find-index.js\n ** module id = 190\n ** module chunks = 0\n **/","require('./_set-species')('Array');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.species.js\n ** module id = 191\n ** module chunks = 0\n **/","'use strict';\nvar global = require('./_global')\n , dP = require('./_object-dp')\n , DESCRIPTORS = require('./_descriptors')\n , SPECIES = require('./_wks')('species');\n\nmodule.exports = function(KEY){\n var C = global[KEY];\n if(DESCRIPTORS && C && !C[SPECIES])dP.f(C, SPECIES, {\n configurable: true,\n get: function(){ return this; }\n });\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_set-species.js\n ** module id = 192\n ** module chunks = 0\n **/","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables')\n , step = require('./_iter-step')\n , Iterators = require('./_iterators')\n , toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var O = this._t\n , kind = this._k\n , index = this._i++;\n if(!O || index >= O.length){\n this._t = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.array.iterator.js\n ** module id = 193\n ** module chunks = 0\n **/","module.exports = function(done, value){\n return {value: value, done: !!done};\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_iter-step.js\n ** module id = 194\n ** module chunks = 0\n **/","var global = require('./_global')\n , inheritIfRequired = require('./_inherit-if-required')\n , dP = require('./_object-dp').f\n , gOPN = require('./_object-gopn').f\n , isRegExp = require('./_is-regexp')\n , $flags = require('./_flags')\n , $RegExp = global.RegExp\n , Base = $RegExp\n , proto = $RegExp.prototype\n , re1 = /a/g\n , re2 = /a/g\n // \"new\" creates a new object, old webkit buggy here\n , CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif(require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function(){\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))){\n $RegExp = function RegExp(p, f){\n var tiRE = this instanceof $RegExp\n , piRE = isRegExp(p)\n , fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function(key){\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function(){ return Base[key]; },\n set: function(it){ Base[key] = it; }\n });\n };\n for(var keys = gOPN(Base), i = 0; keys.length > i; )proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.regexp.constructor.js\n ** module id = 195\n ** module chunks = 0\n **/","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function(){\n var that = anObject(this)\n , result = '';\n if(that.global) result += 'g';\n if(that.ignoreCase) result += 'i';\n if(that.multiline) result += 'm';\n if(that.unicode) result += 'u';\n if(that.sticky) result += 'y';\n return result;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_flags.js\n ** module id = 196\n ** module chunks = 0\n **/","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object')\n , $flags = require('./_flags')\n , DESCRIPTORS = require('./_descriptors')\n , TO_STRING = 'toString'\n , $toString = /./[TO_STRING];\n\nvar define = function(fn){\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif(require('./_fails')(function(){ return $toString.call({source: 'a', flags: 'b'}) != '/a/b'; })){\n define(function toString(){\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if($toString.name != TO_STRING){\n define(function toString(){\n return $toString.call(this);\n });\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.regexp.to-string.js\n ** module id = 197\n ** module chunks = 0\n **/","// 21.2.5.3 get RegExp.prototype.flags()\nif(require('./_descriptors') && /./g.flags != 'g')require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.regexp.flags.js\n ** module id = 198\n ** module chunks = 0\n **/","// @@match logic\nrequire('./_fix-re-wks')('match', 1, function(defined, MATCH, $match){\n // 21.1.3.11 String.prototype.match(regexp)\n return [function match(regexp){\n 'use strict';\n var O = defined(this)\n , fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n }, $match];\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.regexp.match.js\n ** module id = 199\n ** module chunks = 0\n **/","'use strict';\nvar hide = require('./_hide')\n , redefine = require('./_redefine')\n , fails = require('./_fails')\n , defined = require('./_defined')\n , wks = require('./_wks');\n\nmodule.exports = function(KEY, length, exec){\n var SYMBOL = wks(KEY)\n , fns = exec(defined, SYMBOL, ''[KEY])\n , strfn = fns[0]\n , rxfn = fns[1];\n if(fails(function(){\n var O = {};\n O[SYMBOL] = function(){ return 7; };\n return ''[KEY](O) != 7;\n })){\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function(string, arg){ return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function(string){ return rxfn.call(string, this); }\n );\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_fix-re-wks.js\n ** module id = 200\n ** module chunks = 0\n **/","// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function(defined, REPLACE, $replace){\n // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)\n return [function replace(searchValue, replaceValue){\n 'use strict';\n var O = defined(this)\n , fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n }, $replace];\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.regexp.replace.js\n ** module id = 201\n ** module chunks = 0\n **/","// @@search logic\nrequire('./_fix-re-wks')('search', 1, function(defined, SEARCH, $search){\n // 21.1.3.15 String.prototype.search(regexp)\n return [function search(regexp){\n 'use strict';\n var O = defined(this)\n , fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n }, $search];\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.regexp.search.js\n ** module id = 202\n ** module chunks = 0\n **/","// @@split logic\nrequire('./_fix-re-wks')('split', 2, function(defined, SPLIT, $split){\n 'use strict';\n var isRegExp = require('./_is-regexp')\n , _split = $split\n , $push = [].push\n , $SPLIT = 'split'\n , LENGTH = 'length'\n , LAST_INDEX = 'lastIndex';\n if(\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ){\n var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group\n // based on es5-shim implementation, need to rework it\n $split = function(separator, limit){\n var string = String(this);\n if(separator === undefined && limit === 0)return [];\n // If `separator` is not a regex, use native split\n if(!isRegExp(separator))return _split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var separator2, match, lastIndex, lastLength, i;\n // Doesn't need flags gy, but they don't hurt\n if(!NPCG)separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\\\s)', flags);\n while(match = separatorCopy.exec(string)){\n // `separatorCopy.lastIndex` is not reliable cross-browser\n lastIndex = match.index + match[0][LENGTH];\n if(lastIndex > lastLastIndex){\n output.push(string.slice(lastLastIndex, match.index));\n // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG\n if(!NPCG && match[LENGTH] > 1)match[0].replace(separator2, function(){\n for(i = 1; i < arguments[LENGTH] - 2; i++)if(arguments[i] === undefined)match[i] = undefined;\n });\n if(match[LENGTH] > 1 && match.index < string[LENGTH])$push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if(output[LENGTH] >= splitLimit)break;\n }\n if(separatorCopy[LAST_INDEX] === match.index)separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if(lastLastIndex === string[LENGTH]){\n if(lastLength || !separatorCopy.test(''))output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if('0'[$SPLIT](undefined, 0)[LENGTH]){\n $split = function(separator, limit){\n return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit);\n };\n }\n // 21.1.3.17 String.prototype.split(separator, limit)\n return [function split(separator, limit){\n var O = defined(this)\n , fn = separator == undefined ? undefined : separator[SPLIT];\n return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit);\n }, $split];\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.regexp.split.js\n ** module id = 203\n ** module chunks = 0\n **/","'use strict';\nvar LIBRARY = require('./_library')\n , global = require('./_global')\n , ctx = require('./_ctx')\n , classof = require('./_classof')\n , $export = require('./_export')\n , isObject = require('./_is-object')\n , aFunction = require('./_a-function')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , speciesConstructor = require('./_species-constructor')\n , task = require('./_task').set\n , microtask = require('./_microtask')()\n , PROMISE = 'Promise'\n , TypeError = global.TypeError\n , process = global.process\n , $Promise = global[PROMISE]\n , process = global.process\n , isNode = classof(process) == 'process'\n , empty = function(){ /* empty */ }\n , Internal, GenericPromiseCapability, Wrapper;\n\nvar USE_NATIVE = !!function(){\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1)\n , FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function(exec){ exec(empty, empty); };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch(e){ /* empty */ }\n}();\n\n// helpers\nvar sameConstructor = function(a, b){\n // with library wrapper special case\n return a === b || a === $Promise && b === Wrapper;\n};\nvar isThenable = function(it){\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar newPromiseCapability = function(C){\n return sameConstructor($Promise, C)\n ? new PromiseCapability(C)\n : new GenericPromiseCapability(C);\n};\nvar PromiseCapability = GenericPromiseCapability = function(C){\n var resolve, reject;\n this.promise = new C(function($$resolve, $$reject){\n if(resolve !== undefined || reject !== undefined)throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nvar perform = function(exec){\n try {\n exec();\n } catch(e){\n return {error: e};\n }\n};\nvar notify = function(promise, isReject){\n if(promise._n)return;\n promise._n = true;\n var chain = promise._c;\n microtask(function(){\n var value = promise._v\n , ok = promise._s == 1\n , i = 0;\n var run = function(reaction){\n var handler = ok ? reaction.ok : reaction.fail\n , resolve = reaction.resolve\n , reject = reaction.reject\n , domain = reaction.domain\n , result, then;\n try {\n if(handler){\n if(!ok){\n if(promise._h == 2)onHandleUnhandled(promise);\n promise._h = 1;\n }\n if(handler === true)result = value;\n else {\n if(domain)domain.enter();\n result = handler(value);\n if(domain)domain.exit();\n }\n if(result === reaction.promise){\n reject(TypeError('Promise-chain cycle'));\n } else if(then = isThenable(result)){\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch(e){\n reject(e);\n }\n };\n while(chain.length > i)run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if(isReject && !promise._h)onUnhandled(promise);\n });\n};\nvar onUnhandled = function(promise){\n task.call(global, function(){\n var value = promise._v\n , abrupt, handler, console;\n if(isUnhandled(promise)){\n abrupt = perform(function(){\n if(isNode){\n process.emit('unhandledRejection', value, promise);\n } else if(handler = global.onunhandledrejection){\n handler({promise: promise, reason: value});\n } else if((console = global.console) && console.error){\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if(abrupt)throw abrupt.error;\n });\n};\nvar isUnhandled = function(promise){\n if(promise._h == 1)return false;\n var chain = promise._a || promise._c\n , i = 0\n , reaction;\n while(chain.length > i){\n reaction = chain[i++];\n if(reaction.fail || !isUnhandled(reaction.promise))return false;\n } return true;\n};\nvar onHandleUnhandled = function(promise){\n task.call(global, function(){\n var handler;\n if(isNode){\n process.emit('rejectionHandled', promise);\n } else if(handler = global.onrejectionhandled){\n handler({promise: promise, reason: promise._v});\n }\n });\n};\nvar $reject = function(value){\n var promise = this;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if(!promise._a)promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function(value){\n var promise = this\n , then;\n if(promise._d)return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if(promise === value)throw TypeError(\"Promise can't be resolved itself\");\n if(then = isThenable(value)){\n microtask(function(){\n var wrapper = {_w: promise, _d: false}; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch(e){\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch(e){\n $reject.call({_w: promise, _d: false}, e); // wrap\n }\n};\n\n// constructor polyfill\nif(!USE_NATIVE){\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor){\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch(err){\n $reject.call(this, err);\n }\n };\n Internal = function Promise(executor){\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected){\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if(this._a)this._a.push(reaction);\n if(this._s)notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function(onRejected){\n return this.then(undefined, onRejected);\n }\n });\n PromiseCapability = function(){\n var promise = new Internal;\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, {Promise: $Promise});\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r){\n var capability = newPromiseCapability(this)\n , $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x){\n // instanceof instead of internal slot check because we should fix it without replacement native Promise core\n if(x instanceof $Promise && sameConstructor(x.constructor, this))return x;\n var capability = newPromiseCapability(this)\n , $$resolve = capability.resolve;\n $$resolve(x);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function(iter){\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , resolve = capability.resolve\n , reject = capability.reject;\n var abrupt = perform(function(){\n var values = []\n , index = 0\n , remaining = 1;\n forOf(iterable, false, function(promise){\n var $index = index++\n , alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function(value){\n if(alreadyCalled)return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable){\n var C = this\n , capability = newPromiseCapability(C)\n , reject = capability.reject;\n var abrupt = perform(function(){\n forOf(iterable, false, function(promise){\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if(abrupt)reject(abrupt.error);\n return capability.promise;\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.promise.js\n ** module id = 204\n ** module chunks = 0\n **/","module.exports = function(it, Constructor, name, forbiddenField){\n if(!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)){\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_an-instance.js\n ** module id = 205\n ** module chunks = 0\n **/","var ctx = require('./_ctx')\n , call = require('./_iter-call')\n , isArrayIter = require('./_is-array-iter')\n , anObject = require('./_an-object')\n , toLength = require('./_to-length')\n , getIterFn = require('./core.get-iterator-method')\n , BREAK = {}\n , RETURN = {};\nvar exports = module.exports = function(iterable, entries, fn, that, ITERATOR){\n var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable)\n , f = ctx(fn, that, entries ? 2 : 1)\n , index = 0\n , length, step, iterator, result;\n if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if(result === BREAK || result === RETURN)return result;\n } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){\n result = call(iterator, f, step.value, entries);\n if(result === BREAK || result === RETURN)return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_for-of.js\n ** module id = 206\n ** module chunks = 0\n **/","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object')\n , aFunction = require('./_a-function')\n , SPECIES = require('./_wks')('species');\nmodule.exports = function(O, D){\n var C = anObject(O).constructor, S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_species-constructor.js\n ** module id = 207\n ** module chunks = 0\n **/","var ctx = require('./_ctx')\n , invoke = require('./_invoke')\n , html = require('./_html')\n , cel = require('./_dom-create')\n , global = require('./_global')\n , process = global.process\n , setTask = global.setImmediate\n , clearTask = global.clearImmediate\n , MessageChannel = global.MessageChannel\n , counter = 0\n , queue = {}\n , ONREADYSTATECHANGE = 'onreadystatechange'\n , defer, channel, port;\nvar run = function(){\n var id = +this;\n if(queue.hasOwnProperty(id)){\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function(event){\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif(!setTask || !clearTask){\n setTask = function setImmediate(fn){\n var args = [], i = 1;\n while(arguments.length > i)args.push(arguments[i++]);\n queue[++counter] = function(){\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id){\n delete queue[id];\n };\n // Node.js 0.8-\n if(require('./_cof')(process) == 'process'){\n defer = function(id){\n process.nextTick(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if(MessageChannel){\n channel = new MessageChannel;\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if(global.addEventListener && typeof postMessage == 'function' && !global.importScripts){\n defer = function(id){\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if(ONREADYSTATECHANGE in cel('script')){\n defer = function(id){\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function(){\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function(id){\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_task.js\n ** module id = 208\n ** module chunks = 0\n **/","var global = require('./_global')\n , macrotask = require('./_task').set\n , Observer = global.MutationObserver || global.WebKitMutationObserver\n , process = global.process\n , Promise = global.Promise\n , isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function(){\n var head, last, notify;\n\n var flush = function(){\n var parent, fn;\n if(isNode && (parent = process.domain))parent.exit();\n while(head){\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch(e){\n if(head)notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if(parent)parent.enter();\n };\n\n // Node.js\n if(isNode){\n notify = function(){\n process.nextTick(flush);\n };\n // browsers with MutationObserver\n } else if(Observer){\n var toggle = true\n , node = document.createTextNode('');\n new Observer(flush).observe(node, {characterData: true}); // eslint-disable-line no-new\n notify = function(){\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if(Promise && Promise.resolve){\n var promise = Promise.resolve();\n notify = function(){\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function(){\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function(fn){\n var task = {fn: fn, next: undefined};\n if(last)last.next = task;\n if(!head){\n head = task;\n notify();\n } last = task;\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_microtask.js\n ** module id = 209\n ** module chunks = 0\n **/","var redefine = require('./_redefine');\nmodule.exports = function(target, src, safe){\n for(var key in src)redefine(target, key, src[key], safe);\n return target;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_redefine-all.js\n ** module id = 210\n ** module chunks = 0\n **/","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')('Map', function(get){\n return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key){\n var entry = strong.getEntry(this, key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value){\n return strong.def(this, key === 0 ? 0 : key, value);\n }\n}, strong, true);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.map.js\n ** module id = 211\n ** module chunks = 0\n **/","'use strict';\nvar dP = require('./_object-dp').f\n , create = require('./_object-create')\n , redefineAll = require('./_redefine-all')\n , ctx = require('./_ctx')\n , anInstance = require('./_an-instance')\n , defined = require('./_defined')\n , forOf = require('./_for-of')\n , $iterDefine = require('./_iter-define')\n , step = require('./_iter-step')\n , setSpecies = require('./_set-species')\n , DESCRIPTORS = require('./_descriptors')\n , fastKey = require('./_meta').fastKey\n , SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function(that, key){\n // fast case\n var index = fastKey(key), entry;\n if(index !== 'F')return that._i[index];\n // frozen object case\n for(entry = that._f; entry; entry = entry.n){\n if(entry.k == key)return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n anInstance(that, C, NAME, '_i');\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear(){\n for(var that = this, data = that._i, entry = that._f; entry; entry = entry.n){\n entry.r = true;\n if(entry.p)entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function(key){\n var that = this\n , entry = getEntry(that, key);\n if(entry){\n var next = entry.n\n , prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if(prev)prev.n = next;\n if(next)next.p = prev;\n if(that._f == entry)that._f = next;\n if(that._l == entry)that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /*, that = undefined */){\n anInstance(this, C, 'forEach');\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3)\n , entry;\n while(entry = entry ? entry.n : this._f){\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while(entry && entry.r)entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key){\n return !!getEntry(this, key);\n }\n });\n if(DESCRIPTORS)dP(C.prototype, 'size', {\n get: function(){\n return defined(this[SIZE]);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var entry = getEntry(that, key)\n , prev, index;\n // change existing entry\n if(entry){\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if(!that._f)that._f = entry;\n if(prev)prev.n = entry;\n that[SIZE]++;\n // add to index\n if(index !== 'F')that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function(C, NAME, IS_MAP){\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function(iterated, kind){\n this._t = iterated; // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function(){\n var that = this\n , kind = that._k\n , entry = that._l;\n // revert to the last existing entry\n while(entry && entry.r)entry = entry.p;\n // get next entry\n if(!that._t || !(that._l = entry = entry ? entry.n : that._t._f)){\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if(kind == 'keys' )return step(0, entry.k);\n if(kind == 'values')return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_collection-strong.js\n ** module id = 212\n ** module chunks = 0\n **/","'use strict';\nvar global = require('./_global')\n , $export = require('./_export')\n , redefine = require('./_redefine')\n , redefineAll = require('./_redefine-all')\n , meta = require('./_meta')\n , forOf = require('./_for-of')\n , anInstance = require('./_an-instance')\n , isObject = require('./_is-object')\n , fails = require('./_fails')\n , $iterDetect = require('./_iter-detect')\n , setToStringTag = require('./_set-to-string-tag')\n , inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){\n var Base = global[NAME]\n , C = Base\n , ADDER = IS_MAP ? 'set' : 'add'\n , proto = C && C.prototype\n , O = {};\n var fixMethod = function(KEY){\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function(a){\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a){\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a){\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a){ fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b){ fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if(typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function(){\n new C().entries().next();\n }))){\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C\n // early implementations not supports chaining\n , HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n , THROWS_ON_PRIMITIVES = fails(function(){ instance.has(1); })\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n , ACCEPT_ITERABLES = $iterDetect(function(iter){ new C(iter); }) // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n , BUGGY_ZERO = !IS_WEAK && fails(function(){\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C()\n , index = 5;\n while(index--)$instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if(!ACCEPT_ITERABLES){ \n C = wrapper(function(target, iterable){\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base, target, C);\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if(THROWS_ON_PRIMITIVES || BUGGY_ZERO){\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if(BUGGY_ZERO || HASNT_CHAINING)fixMethod(ADDER);\n // weak collections should not contains .clear method\n if(IS_WEAK && proto.clear)delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if(!IS_WEAK)common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_collection.js\n ** module id = 213\n ** module chunks = 0\n **/","'use strict';\nvar strong = require('./_collection-strong');\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')('Set', function(get){\n return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value){\n return strong.def(this, value = value === 0 ? 0 : value, value);\n }\n}, strong);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.set.js\n ** module id = 214\n ** module chunks = 0\n **/","'use strict';\nvar each = require('./_array-methods')(0)\n , redefine = require('./_redefine')\n , meta = require('./_meta')\n , assign = require('./_object-assign')\n , weak = require('./_collection-weak')\n , isObject = require('./_is-object')\n , getWeak = meta.getWeak\n , isExtensible = Object.isExtensible\n , uncaughtFrozenStore = weak.ufstore\n , tmp = {}\n , InternalMap;\n\nvar wrapper = function(get){\n return function WeakMap(){\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key){\n if(isObject(key)){\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value){\n return weak.def(this, key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')('WeakMap', wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){\n InternalMap = weak.getConstructor(wrapper);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function(key){\n var proto = $WeakMap.prototype\n , method = proto[key];\n redefine(proto, key, function(a, b){\n // store frozen objects on internal weakmap shim\n if(isObject(a) && !isExtensible(a)){\n if(!this._f)this._f = new InternalMap;\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.weak-map.js\n ** module id = 215\n ** module chunks = 0\n **/","'use strict';\nvar redefineAll = require('./_redefine-all')\n , getWeak = require('./_meta').getWeak\n , anObject = require('./_an-object')\n , isObject = require('./_is-object')\n , anInstance = require('./_an-instance')\n , forOf = require('./_for-of')\n , createArrayMethod = require('./_array-methods')\n , $has = require('./_has')\n , arrayFind = createArrayMethod(5)\n , arrayFindIndex = createArrayMethod(6)\n , id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function(that){\n return that._l || (that._l = new UncaughtFrozenStore);\n};\nvar UncaughtFrozenStore = function(){\n this.a = [];\n};\nvar findUncaughtFrozen = function(store, key){\n return arrayFind(store.a, function(it){\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function(key){\n var entry = findUncaughtFrozen(this, key);\n if(entry)return entry[1];\n },\n has: function(key){\n return !!findUncaughtFrozen(this, key);\n },\n set: function(key, value){\n var entry = findUncaughtFrozen(this, key);\n if(entry)entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function(key){\n var index = arrayFindIndex(this.a, function(it){\n return it[0] === key;\n });\n if(~index)this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n anInstance(that, C, NAME, '_i');\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this)['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key){\n if(!isObject(key))return false;\n var data = getWeak(key);\n if(data === true)return uncaughtFrozenStore(this).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var data = getWeak(anObject(key), true);\n if(data === true)uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_collection-weak.js\n ** module id = 216\n ** module chunks = 0\n **/","'use strict';\nvar weak = require('./_collection-weak');\n\n// 23.4 WeakSet Objects\nrequire('./_collection')('WeakSet', function(get){\n return function WeakSet(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value){\n return weak.def(this, value, true);\n }\n}, weak, false, true);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.weak-set.js\n ** module id = 217\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export')\n , $typed = require('./_typed')\n , buffer = require('./_typed-buffer')\n , anObject = require('./_an-object')\n , toIndex = require('./_to-index')\n , toLength = require('./_to-length')\n , isObject = require('./_is-object')\n , ArrayBuffer = require('./_global').ArrayBuffer\n , speciesConstructor = require('./_species-constructor')\n , $ArrayBuffer = buffer.ArrayBuffer\n , $DataView = buffer.DataView\n , $isView = $typed.ABV && ArrayBuffer.isView\n , $slice = $ArrayBuffer.prototype.slice\n , VIEW = $typed.VIEW\n , ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), {ArrayBuffer: $ArrayBuffer});\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it){\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function(){\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end){\n if($slice !== undefined && end === undefined)return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength\n , first = toIndex(start, len)\n , final = toIndex(end === undefined ? len : end, len)\n , result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first))\n , viewS = new $DataView(this)\n , viewT = new $DataView(result)\n , index = 0;\n while(first < final){\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.typed.array-buffer.js\n ** module id = 218\n ** module chunks = 0\n **/","var global = require('./_global')\n , hide = require('./_hide')\n , uid = require('./_uid')\n , TYPED = uid('typed_array')\n , VIEW = uid('view')\n , ABV = !!(global.ArrayBuffer && global.DataView)\n , CONSTR = ABV\n , i = 0, l = 9, Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile(i < l){\n if(Typed = global[TypedArrayConstructors[i++]]){\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_typed.js\n ** module id = 219\n ** module chunks = 0\n **/","'use strict';\nvar global = require('./_global')\n , DESCRIPTORS = require('./_descriptors')\n , LIBRARY = require('./_library')\n , $typed = require('./_typed')\n , hide = require('./_hide')\n , redefineAll = require('./_redefine-all')\n , fails = require('./_fails')\n , anInstance = require('./_an-instance')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , gOPN = require('./_object-gopn').f\n , dP = require('./_object-dp').f\n , arrayFill = require('./_array-fill')\n , setToStringTag = require('./_set-to-string-tag')\n , ARRAY_BUFFER = 'ArrayBuffer'\n , DATA_VIEW = 'DataView'\n , PROTOTYPE = 'prototype'\n , WRONG_LENGTH = 'Wrong length!'\n , WRONG_INDEX = 'Wrong index!'\n , $ArrayBuffer = global[ARRAY_BUFFER]\n , $DataView = global[DATA_VIEW]\n , Math = global.Math\n , RangeError = global.RangeError\n , Infinity = global.Infinity\n , BaseBuffer = $ArrayBuffer\n , abs = Math.abs\n , pow = Math.pow\n , floor = Math.floor\n , log = Math.log\n , LN2 = Math.LN2\n , BUFFER = 'buffer'\n , BYTE_LENGTH = 'byteLength'\n , BYTE_OFFSET = 'byteOffset'\n , $BUFFER = DESCRIPTORS ? '_b' : BUFFER\n , $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH\n , $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nvar packIEEE754 = function(value, mLen, nBytes){\n var buffer = Array(nBytes)\n , eLen = nBytes * 8 - mLen - 1\n , eMax = (1 << eLen) - 1\n , eBias = eMax >> 1\n , rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0\n , i = 0\n , s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0\n , e, m, c;\n value = abs(value)\n if(value != value || value === Infinity){\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if(value * (c = pow(2, -e)) < 1){\n e--;\n c *= 2;\n }\n if(e + eBias >= 1){\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if(value * c >= 2){\n e++;\n c /= 2;\n }\n if(e + eBias >= eMax){\n m = 0;\n e = eMax;\n } else if(e + eBias >= 1){\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for(; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for(; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n};\nvar unpackIEEE754 = function(buffer, mLen, nBytes){\n var eLen = nBytes * 8 - mLen - 1\n , eMax = (1 << eLen) - 1\n , eBias = eMax >> 1\n , nBits = eLen - 7\n , i = nBytes - 1\n , s = buffer[i--]\n , e = s & 127\n , m;\n s >>= 7;\n for(; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for(; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if(e === 0){\n e = 1 - eBias;\n } else if(e === eMax){\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n};\n\nvar unpackI32 = function(bytes){\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n};\nvar packI8 = function(it){\n return [it & 0xff];\n};\nvar packI16 = function(it){\n return [it & 0xff, it >> 8 & 0xff];\n};\nvar packI32 = function(it){\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n};\nvar packF64 = function(it){\n return packIEEE754(it, 52, 8);\n};\nvar packF32 = function(it){\n return packIEEE754(it, 23, 4);\n};\n\nvar addGetter = function(C, key, internal){\n dP(C[PROTOTYPE], key, {get: function(){ return this[internal]; }});\n};\n\nvar get = function(view, bytes, index, isLittleEndian){\n var numIndex = +index\n , intIndex = toInteger(numIndex);\n if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b\n , start = intIndex + view[$OFFSET]\n , pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n};\nvar set = function(view, bytes, index, conversion, value, isLittleEndian){\n var numIndex = +index\n , intIndex = toInteger(numIndex);\n if(numIndex != intIndex || intIndex < 0 || intIndex + bytes > view[$LENGTH])throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b\n , start = intIndex + view[$OFFSET]\n , pack = conversion(+value);\n for(var i = 0; i < bytes; i++)store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n};\n\nvar validateArrayBufferArguments = function(that, length){\n anInstance(that, $ArrayBuffer, ARRAY_BUFFER);\n var numberLength = +length\n , byteLength = toLength(numberLength);\n if(numberLength != byteLength)throw RangeError(WRONG_LENGTH);\n return byteLength;\n};\n\nif(!$typed.ABV){\n $ArrayBuffer = function ArrayBuffer(length){\n var byteLength = validateArrayBufferArguments(this, length);\n this._b = arrayFill.call(Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength){\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH]\n , offset = toInteger(byteOffset);\n if(offset < 0 || offset > bufferLength)throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if(offset + byteLength > bufferLength)throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if(DESCRIPTORS){\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset){\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset){\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /*, littleEndian */){\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /*, littleEndian */){\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /*, littleEndian */){\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /*, littleEndian */){\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /*, littleEndian */){\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /*, littleEndian */){\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value){\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value){\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /*, littleEndian */){\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /*, littleEndian */){\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /*, littleEndian */){\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /*, littleEndian */){\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if(!fails(function(){\n new $ArrayBuffer; // eslint-disable-line no-new\n }) || !fails(function(){\n new $ArrayBuffer(.5); // eslint-disable-line no-new\n })){\n $ArrayBuffer = function ArrayBuffer(length){\n return new BaseBuffer(validateArrayBufferArguments(this, length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for(var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j; ){\n if(!((key = keys[j++]) in $ArrayBuffer))hide($ArrayBuffer, key, BaseBuffer[key]);\n };\n if(!LIBRARY)ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2))\n , $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if(view.getInt8(0) || !view.getInt8(1))redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value){\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value){\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_typed-buffer.js\n ** module id = 220\n ** module chunks = 0\n **/","var $export = require('./_export');\n$export($export.G + $export.W + $export.F * !require('./_typed').ABV, {\n DataView: require('./_typed-buffer').DataView\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.typed.data-view.js\n ** module id = 221\n ** module chunks = 0\n **/","require('./_typed-array')('Int8', 1, function(init){\n return function Int8Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.typed.int8-array.js\n ** module id = 222\n ** module chunks = 0\n **/","'use strict';\nif(require('./_descriptors')){\n var LIBRARY = require('./_library')\n , global = require('./_global')\n , fails = require('./_fails')\n , $export = require('./_export')\n , $typed = require('./_typed')\n , $buffer = require('./_typed-buffer')\n , ctx = require('./_ctx')\n , anInstance = require('./_an-instance')\n , propertyDesc = require('./_property-desc')\n , hide = require('./_hide')\n , redefineAll = require('./_redefine-all')\n , toInteger = require('./_to-integer')\n , toLength = require('./_to-length')\n , toIndex = require('./_to-index')\n , toPrimitive = require('./_to-primitive')\n , has = require('./_has')\n , same = require('./_same-value')\n , classof = require('./_classof')\n , isObject = require('./_is-object')\n , toObject = require('./_to-object')\n , isArrayIter = require('./_is-array-iter')\n , create = require('./_object-create')\n , getPrototypeOf = require('./_object-gpo')\n , gOPN = require('./_object-gopn').f\n , getIterFn = require('./core.get-iterator-method')\n , uid = require('./_uid')\n , wks = require('./_wks')\n , createArrayMethod = require('./_array-methods')\n , createArrayIncludes = require('./_array-includes')\n , speciesConstructor = require('./_species-constructor')\n , ArrayIterators = require('./es6.array.iterator')\n , Iterators = require('./_iterators')\n , $iterDetect = require('./_iter-detect')\n , setSpecies = require('./_set-species')\n , arrayFill = require('./_array-fill')\n , arrayCopyWithin = require('./_array-copy-within')\n , $DP = require('./_object-dp')\n , $GOPD = require('./_object-gopd')\n , dP = $DP.f\n , gOPD = $GOPD.f\n , RangeError = global.RangeError\n , TypeError = global.TypeError\n , Uint8Array = global.Uint8Array\n , ARRAY_BUFFER = 'ArrayBuffer'\n , SHARED_BUFFER = 'Shared' + ARRAY_BUFFER\n , BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'\n , PROTOTYPE = 'prototype'\n , ArrayProto = Array[PROTOTYPE]\n , $ArrayBuffer = $buffer.ArrayBuffer\n , $DataView = $buffer.DataView\n , arrayForEach = createArrayMethod(0)\n , arrayFilter = createArrayMethod(2)\n , arraySome = createArrayMethod(3)\n , arrayEvery = createArrayMethod(4)\n , arrayFind = createArrayMethod(5)\n , arrayFindIndex = createArrayMethod(6)\n , arrayIncludes = createArrayIncludes(true)\n , arrayIndexOf = createArrayIncludes(false)\n , arrayValues = ArrayIterators.values\n , arrayKeys = ArrayIterators.keys\n , arrayEntries = ArrayIterators.entries\n , arrayLastIndexOf = ArrayProto.lastIndexOf\n , arrayReduce = ArrayProto.reduce\n , arrayReduceRight = ArrayProto.reduceRight\n , arrayJoin = ArrayProto.join\n , arraySort = ArrayProto.sort\n , arraySlice = ArrayProto.slice\n , arrayToString = ArrayProto.toString\n , arrayToLocaleString = ArrayProto.toLocaleString\n , ITERATOR = wks('iterator')\n , TAG = wks('toStringTag')\n , TYPED_CONSTRUCTOR = uid('typed_constructor')\n , DEF_CONSTRUCTOR = uid('def_constructor')\n , ALL_CONSTRUCTORS = $typed.CONSTR\n , TYPED_ARRAY = $typed.TYPED\n , VIEW = $typed.VIEW\n , WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function(O, length){\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function(){\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function(){\n new Uint8Array(1).set({});\n });\n\n var strictToLength = function(it, SAME){\n if(it === undefined)throw TypeError(WRONG_LENGTH);\n var number = +it\n , length = toLength(it);\n if(SAME && !same(number, length))throw RangeError(WRONG_LENGTH);\n return length;\n };\n\n var toOffset = function(it, BYTES){\n var offset = toInteger(it);\n if(offset < 0 || offset % BYTES)throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function(it){\n if(isObject(it) && TYPED_ARRAY in it)return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function(C, length){\n if(!(isObject(C) && TYPED_CONSTRUCTOR in C)){\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function(O, list){\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function(C, list){\n var index = 0\n , length = list.length\n , result = allocate(C, length);\n while(length > index)result[index] = list[index++];\n return result;\n };\n\n var addGetter = function(it, key, internal){\n dP(it, key, {get: function(){ return this._d[internal]; }});\n };\n\n var $from = function from(source /*, mapfn, thisArg */){\n var O = toObject(source)\n , aLen = arguments.length\n , mapfn = aLen > 1 ? arguments[1] : undefined\n , mapping = mapfn !== undefined\n , iterFn = getIterFn(O)\n , i, length, values, result, step, iterator;\n if(iterFn != undefined && !isArrayIter(iterFn)){\n for(iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++){\n values.push(step.value);\n } O = values;\n }\n if(mapping && aLen > 2)mapfn = ctx(mapfn, arguments[2], 2);\n for(i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++){\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/*...items*/){\n var index = 0\n , length = arguments.length\n , result = allocate(this, length);\n while(length > index)result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function(){ arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString(){\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /*, end */){\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /*, thisArg */){\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /*, start, end */){ // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /*, thisArg */){\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /*, thisArg */){\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /*, thisArg */){\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /*, thisArg */){\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /*, fromIndex */){\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /*, fromIndex */){\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator){ // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /*, fromIndex */){ // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /*, thisArg */){\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /*, initialValue */){ // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse(){\n var that = this\n , length = validate(that).length\n , middle = Math.floor(length / 2)\n , index = 0\n , value;\n while(index < middle){\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /*, thisArg */){\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn){\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end){\n var O = validate(this)\n , length = O.length\n , $begin = toIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end){\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /*, offset */){\n validate(this);\n var offset = toOffset(arguments[1], 1)\n , length = this.length\n , src = toObject(arrayLike)\n , len = toLength(src.length)\n , index = 0;\n if(len + offset > length)throw RangeError(WRONG_LENGTH);\n while(index < len)this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries(){\n return arrayEntries.call(validate(this));\n },\n keys: function keys(){\n return arrayKeys.call(validate(this));\n },\n values: function values(){\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function(target, key){\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key){\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc){\n if(isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ){\n target[key] = desc.value;\n return target;\n } else return dP(target, key, desc);\n };\n\n if(!ALL_CONSTRUCTORS){\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if(fails(function(){ arrayToString.call({}); })){\n arrayToString = arrayToLocaleString = function toString(){\n return arrayJoin.call(this);\n }\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function(){ /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function(){ return this[TYPED_ARRAY]; }\n });\n\n module.exports = function(KEY, BYTES, wrapper, CLAMPED){\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'\n , ISNT_UINT8 = NAME != 'Uint8Array'\n , GETTER = 'get' + KEY\n , SETTER = 'set' + KEY\n , TypedArray = global[NAME]\n , Base = TypedArray || {}\n , TAC = TypedArray && getPrototypeOf(TypedArray)\n , FORCED = !TypedArray || !$typed.ABV\n , O = {}\n , TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function(that, index){\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function(that, index, value){\n var data = that._d;\n if(CLAMPED)value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function(that, index){\n dP(that, index, {\n get: function(){\n return getter(this, index);\n },\n set: function(value){\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if(FORCED){\n TypedArray = wrapper(function(that, data, $offset, $length){\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0\n , offset = 0\n , buffer, byteLength, length, klass;\n if(!isObject(data)){\n length = strictToLength(data, true)\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if($length === undefined){\n if($len % BYTES)throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if(byteLength < 0)throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if(byteLength + offset > $len)throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if(TYPED_ARRAY in data){\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while(index < length)addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if(!$iterDetect(function(iter){\n // V8 works with iterators, but fails in many other cases\n // https://code.google.com/p/v8/issues/detail?id=4552\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)){\n TypedArray = wrapper(function(that, data, $offset, $length){\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if(!isObject(data))return new Base(strictToLength(data, ISNT_UINT8));\n if(data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER){\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if(TYPED_ARRAY in data)return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function(key){\n if(!(key in TypedArray))hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if(!LIBRARY)TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR]\n , CORRECT_ITER_NAME = !!$nativeIterator && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined)\n , $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if(CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)){\n dP(TypedArrayPrototype, TAG, {\n get: function(){ return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES,\n from: $from,\n of: $of\n });\n\n if(!(BYTES_PER_ELEMENT in TypedArrayPrototype))hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, {set: $set});\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n $export($export.P + $export.F * (TypedArrayPrototype.toString != arrayToString), NAME, {toString: arrayToString});\n\n $export($export.P + $export.F * fails(function(){\n new TypedArray(1).slice();\n }), NAME, {slice: $slice});\n\n $export($export.P + $export.F * (fails(function(){\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString()\n }) || !fails(function(){\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, {toLocaleString: $toLocaleString});\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if(!LIBRARY && !CORRECT_ITER_NAME)hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function(){ /* empty */ };\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_typed-array.js\n ** module id = 223\n ** module chunks = 0\n **/","require('./_typed-array')('Uint8', 1, function(init){\n return function Uint8Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.typed.uint8-array.js\n ** module id = 224\n ** module chunks = 0\n **/","require('./_typed-array')('Uint8', 1, function(init){\n return function Uint8ClampedArray(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n}, true);\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.typed.uint8-clamped-array.js\n ** module id = 225\n ** module chunks = 0\n **/","require('./_typed-array')('Int16', 2, function(init){\n return function Int16Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.typed.int16-array.js\n ** module id = 226\n ** module chunks = 0\n **/","require('./_typed-array')('Uint16', 2, function(init){\n return function Uint16Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.typed.uint16-array.js\n ** module id = 227\n ** module chunks = 0\n **/","require('./_typed-array')('Int32', 4, function(init){\n return function Int32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.typed.int32-array.js\n ** module id = 228\n ** module chunks = 0\n **/","require('./_typed-array')('Uint32', 4, function(init){\n return function Uint32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.typed.uint32-array.js\n ** module id = 229\n ** module chunks = 0\n **/","require('./_typed-array')('Float32', 4, function(init){\n return function Float32Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.typed.float32-array.js\n ** module id = 230\n ** module chunks = 0\n **/","require('./_typed-array')('Float64', 8, function(init){\n return function Float64Array(data, byteOffset, length){\n return init(this, data, byteOffset, length);\n };\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.typed.float64-array.js\n ** module id = 231\n ** module chunks = 0\n **/","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , rApply = (require('./_global').Reflect || {}).apply\n , fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function(){\n rApply(function(){});\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList){\n var T = aFunction(target)\n , L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.reflect.apply.js\n ** module id = 232\n ** module chunks = 0\n **/","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export')\n , create = require('./_object-create')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , isObject = require('./_is-object')\n , fails = require('./_fails')\n , bind = require('./_bind')\n , rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function(){\n function F(){}\n return !(rConstruct(function(){}, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function(){\n rConstruct(function(){});\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /*, newTarget*/){\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if(ARGS_BUG && !NEW_TARGET_BUG)return rConstruct(Target, args, newTarget);\n if(Target == newTarget){\n // w/o altered newTarget, optimization for 0-4 arguments\n switch(args.length){\n case 0: return new Target;\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args));\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype\n , instance = create(isObject(proto) ? proto : Object.prototype)\n , result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.reflect.construct.js\n ** module id = 233\n ** module chunks = 0\n **/","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp')\n , $export = require('./_export')\n , anObject = require('./_an-object')\n , toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function(){\n Reflect.defineProperty(dP.f({}, 1, {value: 1}), 1, {value: 2});\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes){\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch(e){\n return false;\n }\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.reflect.define-property.js\n ** module id = 234\n ** module chunks = 0\n **/","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export')\n , gOPD = require('./_object-gopd').f\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey){\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.reflect.delete-property.js\n ** module id = 235\n ** module chunks = 0\n **/","'use strict';\n// 26.1.5 Reflect.enumerate(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object');\nvar Enumerate = function(iterated){\n this._t = anObject(iterated); // target\n this._i = 0; // next index\n var keys = this._k = [] // keys\n , key;\n for(key in iterated)keys.push(key);\n};\nrequire('./_iter-create')(Enumerate, 'Object', function(){\n var that = this\n , keys = that._k\n , key;\n do {\n if(that._i >= keys.length)return {value: undefined, done: true};\n } while(!((key = keys[that._i++]) in that._t));\n return {value: key, done: false};\n});\n\n$export($export.S, 'Reflect', {\n enumerate: function enumerate(target){\n return new Enumerate(target);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.reflect.enumerate.js\n ** module id = 236\n ** module chunks = 0\n **/","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd')\n , getPrototypeOf = require('./_object-gpo')\n , has = require('./_has')\n , $export = require('./_export')\n , isObject = require('./_is-object')\n , anObject = require('./_an-object');\n\nfunction get(target, propertyKey/*, receiver*/){\n var receiver = arguments.length < 3 ? target : arguments[2]\n , desc, proto;\n if(anObject(target) === receiver)return target[propertyKey];\n if(desc = gOPD.f(target, propertyKey))return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if(isObject(proto = getPrototypeOf(target)))return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', {get: get});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.reflect.get.js\n ** module id = 237\n ** module chunks = 0\n **/","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd')\n , $export = require('./_export')\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey){\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.reflect.get-own-property-descriptor.js\n ** module id = 238\n ** module chunks = 0\n **/","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export')\n , getProto = require('./_object-gpo')\n , anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target){\n return getProto(anObject(target));\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.reflect.get-prototype-of.js\n ** module id = 239\n ** module chunks = 0\n **/","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey){\n return propertyKey in target;\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.reflect.has.js\n ** module id = 240\n ** module chunks = 0\n **/","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object')\n , $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target){\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.reflect.is-extensible.js\n ** module id = 241\n ** module chunks = 0\n **/","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {ownKeys: require('./_own-keys')});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.reflect.own-keys.js\n ** module id = 242\n ** module chunks = 0\n **/","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn')\n , gOPS = require('./_object-gops')\n , anObject = require('./_an-object')\n , Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it){\n var keys = gOPN.f(anObject(it))\n , getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_own-keys.js\n ** module id = 243\n ** module chunks = 0\n **/","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export')\n , anObject = require('./_an-object')\n , $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target){\n anObject(target);\n try {\n if($preventExtensions)$preventExtensions(target);\n return true;\n } catch(e){\n return false;\n }\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.reflect.prevent-extensions.js\n ** module id = 244\n ** module chunks = 0\n **/","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp')\n , gOPD = require('./_object-gopd')\n , getPrototypeOf = require('./_object-gpo')\n , has = require('./_has')\n , $export = require('./_export')\n , createDesc = require('./_property-desc')\n , anObject = require('./_an-object')\n , isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V/*, receiver*/){\n var receiver = arguments.length < 4 ? target : arguments[3]\n , ownDesc = gOPD.f(anObject(target), propertyKey)\n , existingDescriptor, proto;\n if(!ownDesc){\n if(isObject(proto = getPrototypeOf(target))){\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if(has(ownDesc, 'value')){\n if(ownDesc.writable === false || !isObject(receiver))return false;\n existingDescriptor = gOPD.f(receiver, propertyKey) || createDesc(0);\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', {set: set});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.reflect.set.js\n ** module id = 245\n ** module chunks = 0\n **/","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export')\n , setProto = require('./_set-proto');\n\nif(setProto)$export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto){\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch(e){\n return false;\n }\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es6.reflect.set-prototype-of.js\n ** module id = 246\n ** module chunks = 0\n **/","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export')\n , $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /*, fromIndex = 0 */){\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.array.includes.js\n ** module id = 247\n ** module chunks = 0\n **/","'use strict';\n// https://github.com/mathiasbynens/String.prototype.at\nvar $export = require('./_export')\n , $at = require('./_string-at')(true);\n\n$export($export.P, 'String', {\n at: function at(pos){\n return $at(this, pos);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.string.at.js\n ** module id = 248\n ** module chunks = 0\n **/","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export')\n , $pad = require('./_string-pad');\n\n$export($export.P, 'String', {\n padStart: function padStart(maxLength /*, fillString = ' ' */){\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.string.pad-start.js\n ** module id = 249\n ** module chunks = 0\n **/","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('./_to-length')\n , repeat = require('./_string-repeat')\n , defined = require('./_defined');\n\nmodule.exports = function(that, maxLength, fillString, left){\n var S = String(defined(that))\n , stringLength = S.length\n , fillStr = fillString === undefined ? ' ' : String(fillString)\n , intMaxLength = toLength(maxLength);\n if(intMaxLength <= stringLength || fillStr == '')return S;\n var fillLen = intMaxLength - stringLength\n , stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if(stringFiller.length > fillLen)stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_string-pad.js\n ** module id = 250\n ** module chunks = 0\n **/","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export')\n , $pad = require('./_string-pad');\n\n$export($export.P, 'String', {\n padEnd: function padEnd(maxLength /*, fillString = ' ' */){\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.string.pad-end.js\n ** module id = 251\n ** module chunks = 0\n **/","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimLeft', function($trim){\n return function trimLeft(){\n return $trim(this, 1);\n };\n}, 'trimStart');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.string.trim-left.js\n ** module id = 252\n ** module chunks = 0\n **/","'use strict';\n// https://github.com/sebmarkbage/ecmascript-string-left-right-trim\nrequire('./_string-trim')('trimRight', function($trim){\n return function trimRight(){\n return $trim(this, 2);\n };\n}, 'trimEnd');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.string.trim-right.js\n ** module id = 253\n ** module chunks = 0\n **/","'use strict';\n// https://tc39.github.io/String.prototype.matchAll/\nvar $export = require('./_export')\n , defined = require('./_defined')\n , toLength = require('./_to-length')\n , isRegExp = require('./_is-regexp')\n , getFlags = require('./_flags')\n , RegExpProto = RegExp.prototype;\n\nvar $RegExpStringIterator = function(regexp, string){\n this._r = regexp;\n this._s = string;\n};\n\nrequire('./_iter-create')($RegExpStringIterator, 'RegExp String', function next(){\n var match = this._r.exec(this._s);\n return {value: match, done: match === null};\n});\n\n$export($export.P, 'String', {\n matchAll: function matchAll(regexp){\n defined(this);\n if(!isRegExp(regexp))throw TypeError(regexp + ' is not a regexp!');\n var S = String(this)\n , flags = 'flags' in RegExpProto ? String(regexp.flags) : getFlags.call(regexp)\n , rx = new RegExp(regexp.source, ~flags.indexOf('g') ? flags : 'g' + flags);\n rx.lastIndex = toLength(regexp.lastIndex);\n return new $RegExpStringIterator(rx, S);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.string.match-all.js\n ** module id = 254\n ** module chunks = 0\n **/","require('./_wks-define')('asyncIterator');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.symbol.async-iterator.js\n ** module id = 255\n ** module chunks = 0\n **/","require('./_wks-define')('observable');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.symbol.observable.js\n ** module id = 256\n ** module chunks = 0\n **/","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export')\n , ownKeys = require('./_own-keys')\n , toIObject = require('./_to-iobject')\n , gOPD = require('./_object-gopd')\n , createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object){\n var O = toIObject(object)\n , getDesc = gOPD.f\n , keys = ownKeys(O)\n , result = {}\n , i = 0\n , key;\n while(keys.length > i)createProperty(result, key = keys[i++], getDesc(O, key));\n return result;\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.object.get-own-property-descriptors.js\n ** module id = 257\n ** module chunks = 0\n **/","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it){\n return $values(it);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.object.values.js\n ** module id = 258\n ** module chunks = 0\n **/","var getKeys = require('./_object-keys')\n , toIObject = require('./_to-iobject')\n , isEnum = require('./_object-pie').f;\nmodule.exports = function(isEntries){\n return function(it){\n var O = toIObject(it)\n , keys = getKeys(O)\n , length = keys.length\n , i = 0\n , result = []\n , key;\n while(length > i)if(isEnum.call(O, key = keys[i++])){\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-to-array.js\n ** module id = 259\n ** module chunks = 0\n **/","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export')\n , $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it){\n return $entries(it);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.object.entries.js\n ** module id = 260\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , aFunction = require('./_a-function')\n , $defineProperty = require('./_object-dp');\n\n// B.2.2.2 Object.prototype.__defineGetter__(P, getter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineGetter__: function __defineGetter__(P, getter){\n $defineProperty.f(toObject(this), P, {get: aFunction(getter), enumerable: true, configurable: true});\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.object.define-getter.js\n ** module id = 261\n ** module chunks = 0\n **/","// Forced replacement prototype accessors methods\nmodule.exports = require('./_library')|| !require('./_fails')(function(){\n var K = Math.random();\n // In FF throws only define methods\n __defineSetter__.call(null, K, function(){ /* empty */});\n delete require('./_global')[K];\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-forced-pam.js\n ** module id = 262\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , aFunction = require('./_a-function')\n , $defineProperty = require('./_object-dp');\n\n// B.2.2.3 Object.prototype.__defineSetter__(P, setter)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __defineSetter__: function __defineSetter__(P, setter){\n $defineProperty.f(toObject(this), P, {set: aFunction(setter), enumerable: true, configurable: true});\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.object.define-setter.js\n ** module id = 263\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive')\n , getPrototypeOf = require('./_object-gpo')\n , getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.4 Object.prototype.__lookupGetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupGetter__: function __lookupGetter__(P){\n var O = toObject(this)\n , K = toPrimitive(P, true)\n , D;\n do {\n if(D = getOwnPropertyDescriptor(O, K))return D.get;\n } while(O = getPrototypeOf(O));\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.object.lookup-getter.js\n ** module id = 264\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export')\n , toObject = require('./_to-object')\n , toPrimitive = require('./_to-primitive')\n , getPrototypeOf = require('./_object-gpo')\n , getOwnPropertyDescriptor = require('./_object-gopd').f;\n\n// B.2.2.5 Object.prototype.__lookupSetter__(P)\nrequire('./_descriptors') && $export($export.P + require('./_object-forced-pam'), 'Object', {\n __lookupSetter__: function __lookupSetter__(P){\n var O = toObject(this)\n , K = toPrimitive(P, true)\n , D;\n do {\n if(D = getOwnPropertyDescriptor(O, K))return D.set;\n } while(O = getPrototypeOf(O));\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.object.lookup-setter.js\n ** module id = 265\n ** module chunks = 0\n **/","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Map', {toJSON: require('./_collection-to-json')('Map')});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.map.to-json.js\n ** module id = 266\n ** module chunks = 0\n **/","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar classof = require('./_classof')\n , from = require('./_array-from-iterable');\nmodule.exports = function(NAME){\n return function toJSON(){\n if(classof(this) != NAME)throw TypeError(NAME + \"#toJSON isn't generic\");\n return from(this);\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_collection-to-json.js\n ** module id = 267\n ** module chunks = 0\n **/","var forOf = require('./_for-of');\n\nmodule.exports = function(iter, ITERATOR){\n var result = [];\n forOf(iter, false, result.push, result, ITERATOR);\n return result;\n};\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_array-from-iterable.js\n ** module id = 268\n ** module chunks = 0\n **/","// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $export = require('./_export');\n\n$export($export.P + $export.R, 'Set', {toJSON: require('./_collection-to-json')('Set')});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.set.to-json.js\n ** module id = 269\n ** module chunks = 0\n **/","// https://github.com/ljharb/proposal-global\nvar $export = require('./_export');\n\n$export($export.S, 'System', {global: require('./_global')});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.system.global.js\n ** module id = 270\n ** module chunks = 0\n **/","// https://github.com/ljharb/proposal-is-error\nvar $export = require('./_export')\n , cof = require('./_cof');\n\n$export($export.S, 'Error', {\n isError: function isError(it){\n return cof(it) === 'Error';\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.error.is-error.js\n ** module id = 271\n ** module chunks = 0\n **/","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n iaddh: function iaddh(x0, x1, y0, y1){\n var $x0 = x0 >>> 0\n , $x1 = x1 >>> 0\n , $y0 = y0 >>> 0;\n return $x1 + (y1 >>> 0) + (($x0 & $y0 | ($x0 | $y0) & ~($x0 + $y0 >>> 0)) >>> 31) | 0;\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.math.iaddh.js\n ** module id = 272\n ** module chunks = 0\n **/","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n isubh: function isubh(x0, x1, y0, y1){\n var $x0 = x0 >>> 0\n , $x1 = x1 >>> 0\n , $y0 = y0 >>> 0;\n return $x1 - (y1 >>> 0) - ((~$x0 & $y0 | ~($x0 ^ $y0) & $x0 - $y0 >>> 0) >>> 31) | 0;\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.math.isubh.js\n ** module id = 273\n ** module chunks = 0\n **/","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n imulh: function imulh(u, v){\n var UINT16 = 0xffff\n , $u = +u\n , $v = +v\n , u0 = $u & UINT16\n , v0 = $v & UINT16\n , u1 = $u >> 16\n , v1 = $v >> 16\n , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >> 16);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.math.imulh.js\n ** module id = 274\n ** module chunks = 0\n **/","// https://gist.github.com/BrendanEich/4294d5c212a6d2254703\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n umulh: function umulh(u, v){\n var UINT16 = 0xffff\n , $u = +u\n , $v = +v\n , u0 = $u & UINT16\n , v0 = $v & UINT16\n , u1 = $u >>> 16\n , v1 = $v >>> 16\n , t = (u1 * v0 >>> 0) + (u0 * v0 >>> 16);\n return u1 * v1 + (t >>> 16) + ((u0 * v1 >>> 0) + (t & UINT16) >>> 16);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.math.umulh.js\n ** module id = 275\n ** module chunks = 0\n **/","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , toMetaKey = metadata.key\n , ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({defineMetadata: function defineMetadata(metadataKey, metadataValue, target, targetKey){\n ordinaryDefineOwnMetadata(metadataKey, metadataValue, anObject(target), toMetaKey(targetKey));\n}});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.reflect.define-metadata.js\n ** module id = 276\n ** module chunks = 0\n **/","var Map = require('./es6.map')\n , $export = require('./_export')\n , shared = require('./_shared')('metadata')\n , store = shared.store || (shared.store = new (require('./es6.weak-map')));\n\nvar getOrCreateMetadataMap = function(target, targetKey, create){\n var targetMetadata = store.get(target);\n if(!targetMetadata){\n if(!create)return undefined;\n store.set(target, targetMetadata = new Map);\n }\n var keyMetadata = targetMetadata.get(targetKey);\n if(!keyMetadata){\n if(!create)return undefined;\n targetMetadata.set(targetKey, keyMetadata = new Map);\n } return keyMetadata;\n};\nvar ordinaryHasOwnMetadata = function(MetadataKey, O, P){\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? false : metadataMap.has(MetadataKey);\n};\nvar ordinaryGetOwnMetadata = function(MetadataKey, O, P){\n var metadataMap = getOrCreateMetadataMap(O, P, false);\n return metadataMap === undefined ? undefined : metadataMap.get(MetadataKey);\n};\nvar ordinaryDefineOwnMetadata = function(MetadataKey, MetadataValue, O, P){\n getOrCreateMetadataMap(O, P, true).set(MetadataKey, MetadataValue);\n};\nvar ordinaryOwnMetadataKeys = function(target, targetKey){\n var metadataMap = getOrCreateMetadataMap(target, targetKey, false)\n , keys = [];\n if(metadataMap)metadataMap.forEach(function(_, key){ keys.push(key); });\n return keys;\n};\nvar toMetaKey = function(it){\n return it === undefined || typeof it == 'symbol' ? it : String(it);\n};\nvar exp = function(O){\n $export($export.S, 'Reflect', O);\n};\n\nmodule.exports = {\n store: store,\n map: getOrCreateMetadataMap,\n has: ordinaryHasOwnMetadata,\n get: ordinaryGetOwnMetadata,\n set: ordinaryDefineOwnMetadata,\n keys: ordinaryOwnMetadataKeys,\n key: toMetaKey,\n exp: exp\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_metadata.js\n ** module id = 277\n ** module chunks = 0\n **/","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , toMetaKey = metadata.key\n , getOrCreateMetadataMap = metadata.map\n , store = metadata.store;\n\nmetadata.exp({deleteMetadata: function deleteMetadata(metadataKey, target /*, targetKey */){\n var targetKey = arguments.length < 3 ? undefined : toMetaKey(arguments[2])\n , metadataMap = getOrCreateMetadataMap(anObject(target), targetKey, false);\n if(metadataMap === undefined || !metadataMap['delete'](metadataKey))return false;\n if(metadataMap.size)return true;\n var targetMetadata = store.get(target);\n targetMetadata['delete'](targetKey);\n return !!targetMetadata.size || store['delete'](target);\n}});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.reflect.delete-metadata.js\n ** module id = 278\n ** module chunks = 0\n **/","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryHasOwnMetadata = metadata.has\n , ordinaryGetOwnMetadata = metadata.get\n , toMetaKey = metadata.key;\n\nvar ordinaryGetMetadata = function(MetadataKey, O, P){\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if(hasOwn)return ordinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryGetMetadata(MetadataKey, parent, P) : undefined;\n};\n\nmetadata.exp({getMetadata: function getMetadata(metadataKey, target /*, targetKey */){\n return ordinaryGetMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.reflect.get-metadata.js\n ** module id = 279\n ** module chunks = 0\n **/","var Set = require('./es6.set')\n , from = require('./_array-from-iterable')\n , metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryOwnMetadataKeys = metadata.keys\n , toMetaKey = metadata.key;\n\nvar ordinaryMetadataKeys = function(O, P){\n var oKeys = ordinaryOwnMetadataKeys(O, P)\n , parent = getPrototypeOf(O);\n if(parent === null)return oKeys;\n var pKeys = ordinaryMetadataKeys(parent, P);\n return pKeys.length ? oKeys.length ? from(new Set(oKeys.concat(pKeys))) : pKeys : oKeys;\n};\n\nmetadata.exp({getMetadataKeys: function getMetadataKeys(target /*, targetKey */){\n return ordinaryMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n}});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.reflect.get-metadata-keys.js\n ** module id = 280\n ** module chunks = 0\n **/","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryGetOwnMetadata = metadata.get\n , toMetaKey = metadata.key;\n\nmetadata.exp({getOwnMetadata: function getOwnMetadata(metadataKey, target /*, targetKey */){\n return ordinaryGetOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.reflect.get-own-metadata.js\n ** module id = 281\n ** module chunks = 0\n **/","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryOwnMetadataKeys = metadata.keys\n , toMetaKey = metadata.key;\n\nmetadata.exp({getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetKey */){\n return ordinaryOwnMetadataKeys(anObject(target), arguments.length < 2 ? undefined : toMetaKey(arguments[1]));\n}});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.reflect.get-own-metadata-keys.js\n ** module id = 282\n ** module chunks = 0\n **/","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , getPrototypeOf = require('./_object-gpo')\n , ordinaryHasOwnMetadata = metadata.has\n , toMetaKey = metadata.key;\n\nvar ordinaryHasMetadata = function(MetadataKey, O, P){\n var hasOwn = ordinaryHasOwnMetadata(MetadataKey, O, P);\n if(hasOwn)return true;\n var parent = getPrototypeOf(O);\n return parent !== null ? ordinaryHasMetadata(MetadataKey, parent, P) : false;\n};\n\nmetadata.exp({hasMetadata: function hasMetadata(metadataKey, target /*, targetKey */){\n return ordinaryHasMetadata(metadataKey, anObject(target), arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.reflect.has-metadata.js\n ** module id = 283\n ** module chunks = 0\n **/","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , ordinaryHasOwnMetadata = metadata.has\n , toMetaKey = metadata.key;\n\nmetadata.exp({hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, targetKey */){\n return ordinaryHasOwnMetadata(metadataKey, anObject(target)\n , arguments.length < 3 ? undefined : toMetaKey(arguments[2]));\n}});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.reflect.has-own-metadata.js\n ** module id = 284\n ** module chunks = 0\n **/","var metadata = require('./_metadata')\n , anObject = require('./_an-object')\n , aFunction = require('./_a-function')\n , toMetaKey = metadata.key\n , ordinaryDefineOwnMetadata = metadata.set;\n\nmetadata.exp({metadata: function metadata(metadataKey, metadataValue){\n return function decorator(target, targetKey){\n ordinaryDefineOwnMetadata(\n metadataKey, metadataValue,\n (targetKey !== undefined ? anObject : aFunction)(target),\n toMetaKey(targetKey)\n );\n };\n}});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.reflect.metadata.js\n ** module id = 285\n ** module chunks = 0\n **/","// https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-09/sept-25.md#510-globalasap-for-enqueuing-a-microtask\nvar $export = require('./_export')\n , microtask = require('./_microtask')()\n , process = require('./_global').process\n , isNode = require('./_cof')(process) == 'process';\n\n$export($export.G, {\n asap: function asap(fn){\n var domain = isNode && process.domain;\n microtask(domain ? domain.bind(fn) : fn);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.asap.js\n ** module id = 286\n ** module chunks = 0\n **/","'use strict';\n// https://github.com/zenparsing/es-observable\nvar $export = require('./_export')\n , global = require('./_global')\n , core = require('./_core')\n , microtask = require('./_microtask')()\n , OBSERVABLE = require('./_wks')('observable')\n , aFunction = require('./_a-function')\n , anObject = require('./_an-object')\n , anInstance = require('./_an-instance')\n , redefineAll = require('./_redefine-all')\n , hide = require('./_hide')\n , forOf = require('./_for-of')\n , RETURN = forOf.RETURN;\n\nvar getMethod = function(fn){\n return fn == null ? undefined : aFunction(fn);\n};\n\nvar cleanupSubscription = function(subscription){\n var cleanup = subscription._c;\n if(cleanup){\n subscription._c = undefined;\n cleanup();\n }\n};\n\nvar subscriptionClosed = function(subscription){\n return subscription._o === undefined;\n};\n\nvar closeSubscription = function(subscription){\n if(!subscriptionClosed(subscription)){\n subscription._o = undefined;\n cleanupSubscription(subscription);\n }\n};\n\nvar Subscription = function(observer, subscriber){\n anObject(observer);\n this._c = undefined;\n this._o = observer;\n observer = new SubscriptionObserver(this);\n try {\n var cleanup = subscriber(observer)\n , subscription = cleanup;\n if(cleanup != null){\n if(typeof cleanup.unsubscribe === 'function')cleanup = function(){ subscription.unsubscribe(); };\n else aFunction(cleanup);\n this._c = cleanup;\n }\n } catch(e){\n observer.error(e);\n return;\n } if(subscriptionClosed(this))cleanupSubscription(this);\n};\n\nSubscription.prototype = redefineAll({}, {\n unsubscribe: function unsubscribe(){ closeSubscription(this); }\n});\n\nvar SubscriptionObserver = function(subscription){\n this._s = subscription;\n};\n\nSubscriptionObserver.prototype = redefineAll({}, {\n next: function next(value){\n var subscription = this._s;\n if(!subscriptionClosed(subscription)){\n var observer = subscription._o;\n try {\n var m = getMethod(observer.next);\n if(m)return m.call(observer, value);\n } catch(e){\n try {\n closeSubscription(subscription);\n } finally {\n throw e;\n }\n }\n }\n },\n error: function error(value){\n var subscription = this._s;\n if(subscriptionClosed(subscription))throw value;\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.error);\n if(!m)throw value;\n value = m.call(observer, value);\n } catch(e){\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n },\n complete: function complete(value){\n var subscription = this._s;\n if(!subscriptionClosed(subscription)){\n var observer = subscription._o;\n subscription._o = undefined;\n try {\n var m = getMethod(observer.complete);\n value = m ? m.call(observer, value) : undefined;\n } catch(e){\n try {\n cleanupSubscription(subscription);\n } finally {\n throw e;\n }\n } cleanupSubscription(subscription);\n return value;\n }\n }\n});\n\nvar $Observable = function Observable(subscriber){\n anInstance(this, $Observable, 'Observable', '_f')._f = aFunction(subscriber);\n};\n\nredefineAll($Observable.prototype, {\n subscribe: function subscribe(observer){\n return new Subscription(observer, this._f);\n },\n forEach: function forEach(fn){\n var that = this;\n return new (core.Promise || global.Promise)(function(resolve, reject){\n aFunction(fn);\n var subscription = that.subscribe({\n next : function(value){\n try {\n return fn(value);\n } catch(e){\n reject(e);\n subscription.unsubscribe();\n }\n },\n error: reject,\n complete: resolve\n });\n });\n }\n});\n\nredefineAll($Observable, {\n from: function from(x){\n var C = typeof this === 'function' ? this : $Observable;\n var method = getMethod(anObject(x)[OBSERVABLE]);\n if(method){\n var observable = anObject(method.call(x));\n return observable.constructor === C ? observable : new C(function(observer){\n return observable.subscribe(observer);\n });\n }\n return new C(function(observer){\n var done = false;\n microtask(function(){\n if(!done){\n try {\n if(forOf(x, false, function(it){\n observer.next(it);\n if(done)return RETURN;\n }) === RETURN)return;\n } catch(e){\n if(done)throw e;\n observer.error(e);\n return;\n } observer.complete();\n }\n });\n return function(){ done = true; };\n });\n },\n of: function of(){\n for(var i = 0, l = arguments.length, items = Array(l); i < l;)items[i] = arguments[i++];\n return new (typeof this === 'function' ? this : $Observable)(function(observer){\n var done = false;\n microtask(function(){\n if(!done){\n for(var i = 0; i < items.length; ++i){\n observer.next(items[i]);\n if(done)return;\n } observer.complete();\n }\n });\n return function(){ done = true; };\n });\n }\n});\n\nhide($Observable.prototype, OBSERVABLE, function(){ return this; });\n\n$export($export.G, {Observable: $Observable});\n\nrequire('./_set-species')('Observable');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/es7.observable.js\n ** module id = 287\n ** module chunks = 0\n **/","// ie9- setTimeout & setInterval additional parameters fix\nvar global = require('./_global')\n , $export = require('./_export')\n , invoke = require('./_invoke')\n , partial = require('./_partial')\n , navigator = global.navigator\n , MSIE = !!navigator && /MSIE .\\./.test(navigator.userAgent); // <- dirty ie9- check\nvar wrap = function(set){\n return MSIE ? function(fn, time /*, ...args */){\n return set(invoke(\n partial,\n [].slice.call(arguments, 2),\n typeof fn == 'function' ? fn : Function(fn)\n ), time);\n } : set;\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n setTimeout: wrap(global.setTimeout),\n setInterval: wrap(global.setInterval)\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/web.timers.js\n ** module id = 288\n ** module chunks = 0\n **/","'use strict';\nvar path = require('./_path')\n , invoke = require('./_invoke')\n , aFunction = require('./_a-function');\nmodule.exports = function(/* ...pargs */){\n var fn = aFunction(this)\n , length = arguments.length\n , pargs = Array(length)\n , i = 0\n , _ = path._\n , holder = false;\n while(length > i)if((pargs[i] = arguments[i++]) === _)holder = true;\n return function(/* ...args */){\n var that = this\n , aLen = arguments.length\n , j = 0, k = 0, args;\n if(!holder && !aLen)return invoke(fn, pargs, that);\n args = pargs.slice();\n if(holder)for(;length > j; j++)if(args[j] === _)args[j] = arguments[k++];\n while(aLen > k)args.push(arguments[k++]);\n return invoke(fn, args, that);\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_partial.js\n ** module id = 289\n ** module chunks = 0\n **/","module.exports = require('./_global');\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_path.js\n ** module id = 290\n ** module chunks = 0\n **/","var $export = require('./_export')\n , $task = require('./_task');\n$export($export.G + $export.B, {\n setImmediate: $task.set,\n clearImmediate: $task.clear\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/web.immediate.js\n ** module id = 291\n ** module chunks = 0\n **/","var $iterators = require('./es6.array.iterator')\n , redefine = require('./_redefine')\n , global = require('./_global')\n , hide = require('./_hide')\n , Iterators = require('./_iterators')\n , wks = require('./_wks')\n , ITERATOR = wks('iterator')\n , TO_STRING_TAG = wks('toStringTag')\n , ArrayValues = Iterators.Array;\n\nfor(var collections = ['NodeList', 'DOMTokenList', 'MediaList', 'StyleSheetList', 'CSSRuleList'], i = 0; i < 5; i++){\n var NAME = collections[i]\n , Collection = global[NAME]\n , proto = Collection && Collection.prototype\n , key;\n if(proto){\n if(!proto[ITERATOR])hide(proto, ITERATOR, ArrayValues);\n if(!proto[TO_STRING_TAG])hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n for(key in $iterators)if(!proto[key])redefine(proto, key, $iterators[key], true);\n }\n}\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/web.dom.iterable.js\n ** module id = 292\n ** module chunks = 0\n **/","'use strict';\nvar ctx = require('./_ctx')\n , $export = require('./_export')\n , createDesc = require('./_property-desc')\n , assign = require('./_object-assign')\n , create = require('./_object-create')\n , getPrototypeOf = require('./_object-gpo')\n , getKeys = require('./_object-keys')\n , dP = require('./_object-dp')\n , keyOf = require('./_keyof')\n , aFunction = require('./_a-function')\n , forOf = require('./_for-of')\n , isIterable = require('./core.is-iterable')\n , $iterCreate = require('./_iter-create')\n , step = require('./_iter-step')\n , isObject = require('./_is-object')\n , toIObject = require('./_to-iobject')\n , DESCRIPTORS = require('./_descriptors')\n , has = require('./_has');\n\n// 0 -> Dict.forEach\n// 1 -> Dict.map\n// 2 -> Dict.filter\n// 3 -> Dict.some\n// 4 -> Dict.every\n// 5 -> Dict.find\n// 6 -> Dict.findKey\n// 7 -> Dict.mapPairs\nvar createDictMethod = function(TYPE){\n var IS_MAP = TYPE == 1\n , IS_EVERY = TYPE == 4;\n return function(object, callbackfn, that /* = undefined */){\n var f = ctx(callbackfn, that, 3)\n , O = toIObject(object)\n , result = IS_MAP || TYPE == 7 || TYPE == 2\n ? new (typeof this == 'function' ? this : Dict) : undefined\n , key, val, res;\n for(key in O)if(has(O, key)){\n val = O[key];\n res = f(val, key, object);\n if(TYPE){\n if(IS_MAP)result[key] = res; // map\n else if(res)switch(TYPE){\n case 2: result[key] = val; break; // filter\n case 3: return true; // some\n case 5: return val; // find\n case 6: return key; // findKey\n case 7: result[res[0]] = res[1]; // mapPairs\n } else if(IS_EVERY)return false; // every\n }\n }\n return TYPE == 3 || IS_EVERY ? IS_EVERY : result;\n };\n};\nvar findKey = createDictMethod(6);\n\nvar createDictIter = function(kind){\n return function(it){\n return new DictIterator(it, kind);\n };\n};\nvar DictIterator = function(iterated, kind){\n this._t = toIObject(iterated); // target\n this._a = getKeys(iterated); // keys\n this._i = 0; // next index\n this._k = kind; // kind\n};\n$iterCreate(DictIterator, 'Dict', function(){\n var that = this\n , O = that._t\n , keys = that._a\n , kind = that._k\n , key;\n do {\n if(that._i >= keys.length){\n that._t = undefined;\n return step(1);\n }\n } while(!has(O, key = keys[that._i++]));\n if(kind == 'keys' )return step(0, key);\n if(kind == 'values')return step(0, O[key]);\n return step(0, [key, O[key]]);\n});\n\nfunction Dict(iterable){\n var dict = create(null);\n if(iterable != undefined){\n if(isIterable(iterable)){\n forOf(iterable, true, function(key, value){\n dict[key] = value;\n });\n } else assign(dict, iterable);\n }\n return dict;\n}\nDict.prototype = null;\n\nfunction reduce(object, mapfn, init){\n aFunction(mapfn);\n var O = toIObject(object)\n , keys = getKeys(O)\n , length = keys.length\n , i = 0\n , memo, key;\n if(arguments.length < 3){\n if(!length)throw TypeError('Reduce of empty object with no initial value');\n memo = O[keys[i++]];\n } else memo = Object(init);\n while(length > i)if(has(O, key = keys[i++])){\n memo = mapfn(memo, O[key], key, object);\n }\n return memo;\n}\n\nfunction includes(object, el){\n return (el == el ? keyOf(object, el) : findKey(object, function(it){\n return it != it;\n })) !== undefined;\n}\n\nfunction get(object, key){\n if(has(object, key))return object[key];\n}\nfunction set(object, key, value){\n if(DESCRIPTORS && key in Object)dP.f(object, key, createDesc(0, value));\n else object[key] = value;\n return object;\n}\n\nfunction isDict(it){\n return isObject(it) && getPrototypeOf(it) === Dict.prototype;\n}\n\n$export($export.G + $export.F, {Dict: Dict});\n\n$export($export.S, 'Dict', {\n keys: createDictIter('keys'),\n values: createDictIter('values'),\n entries: createDictIter('entries'),\n forEach: createDictMethod(0),\n map: createDictMethod(1),\n filter: createDictMethod(2),\n some: createDictMethod(3),\n every: createDictMethod(4),\n find: createDictMethod(5),\n findKey: findKey,\n mapPairs: createDictMethod(7),\n reduce: reduce,\n keyOf: keyOf,\n includes: includes,\n has: has,\n get: get,\n set: set,\n isDict: isDict\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/core.dict.js\n ** module id = 293\n ** module chunks = 0\n **/","var classof = require('./_classof')\n , ITERATOR = require('./_wks')('iterator')\n , Iterators = require('./_iterators');\nmodule.exports = require('./_core').isIterable = function(it){\n var O = Object(it);\n return O[ITERATOR] !== undefined\n || '@@iterator' in O\n || Iterators.hasOwnProperty(classof(O));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/core.is-iterable.js\n ** module id = 294\n ** module chunks = 0\n **/","var anObject = require('./_an-object')\n , get = require('./core.get-iterator-method');\nmodule.exports = require('./_core').getIterator = function(it){\n var iterFn = get(it);\n if(typeof iterFn != 'function')throw TypeError(it + ' is not iterable!');\n return anObject(iterFn.call(it));\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/core.get-iterator.js\n ** module id = 295\n ** module chunks = 0\n **/","var global = require('./_global')\n , core = require('./_core')\n , $export = require('./_export')\n , partial = require('./_partial');\n// https://esdiscuss.org/topic/promise-returning-delay-function\n$export($export.G + $export.F, {\n delay: function delay(time){\n return new (core.Promise || global.Promise)(function(resolve){\n setTimeout(partial.call(resolve, true), time);\n });\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/core.delay.js\n ** module id = 296\n ** module chunks = 0\n **/","var path = require('./_path')\n , $export = require('./_export');\n\n// Placeholder\nrequire('./_core')._ = path._ = path._ || {};\n\n$export($export.P + $export.F, 'Function', {part: require('./_partial')});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/core.function.part.js\n ** module id = 297\n ** module chunks = 0\n **/","var $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', {isObject: require('./_is-object')});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/core.object.is-object.js\n ** module id = 298\n ** module chunks = 0\n **/","var $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', {classof: require('./_classof')});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/core.object.classof.js\n ** module id = 299\n ** module chunks = 0\n **/","var $export = require('./_export')\n , define = require('./_object-define');\n\n$export($export.S + $export.F, 'Object', {define: define});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/core.object.define.js\n ** module id = 300\n ** module chunks = 0\n **/","var dP = require('./_object-dp')\n , gOPD = require('./_object-gopd')\n , ownKeys = require('./_own-keys')\n , toIObject = require('./_to-iobject');\n\nmodule.exports = function define(target, mixin){\n var keys = ownKeys(toIObject(mixin))\n , length = keys.length\n , i = 0, key;\n while(length > i)dP.f(target, key = keys[i++], gOPD.f(mixin, key));\n return target;\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_object-define.js\n ** module id = 301\n ** module chunks = 0\n **/","var $export = require('./_export')\n , define = require('./_object-define')\n , create = require('./_object-create');\n\n$export($export.S + $export.F, 'Object', {\n make: function(proto, mixin){\n return define(create(proto), mixin);\n }\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/core.object.make.js\n ** module id = 302\n ** module chunks = 0\n **/","'use strict';\nrequire('./_iter-define')(Number, 'Number', function(iterated){\n this._l = +iterated;\n this._i = 0;\n}, function(){\n var i = this._i++\n , done = !(i < this._l);\n return {done: done, value: done ? undefined : i};\n});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/core.number.iterator.js\n ** module id = 303\n ** module chunks = 0\n **/","// https://github.com/benjamingr/RexExp.escape\nvar $export = require('./_export')\n , $re = require('./_replacer')(/[\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n\n$export($export.S, 'RegExp', {escape: function escape(it){ return $re(it); }});\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/core.regexp.escape.js\n ** module id = 304\n ** module chunks = 0\n **/","module.exports = function(regExp, replace){\n var replacer = replace === Object(replace) ? function(part){\n return replace[part];\n } : replace;\n return function(it){\n return String(it).replace(regExp, replacer);\n };\n};\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/_replacer.js\n ** module id = 305\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export');\nvar $re = require('./_replacer')(/[&<>\"']/g, {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n});\n\n$export($export.P + $export.F, 'String', {escapeHTML: function escapeHTML(){ return $re(this); }});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/core.string.escape-html.js\n ** module id = 306\n ** module chunks = 0\n **/","'use strict';\nvar $export = require('./_export');\nvar $re = require('./_replacer')(/&(?:amp|lt|gt|quot|apos);/g, {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\n});\n\n$export($export.P + $export.F, 'String', {unescapeHTML: function unescapeHTML(){ return $re(this); }});\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/core-js/modules/core.string.unescape-html.js\n ** module id = 307\n ** module chunks = 0\n **/","/**\n* @license\n* Copyright Google Inc. All Rights Reserved.\n*\n* Use of this source code is governed by an MIT-style license that can be\n* found in the LICENSE file at https://angular.io/license\n*/\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (factory());\n}(this, (function () { 'use strict';\n\nvar Zone$1 = (function (global) {\n if (global.Zone) {\n throw new Error('Zone already loaded.');\n }\n var Zone = (function () {\n function Zone(parent, zoneSpec) {\n this._properties = null;\n this._parent = parent;\n this._name = zoneSpec ? zoneSpec.name || 'unnamed' : '';\n this._properties = zoneSpec && zoneSpec.properties || {};\n this._zoneDelegate = new ZoneDelegate(this, this._parent && this._parent._zoneDelegate, zoneSpec);\n }\n Zone.assertZonePatched = function () {\n if (global.Promise !== ZoneAwarePromise) {\n throw new Error(\"Zone.js has detected that ZoneAwarePromise `(window|global).Promise` \" +\n \"has been overwritten.\\n\" +\n \"Most likely cause is that a Promise polyfill has been loaded \" +\n \"after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. \" +\n \"If you must load one, do so before loading zone.js.)\");\n }\n };\n Object.defineProperty(Zone, \"current\", {\n get: function () { return _currentZone; },\n enumerable: true,\n configurable: true\n });\n \n Object.defineProperty(Zone, \"currentTask\", {\n get: function () { return _currentTask; },\n enumerable: true,\n configurable: true\n });\n \n Object.defineProperty(Zone.prototype, \"parent\", {\n get: function () { return this._parent; },\n enumerable: true,\n configurable: true\n });\n \n Object.defineProperty(Zone.prototype, \"name\", {\n get: function () { return this._name; },\n enumerable: true,\n configurable: true\n });\n \n Zone.prototype.get = function (key) {\n var zone = this.getZoneWith(key);\n if (zone)\n return zone._properties[key];\n };\n Zone.prototype.getZoneWith = function (key) {\n var current = this;\n while (current) {\n if (current._properties.hasOwnProperty(key)) {\n return current;\n }\n current = current._parent;\n }\n return null;\n };\n Zone.prototype.fork = function (zoneSpec) {\n if (!zoneSpec)\n throw new Error('ZoneSpec required!');\n return this._zoneDelegate.fork(this, zoneSpec);\n };\n Zone.prototype.wrap = function (callback, source) {\n if (typeof callback !== 'function') {\n throw new Error('Expecting function got: ' + callback);\n }\n var _callback = this._zoneDelegate.intercept(this, callback, source);\n var zone = this;\n return function () {\n return zone.runGuarded(_callback, this, arguments, source);\n };\n };\n Zone.prototype.run = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = null; }\n if (applyArgs === void 0) { applyArgs = null; }\n if (source === void 0) { source = null; }\n var oldZone = _currentZone;\n _currentZone = this;\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n finally {\n _currentZone = oldZone;\n }\n };\n Zone.prototype.runGuarded = function (callback, applyThis, applyArgs, source) {\n if (applyThis === void 0) { applyThis = null; }\n if (applyArgs === void 0) { applyArgs = null; }\n if (source === void 0) { source = null; }\n var oldZone = _currentZone;\n _currentZone = this;\n try {\n try {\n return this._zoneDelegate.invoke(this, callback, applyThis, applyArgs, source);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZone = oldZone;\n }\n };\n Zone.prototype.runTask = function (task, applyThis, applyArgs) {\n task.runCount++;\n if (task.zone != this)\n throw new Error('A task can only be run in the zone which created it! (Creation: ' +\n task.zone.name + '; Execution: ' + this.name + ')');\n var previousTask = _currentTask;\n _currentTask = task;\n var oldZone = _currentZone;\n _currentZone = this;\n try {\n if (task.type == 'macroTask' && task.data && !task.data.isPeriodic) {\n task.cancelFn = null;\n }\n try {\n return this._zoneDelegate.invokeTask(this, task, applyThis, applyArgs);\n }\n catch (error) {\n if (this._zoneDelegate.handleError(this, error)) {\n throw error;\n }\n }\n }\n finally {\n _currentZone = oldZone;\n _currentTask = previousTask;\n }\n };\n Zone.prototype.scheduleMicroTask = function (source, callback, data, customSchedule) {\n return this._zoneDelegate.scheduleTask(this, new ZoneTask('microTask', this, source, callback, data, customSchedule, null));\n };\n Zone.prototype.scheduleMacroTask = function (source, callback, data, customSchedule, customCancel) {\n return this._zoneDelegate.scheduleTask(this, new ZoneTask('macroTask', this, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.scheduleEventTask = function (source, callback, data, customSchedule, customCancel) {\n return this._zoneDelegate.scheduleTask(this, new ZoneTask('eventTask', this, source, callback, data, customSchedule, customCancel));\n };\n Zone.prototype.cancelTask = function (task) {\n var value = this._zoneDelegate.cancelTask(this, task);\n task.runCount = -1;\n task.cancelFn = null;\n return value;\n };\n Zone.__symbol__ = __symbol__;\n return Zone;\n }());\n \n var ZoneDelegate = (function () {\n function ZoneDelegate(zone, parentDelegate, zoneSpec) {\n this._taskCounts = { microTask: 0, macroTask: 0, eventTask: 0 };\n this.zone = zone;\n this._parentDelegate = parentDelegate;\n this._forkZS = zoneSpec && (zoneSpec && zoneSpec.onFork ? zoneSpec : parentDelegate._forkZS);\n this._forkDlgt = zoneSpec && (zoneSpec.onFork ? parentDelegate : parentDelegate._forkDlgt);\n this._interceptZS = zoneSpec && (zoneSpec.onIntercept ? zoneSpec : parentDelegate._interceptZS);\n this._interceptDlgt = zoneSpec && (zoneSpec.onIntercept ? parentDelegate : parentDelegate._interceptDlgt);\n this._invokeZS = zoneSpec && (zoneSpec.onInvoke ? zoneSpec : parentDelegate._invokeZS);\n this._invokeDlgt = zoneSpec && (zoneSpec.onInvoke ? parentDelegate : parentDelegate._invokeDlgt);\n this._handleErrorZS = zoneSpec && (zoneSpec.onHandleError ? zoneSpec : parentDelegate._handleErrorZS);\n this._handleErrorDlgt = zoneSpec && (zoneSpec.onHandleError ? parentDelegate : parentDelegate._handleErrorDlgt);\n this._scheduleTaskZS = zoneSpec && (zoneSpec.onScheduleTask ? zoneSpec : parentDelegate._scheduleTaskZS);\n this._scheduleTaskDlgt = zoneSpec && (zoneSpec.onScheduleTask ? parentDelegate : parentDelegate._scheduleTaskDlgt);\n this._invokeTaskZS = zoneSpec && (zoneSpec.onInvokeTask ? zoneSpec : parentDelegate._invokeTaskZS);\n this._invokeTaskDlgt = zoneSpec && (zoneSpec.onInvokeTask ? parentDelegate : parentDelegate._invokeTaskDlgt);\n this._cancelTaskZS = zoneSpec && (zoneSpec.onCancelTask ? zoneSpec : parentDelegate._cancelTaskZS);\n this._cancelTaskDlgt = zoneSpec && (zoneSpec.onCancelTask ? parentDelegate : parentDelegate._cancelTaskDlgt);\n this._hasTaskZS = zoneSpec && (zoneSpec.onHasTask ? zoneSpec : parentDelegate._hasTaskZS);\n this._hasTaskDlgt = zoneSpec && (zoneSpec.onHasTask ? parentDelegate : parentDelegate._hasTaskDlgt);\n }\n ZoneDelegate.prototype.fork = function (targetZone, zoneSpec) {\n return this._forkZS\n ? this._forkZS.onFork(this._forkDlgt, this.zone, targetZone, zoneSpec)\n : new Zone(targetZone, zoneSpec);\n };\n ZoneDelegate.prototype.intercept = function (targetZone, callback, source) {\n return this._interceptZS\n ? this._interceptZS.onIntercept(this._interceptDlgt, this.zone, targetZone, callback, source)\n : callback;\n };\n ZoneDelegate.prototype.invoke = function (targetZone, callback, applyThis, applyArgs, source) {\n return this._invokeZS\n ? this._invokeZS.onInvoke(this._invokeDlgt, this.zone, targetZone, callback, applyThis, applyArgs, source)\n : callback.apply(applyThis, applyArgs);\n };\n ZoneDelegate.prototype.handleError = function (targetZone, error) {\n return this._handleErrorZS\n ? this._handleErrorZS.onHandleError(this._handleErrorDlgt, this.zone, targetZone, error)\n : true;\n };\n ZoneDelegate.prototype.scheduleTask = function (targetZone, task) {\n try {\n if (this._scheduleTaskZS) {\n return this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt, this.zone, targetZone, task);\n }\n else if (task.scheduleFn) {\n task.scheduleFn(task);\n }\n else if (task.type == 'microTask') {\n scheduleMicroTask(task);\n }\n else {\n throw new Error('Task is missing scheduleFn.');\n }\n return task;\n }\n finally {\n if (targetZone == this.zone) {\n this._updateTaskCount(task.type, 1);\n }\n }\n };\n ZoneDelegate.prototype.invokeTask = function (targetZone, task, applyThis, applyArgs) {\n try {\n return this._invokeTaskZS\n ? this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt, this.zone, targetZone, task, applyThis, applyArgs)\n : task.callback.apply(applyThis, applyArgs);\n }\n finally {\n if (targetZone == this.zone && (task.type != 'eventTask') && !(task.data && task.data.isPeriodic)) {\n this._updateTaskCount(task.type, -1);\n }\n }\n };\n ZoneDelegate.prototype.cancelTask = function (targetZone, task) {\n var value;\n if (this._cancelTaskZS) {\n value = this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt, this.zone, targetZone, task);\n }\n else if (!task.cancelFn) {\n throw new Error('Task does not support cancellation, or is already canceled.');\n }\n else {\n value = task.cancelFn(task);\n }\n if (targetZone == this.zone) {\n // this should not be in the finally block, because exceptions assume not canceled.\n this._updateTaskCount(task.type, -1);\n }\n return value;\n };\n ZoneDelegate.prototype.hasTask = function (targetZone, isEmpty) {\n return this._hasTaskZS && this._hasTaskZS.onHasTask(this._hasTaskDlgt, this.zone, targetZone, isEmpty);\n };\n ZoneDelegate.prototype._updateTaskCount = function (type, count) {\n var counts = this._taskCounts;\n var prev = counts[type];\n var next = counts[type] = prev + count;\n if (next < 0) {\n throw new Error('More tasks executed then were scheduled.');\n }\n if (prev == 0 || next == 0) {\n var isEmpty = {\n microTask: counts.microTask > 0,\n macroTask: counts.macroTask > 0,\n eventTask: counts.eventTask > 0,\n change: type\n };\n try {\n this.hasTask(this.zone, isEmpty);\n }\n finally {\n if (this._parentDelegate) {\n this._parentDelegate._updateTaskCount(type, count);\n }\n }\n }\n };\n return ZoneDelegate;\n }());\n var ZoneTask = (function () {\n function ZoneTask(type, zone, source, callback, options, scheduleFn, cancelFn) {\n this.runCount = 0;\n this.type = type;\n this.zone = zone;\n this.source = source;\n this.data = options;\n this.scheduleFn = scheduleFn;\n this.cancelFn = cancelFn;\n this.callback = callback;\n var self = this;\n this.invoke = function () {\n _numberOfNestedTaskFrames++;\n try {\n return zone.runTask(self, this, arguments);\n }\n finally {\n if (_numberOfNestedTaskFrames == 1) {\n drainMicroTaskQueue();\n }\n _numberOfNestedTaskFrames--;\n }\n };\n }\n ZoneTask.prototype.toString = function () {\n if (this.data && typeof this.data.handleId !== 'undefined') {\n return this.data.handleId;\n }\n else {\n return this.toString();\n }\n };\n return ZoneTask;\n }());\n function __symbol__(name) { return '__zone_symbol__' + name; }\n \n var symbolSetTimeout = __symbol__('setTimeout');\n var symbolPromise = __symbol__('Promise');\n var symbolThen = __symbol__('then');\n var _currentZone = new Zone(null, null);\n var _currentTask = null;\n var _microTaskQueue = [];\n var _isDrainingMicrotaskQueue = false;\n var _uncaughtPromiseErrors = [];\n var _numberOfNestedTaskFrames = 0;\n function scheduleQueueDrain() {\n // if we are not running in any task, and there has not been anything scheduled\n // we must bootstrap the initial task creation by manually scheduling the drain\n if (_numberOfNestedTaskFrames == 0 && _microTaskQueue.length == 0) {\n // We are not running in Task, so we need to kickstart the microtask queue.\n if (global[symbolPromise]) {\n global[symbolPromise].resolve(0)[symbolThen](drainMicroTaskQueue);\n }\n else {\n global[symbolSetTimeout](drainMicroTaskQueue, 0);\n }\n }\n }\n function scheduleMicroTask(task) {\n scheduleQueueDrain();\n _microTaskQueue.push(task);\n }\n function consoleError(e) {\n var rejection = e && e.rejection;\n if (rejection) {\n console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined);\n }\n console.error(e);\n }\n function drainMicroTaskQueue() {\n if (!_isDrainingMicrotaskQueue) {\n _isDrainingMicrotaskQueue = true;\n while (_microTaskQueue.length) {\n var queue = _microTaskQueue;\n _microTaskQueue = [];\n for (var i = 0; i < queue.length; i++) {\n var task = queue[i];\n try {\n task.zone.runTask(task, null, null);\n }\n catch (e) {\n consoleError(e);\n }\n }\n }\n while (_uncaughtPromiseErrors.length) {\n var _loop_1 = function() {\n var uncaughtPromiseError = _uncaughtPromiseErrors.shift();\n try {\n uncaughtPromiseError.zone.runGuarded(function () { throw uncaughtPromiseError; });\n }\n catch (e) {\n consoleError(e);\n }\n };\n while (_uncaughtPromiseErrors.length) {\n _loop_1();\n }\n }\n _isDrainingMicrotaskQueue = false;\n }\n }\n function isThenable(value) {\n return value && value.then;\n }\n function forwardResolution(value) { return value; }\n function forwardRejection(rejection) { return ZoneAwarePromise.reject(rejection); }\n var symbolState = __symbol__('state');\n var symbolValue = __symbol__('value');\n var source = 'Promise.then';\n var UNRESOLVED = null;\n var RESOLVED = true;\n var REJECTED = false;\n var REJECTED_NO_CATCH = 0;\n function makeResolver(promise, state) {\n return function (v) {\n resolvePromise(promise, state, v);\n // Do not return value or you will break the Promise spec.\n };\n }\n function resolvePromise(promise, state, value) {\n if (promise[symbolState] === UNRESOLVED) {\n if (value instanceof ZoneAwarePromise && value[symbolState] !== UNRESOLVED) {\n clearRejectedNoCatch(value);\n resolvePromise(promise, value[symbolState], value[symbolValue]);\n }\n else if (isThenable(value)) {\n value.then(makeResolver(promise, state), makeResolver(promise, false));\n }\n else {\n promise[symbolState] = state;\n var queue = promise[symbolValue];\n promise[symbolValue] = value;\n for (var i = 0; i < queue.length;) {\n scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]);\n }\n if (queue.length == 0 && state == REJECTED) {\n promise[symbolState] = REJECTED_NO_CATCH;\n try {\n throw new Error(\"Uncaught (in promise): \" + value);\n }\n catch (e) {\n var error_1 = e;\n error_1.rejection = value;\n error_1.promise = promise;\n error_1.zone = Zone.current;\n error_1.task = Zone.currentTask;\n _uncaughtPromiseErrors.push(error_1);\n scheduleQueueDrain();\n }\n }\n }\n }\n // Resolving an already resolved promise is a noop.\n return promise;\n }\n function clearRejectedNoCatch(promise) {\n if (promise[symbolState] === REJECTED_NO_CATCH) {\n promise[symbolState] = REJECTED;\n for (var i = 0; i < _uncaughtPromiseErrors.length; i++) {\n if (promise === _uncaughtPromiseErrors[i].promise) {\n _uncaughtPromiseErrors.splice(i, 1);\n break;\n }\n }\n }\n }\n function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) {\n clearRejectedNoCatch(promise);\n var delegate = promise[symbolState] ? onFulfilled || forwardResolution : onRejected || forwardRejection;\n zone.scheduleMicroTask(source, function () {\n try {\n resolvePromise(chainPromise, true, zone.run(delegate, null, [promise[symbolValue]]));\n }\n catch (error) {\n resolvePromise(chainPromise, false, error);\n }\n });\n }\n var ZoneAwarePromise = (function () {\n function ZoneAwarePromise(executor) {\n var promise = this;\n if (!(promise instanceof ZoneAwarePromise)) {\n throw new Error('Must be an instanceof Promise.');\n }\n promise[symbolState] = UNRESOLVED;\n promise[symbolValue] = []; // queue;\n try {\n executor && executor(makeResolver(promise, RESOLVED), makeResolver(promise, REJECTED));\n }\n catch (e) {\n resolvePromise(promise, false, e);\n }\n }\n ZoneAwarePromise.resolve = function (value) {\n return resolvePromise(new this(null), RESOLVED, value);\n };\n ZoneAwarePromise.reject = function (error) {\n return resolvePromise(new this(null), REJECTED, error);\n };\n ZoneAwarePromise.race = function (values) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) { resolve = res; reject = rej; });\n function onResolve(value) { promise && (promise = null || resolve(value)); }\n function onReject(error) { promise && (promise = null || reject(error)); }\n for (var _i = 0, values_1 = values; _i < values_1.length; _i++) {\n var value = values_1[_i];\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then(onResolve, onReject);\n }\n return promise;\n };\n ZoneAwarePromise.all = function (values) {\n var resolve;\n var reject;\n var promise = new this(function (res, rej) { resolve = res; reject = rej; });\n var count = 0;\n var resolvedValues = [];\n for (var _i = 0, values_2 = values; _i < values_2.length; _i++) {\n var value = values_2[_i];\n if (!isThenable(value)) {\n value = this.resolve(value);\n }\n value.then((function (index) { return function (value) {\n resolvedValues[index] = value;\n count--;\n if (!count) {\n resolve(resolvedValues);\n }\n }; })(count), reject);\n count++;\n }\n if (!count)\n resolve(resolvedValues);\n return promise;\n };\n ZoneAwarePromise.prototype.then = function (onFulfilled, onRejected) {\n var chainPromise = new this.constructor(null);\n var zone = Zone.current;\n if (this[symbolState] == UNRESOLVED) {\n this[symbolValue].push(zone, chainPromise, onFulfilled, onRejected);\n }\n else {\n scheduleResolveOrReject(this, zone, chainPromise, onFulfilled, onRejected);\n }\n return chainPromise;\n };\n ZoneAwarePromise.prototype.catch = function (onRejected) {\n return this.then(null, onRejected);\n };\n return ZoneAwarePromise;\n }());\n // Protect against aggressive optimizers dropping seemingly unused properties.\n // E.g. Closure Compiler in advanced mode.\n ZoneAwarePromise['resolve'] = ZoneAwarePromise.resolve;\n ZoneAwarePromise['reject'] = ZoneAwarePromise.reject;\n ZoneAwarePromise['race'] = ZoneAwarePromise.race;\n ZoneAwarePromise['all'] = ZoneAwarePromise.all;\n var NativePromise = global[__symbol__('Promise')] = global.Promise;\n global.Promise = ZoneAwarePromise;\n function patchThen(NativePromise) {\n var NativePromiseProtototype = NativePromise.prototype;\n var NativePromiseThen = NativePromiseProtototype[__symbol__('then')]\n = NativePromiseProtototype.then;\n NativePromiseProtototype.then = function (onResolve, onReject) {\n var nativePromise = this;\n return new ZoneAwarePromise(function (resolve, reject) {\n NativePromiseThen.call(nativePromise, resolve, reject);\n }).then(onResolve, onReject);\n };\n }\n if (NativePromise) {\n patchThen(NativePromise);\n if (typeof global['fetch'] !== 'undefined') {\n var fetchPromise = void 0;\n try {\n // In MS Edge this throws\n fetchPromise = global['fetch']();\n }\n catch (e) {\n // In Chrome this throws instead.\n fetchPromise = global['fetch']('about:blank');\n }\n // ignore output to prevent error;\n fetchPromise.then(function () { return null; }, function () { return null; });\n if (fetchPromise.constructor != NativePromise) {\n patchThen(fetchPromise.constructor);\n }\n }\n }\n // This is not part of public API, but it is usefull for tests, so we expose it.\n Promise[Zone.__symbol__('uncaughtPromiseErrors')] = _uncaughtPromiseErrors;\n return global.Zone = Zone;\n})(typeof window === 'object' && window || typeof self === 'object' && self || global);\n\n/**\n * Suppress closure compiler errors about unknown 'process' variable\n * @fileoverview\n * @suppress {undefinedVars}\n */\nvar zoneSymbol = Zone['__symbol__'];\nvar _global$1 = typeof window === 'object' && window || typeof self === 'object' && self || global;\nfunction bindArguments(args, source) {\n for (var i = args.length - 1; i >= 0; i--) {\n if (typeof args[i] === 'function') {\n args[i] = Zone.current.wrap(args[i], source + '_' + i);\n }\n }\n return args;\n}\n\nfunction patchPrototype(prototype, fnNames) {\n var source = prototype.constructor['name'];\n var _loop_1 = function(i) {\n var name_1 = fnNames[i];\n var delegate = prototype[name_1];\n if (delegate) {\n prototype[name_1] = (function (delegate) {\n return function () {\n return delegate.apply(this, bindArguments(arguments, source + '.' + name_1));\n };\n })(delegate);\n }\n };\n for (var i = 0; i < fnNames.length; i++) {\n _loop_1(i);\n }\n}\n\nvar isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope);\nvar isNode = (typeof process !== 'undefined' && {}.toString.call(process) === '[object process]');\nvar isBrowser = !isNode && !isWebWorker && !!(typeof window !== 'undefined' && window['HTMLElement']);\nfunction patchProperty(obj, prop) {\n var desc = Object.getOwnPropertyDescriptor(obj, prop) || {\n enumerable: true,\n configurable: true\n };\n // A property descriptor cannot have getter/setter and be writable\n // deleting the writable and value properties avoids this error:\n //\n // TypeError: property descriptors must not specify a value or be writable when a\n // getter or setter has been specified\n delete desc.writable;\n delete desc.value;\n // substr(2) cuz 'onclick' -> 'click', etc\n var eventName = prop.substr(2);\n var _prop = '_' + prop;\n desc.set = function (fn) {\n if (this[_prop]) {\n this.removeEventListener(eventName, this[_prop]);\n }\n if (typeof fn === 'function') {\n var wrapFn = function (event) {\n var result;\n result = fn.apply(this, arguments);\n if (result != undefined && !result)\n event.preventDefault();\n };\n this[_prop] = wrapFn;\n this.addEventListener(eventName, wrapFn, false);\n }\n else {\n this[_prop] = null;\n }\n };\n // The getter would return undefined for unassigned properties but the default value of an unassigned property is null\n desc.get = function () {\n return this[_prop] || null;\n };\n Object.defineProperty(obj, prop, desc);\n}\n\nfunction patchOnProperties(obj, properties) {\n var onProperties = [];\n for (var prop in obj) {\n if (prop.substr(0, 2) == 'on') {\n onProperties.push(prop);\n }\n }\n for (var j = 0; j < onProperties.length; j++) {\n patchProperty(obj, onProperties[j]);\n }\n if (properties) {\n for (var i = 0; i < properties.length; i++) {\n patchProperty(obj, 'on' + properties[i]);\n }\n }\n}\n\nvar EVENT_TASKS = zoneSymbol('eventTasks');\n// For EventTarget\nvar ADD_EVENT_LISTENER = 'addEventListener';\nvar REMOVE_EVENT_LISTENER = 'removeEventListener';\nfunction findExistingRegisteredTask(target, handler, name, capture, remove) {\n var eventTasks = target[EVENT_TASKS];\n if (eventTasks) {\n for (var i = 0; i < eventTasks.length; i++) {\n var eventTask = eventTasks[i];\n var data = eventTask.data;\n if (data.handler === handler\n && data.useCapturing === capture\n && data.eventName === name) {\n if (remove) {\n eventTasks.splice(i, 1);\n }\n return eventTask;\n }\n }\n }\n return null;\n}\nfunction attachRegisteredEvent(target, eventTask) {\n var eventTasks = target[EVENT_TASKS];\n if (!eventTasks) {\n eventTasks = target[EVENT_TASKS] = [];\n }\n eventTasks.push(eventTask);\n}\nfunction makeZoneAwareAddListener(addFnName, removeFnName, useCapturingParam, allowDuplicates) {\n if (useCapturingParam === void 0) { useCapturingParam = true; }\n if (allowDuplicates === void 0) { allowDuplicates = false; }\n var addFnSymbol = zoneSymbol(addFnName);\n var removeFnSymbol = zoneSymbol(removeFnName);\n var defaultUseCapturing = useCapturingParam ? false : undefined;\n function scheduleEventListener(eventTask) {\n var meta = eventTask.data;\n attachRegisteredEvent(meta.target, eventTask);\n return meta.target[addFnSymbol](meta.eventName, eventTask.invoke, meta.useCapturing);\n }\n function cancelEventListener(eventTask) {\n var meta = eventTask.data;\n findExistingRegisteredTask(meta.target, eventTask.invoke, meta.eventName, meta.useCapturing, true);\n meta.target[removeFnSymbol](meta.eventName, eventTask.invoke, meta.useCapturing);\n }\n return function zoneAwareAddListener(self, args) {\n var eventName = args[0];\n var handler = args[1];\n var useCapturing = args[2] || defaultUseCapturing;\n // - Inside a Web Worker, `this` is undefined, the context is `global`\n // - When `addEventListener` is called on the global context in strict mode, `this` is undefined\n // see https://github.com/angular/zone.js/issues/190\n var target = self || _global$1;\n var delegate = null;\n if (typeof handler == 'function') {\n delegate = handler;\n }\n else if (handler && handler.handleEvent) {\n delegate = function (event) { return handler.handleEvent(event); };\n }\n var validZoneHandler = false;\n try {\n // In cross site contexts (such as WebDriver frameworks like Selenium),\n // accessing the handler object here will cause an exception to be thrown which\n // will fail tests prematurely.\n validZoneHandler = handler && handler.toString() === \"[object FunctionWrapper]\";\n }\n catch (e) {\n // Returning nothing here is fine, because objects in a cross-site context are unusable\n return;\n }\n // Ignore special listeners of IE11 & Edge dev tools, see https://github.com/angular/zone.js/issues/150\n if (!delegate || validZoneHandler) {\n return target[addFnSymbol](eventName, handler, useCapturing);\n }\n if (!allowDuplicates) {\n var eventTask = findExistingRegisteredTask(target, handler, eventName, useCapturing, false);\n if (eventTask) {\n // we already registered, so this will have noop.\n return target[addFnSymbol](eventName, eventTask.invoke, useCapturing);\n }\n }\n var zone = Zone.current;\n var source = target.constructor['name'] + '.' + addFnName + ':' + eventName;\n var data = {\n target: target,\n eventName: eventName,\n name: eventName,\n useCapturing: useCapturing,\n handler: handler\n };\n zone.scheduleEventTask(source, delegate, data, scheduleEventListener, cancelEventListener);\n };\n}\nfunction makeZoneAwareRemoveListener(fnName, useCapturingParam) {\n if (useCapturingParam === void 0) { useCapturingParam = true; }\n var symbol = zoneSymbol(fnName);\n var defaultUseCapturing = useCapturingParam ? false : undefined;\n return function zoneAwareRemoveListener(self, args) {\n var eventName = args[0];\n var handler = args[1];\n var useCapturing = args[2] || defaultUseCapturing;\n // - Inside a Web Worker, `this` is undefined, the context is `global`\n // - When `addEventListener` is called on the global context in strict mode, `this` is undefined\n // see https://github.com/angular/zone.js/issues/190\n var target = self || _global$1;\n var eventTask = findExistingRegisteredTask(target, handler, eventName, useCapturing, true);\n if (eventTask) {\n eventTask.zone.cancelTask(eventTask);\n }\n else {\n target[symbol](eventName, handler, useCapturing);\n }\n };\n}\n\nvar zoneAwareAddEventListener = makeZoneAwareAddListener(ADD_EVENT_LISTENER, REMOVE_EVENT_LISTENER);\nvar zoneAwareRemoveEventListener = makeZoneAwareRemoveListener(REMOVE_EVENT_LISTENER);\nfunction patchEventTargetMethods(obj) {\n if (obj && obj.addEventListener) {\n patchMethod(obj, ADD_EVENT_LISTENER, function () { return zoneAwareAddEventListener; });\n patchMethod(obj, REMOVE_EVENT_LISTENER, function () { return zoneAwareRemoveEventListener; });\n return true;\n }\n else {\n return false;\n }\n}\nvar originalInstanceKey = zoneSymbol('originalInstance');\n// wrap some native API on `window`\nfunction patchClass(className) {\n var OriginalClass = _global$1[className];\n if (!OriginalClass)\n return;\n _global$1[className] = function () {\n var a = bindArguments(arguments, className);\n switch (a.length) {\n case 0:\n this[originalInstanceKey] = new OriginalClass();\n break;\n case 1:\n this[originalInstanceKey] = new OriginalClass(a[0]);\n break;\n case 2:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1]);\n break;\n case 3:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2]);\n break;\n case 4:\n this[originalInstanceKey] = new OriginalClass(a[0], a[1], a[2], a[3]);\n break;\n default: throw new Error('Arg list too long.');\n }\n };\n var instance = new OriginalClass(function () { });\n var prop;\n for (prop in instance) {\n // https://bugs.webkit.org/show_bug.cgi?id=44721\n if (className === 'XMLHttpRequest' && prop === 'responseBlob')\n continue;\n (function (prop) {\n if (typeof instance[prop] === 'function') {\n _global$1[className].prototype[prop] = function () {\n return this[originalInstanceKey][prop].apply(this[originalInstanceKey], arguments);\n };\n }\n else {\n Object.defineProperty(_global$1[className].prototype, prop, {\n set: function (fn) {\n if (typeof fn === 'function') {\n this[originalInstanceKey][prop] = Zone.current.wrap(fn, className + '.' + prop);\n }\n else {\n this[originalInstanceKey][prop] = fn;\n }\n },\n get: function () {\n return this[originalInstanceKey][prop];\n }\n });\n }\n }(prop));\n }\n for (prop in OriginalClass) {\n if (prop !== 'prototype' && OriginalClass.hasOwnProperty(prop)) {\n _global$1[className][prop] = OriginalClass[prop];\n }\n }\n}\n\nfunction createNamedFn(name, delegate) {\n try {\n return (Function('f', \"return function \" + name + \"(){return f(this, arguments)}\"))(delegate);\n }\n catch (e) {\n // if we fail, we must be CSP, just return delegate.\n return function () {\n return delegate(this, arguments);\n };\n }\n}\nfunction patchMethod(target, name, patchFn) {\n var proto = target;\n while (proto && !proto.hasOwnProperty(name)) {\n proto = Object.getPrototypeOf(proto);\n }\n if (!proto && target[name]) {\n // somehow we did not find it, but we can see it. This happens on IE for Window properties.\n proto = target;\n }\n var delegateName = zoneSymbol(name);\n var delegate;\n if (proto && !(delegate = proto[delegateName])) {\n delegate = proto[delegateName] = proto[name];\n proto[name] = createNamedFn(name, patchFn(delegate, delegateName, name));\n }\n return delegate;\n}\n\nvar WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video';\nvar NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex'.split(',');\nvar EVENT_TARGET = 'EventTarget';\nfunction eventTargetPatch(_global) {\n var apis = [];\n var isWtf = _global['wtf'];\n if (isWtf) {\n // Workaround for: https://github.com/google/tracing-framework/issues/555\n apis = WTF_ISSUE_555.split(',').map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET);\n }\n else if (_global[EVENT_TARGET]) {\n apis.push(EVENT_TARGET);\n }\n else {\n // Note: EventTarget is not available in all browsers,\n // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget\n apis = NO_EVENT_TARGET;\n }\n for (var i = 0; i < apis.length; i++) {\n var type = _global[apis[i]];\n patchEventTargetMethods(type && type.prototype);\n }\n}\n\n/*\n * This is necessary for Chrome and Chrome mobile, to enable\n * things like redefining `createdCallback` on an element.\n */\nvar _defineProperty = Object[zoneSymbol('defineProperty')] = Object.defineProperty;\nvar _getOwnPropertyDescriptor = Object[zoneSymbol('getOwnPropertyDescriptor')] = Object.getOwnPropertyDescriptor;\nvar _create = Object.create;\nvar unconfigurablesKey = zoneSymbol('unconfigurables');\nfunction propertyPatch() {\n Object.defineProperty = function (obj, prop, desc) {\n if (isUnconfigurable(obj, prop)) {\n throw new TypeError('Cannot assign to read only property \\'' + prop + '\\' of ' + obj);\n }\n var originalConfigurableFlag = desc.configurable;\n if (prop !== 'prototype') {\n desc = rewriteDescriptor(obj, prop, desc);\n }\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n };\n Object.defineProperties = function (obj, props) {\n Object.keys(props).forEach(function (prop) {\n Object.defineProperty(obj, prop, props[prop]);\n });\n return obj;\n };\n Object.create = function (obj, proto) {\n if (typeof proto === 'object' && !Object.isFrozen(proto)) {\n Object.keys(proto).forEach(function (prop) {\n proto[prop] = rewriteDescriptor(obj, prop, proto[prop]);\n });\n }\n return _create(obj, proto);\n };\n Object.getOwnPropertyDescriptor = function (obj, prop) {\n var desc = _getOwnPropertyDescriptor(obj, prop);\n if (isUnconfigurable(obj, prop)) {\n desc.configurable = false;\n }\n return desc;\n };\n}\n\nfunction _redefineProperty(obj, prop, desc) {\n var originalConfigurableFlag = desc.configurable;\n desc = rewriteDescriptor(obj, prop, desc);\n return _tryDefineProperty(obj, prop, desc, originalConfigurableFlag);\n}\n\nfunction isUnconfigurable(obj, prop) {\n return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop];\n}\nfunction rewriteDescriptor(obj, prop, desc) {\n desc.configurable = true;\n if (!desc.configurable) {\n if (!obj[unconfigurablesKey]) {\n _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} });\n }\n obj[unconfigurablesKey][prop] = true;\n }\n return desc;\n}\nfunction _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) {\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (e) {\n if (desc.configurable) {\n // In case of errors, when the configurable flag was likely set by rewriteDescriptor(), let's retry with the original flag value\n if (typeof originalConfigurableFlag == 'undefined') {\n delete desc.configurable;\n }\n else {\n desc.configurable = originalConfigurableFlag;\n }\n try {\n return _defineProperty(obj, prop, desc);\n }\n catch (e) {\n var descJson = null;\n try {\n descJson = JSON.stringify(desc);\n }\n catch (e) {\n descJson = descJson.toString();\n }\n console.log(\"Attempting to configure '\" + prop + \"' with descriptor '\" + descJson + \"' on object '\" + obj + \"' and got error, giving up: \" + e);\n }\n }\n else {\n throw e;\n }\n }\n}\n\nfunction registerElementPatch(_global) {\n if (!isBrowser || !('registerElement' in _global.document)) {\n return;\n }\n var _registerElement = document.registerElement;\n var callbacks = [\n 'createdCallback',\n 'attachedCallback',\n 'detachedCallback',\n 'attributeChangedCallback'\n ];\n document.registerElement = function (name, opts) {\n if (opts && opts.prototype) {\n callbacks.forEach(function (callback) {\n var source = 'Document.registerElement::' + callback;\n if (opts.prototype.hasOwnProperty(callback)) {\n var descriptor = Object.getOwnPropertyDescriptor(opts.prototype, callback);\n if (descriptor && descriptor.value) {\n descriptor.value = Zone.current.wrap(descriptor.value, source);\n _redefineProperty(opts.prototype, callback, descriptor);\n }\n else {\n opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source);\n }\n }\n else if (opts.prototype[callback]) {\n opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source);\n }\n });\n }\n return _registerElement.apply(document, [name, opts]);\n };\n}\n\n// we have to patch the instance since the proto is non-configurable\nfunction apply(_global) {\n var WS = _global.WebSocket;\n // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener\n // On older Chrome, no need since EventTarget was already patched\n if (!_global.EventTarget) {\n patchEventTargetMethods(WS.prototype);\n }\n _global.WebSocket = function (a, b) {\n var socket = arguments.length > 1 ? new WS(a, b) : new WS(a);\n var proxySocket;\n // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance\n var onmessageDesc = Object.getOwnPropertyDescriptor(socket, 'onmessage');\n if (onmessageDesc && onmessageDesc.configurable === false) {\n proxySocket = Object.create(socket);\n ['addEventListener', 'removeEventListener', 'send', 'close'].forEach(function (propName) {\n proxySocket[propName] = function () {\n return socket[propName].apply(socket, arguments);\n };\n });\n }\n else {\n // we can patch the real socket\n proxySocket = socket;\n }\n patchOnProperties(proxySocket, ['close', 'error', 'message', 'open']);\n return proxySocket;\n };\n for (var prop in WS) {\n _global.WebSocket[prop] = WS[prop];\n }\n}\n\nvar eventNames = 'copy cut paste abort blur focus canplay canplaythrough change click contextmenu dblclick drag dragend dragenter dragleave dragover dragstart drop durationchange emptied ended input invalid keydown keypress keyup load loadeddata loadedmetadata loadstart message mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup pause play playing progress ratechange reset scroll seeked seeking select show stalled submit suspend timeupdate volumechange waiting mozfullscreenchange mozfullscreenerror mozpointerlockchange mozpointerlockerror error webglcontextrestored webglcontextlost webglcontextcreationerror'.split(' ');\nfunction propertyDescriptorPatch(_global) {\n if (isNode) {\n return;\n }\n var supportsWebSocket = typeof WebSocket !== 'undefined';\n if (canPatchViaPropertyDescriptor()) {\n // for browsers that we can patch the descriptor: Chrome & Firefox\n if (isBrowser) {\n patchOnProperties(HTMLElement.prototype, eventNames);\n }\n patchOnProperties(XMLHttpRequest.prototype, null);\n if (typeof IDBIndex !== 'undefined') {\n patchOnProperties(IDBIndex.prototype, null);\n patchOnProperties(IDBRequest.prototype, null);\n patchOnProperties(IDBOpenDBRequest.prototype, null);\n patchOnProperties(IDBDatabase.prototype, null);\n patchOnProperties(IDBTransaction.prototype, null);\n patchOnProperties(IDBCursor.prototype, null);\n }\n if (supportsWebSocket) {\n patchOnProperties(WebSocket.prototype, null);\n }\n }\n else {\n // Safari, Android browsers (Jelly Bean)\n patchViaCapturingAllTheEvents();\n patchClass('XMLHttpRequest');\n if (supportsWebSocket) {\n apply(_global);\n }\n }\n}\nfunction canPatchViaPropertyDescriptor() {\n if (isBrowser && !Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'onclick')\n && typeof Element !== 'undefined') {\n // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364\n // IDL interface attributes are not configurable\n var desc = Object.getOwnPropertyDescriptor(Element.prototype, 'onclick');\n if (desc && !desc.configurable)\n return false;\n }\n Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', {\n get: function () {\n return true;\n }\n });\n var req = new XMLHttpRequest();\n var result = !!req.onreadystatechange;\n Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', {});\n return result;\n}\n\nvar unboundKey = zoneSymbol('unbound');\n// Whenever any eventListener fires, we check the eventListener target and all parents\n// for `onwhatever` properties and replace them with zone-bound functions\n// - Chrome (for now)\nfunction patchViaCapturingAllTheEvents() {\n var _loop_1 = function(i) {\n var property = eventNames[i];\n var onproperty = 'on' + property;\n document.addEventListener(property, function (event) {\n var elt = event.target, bound, source;\n if (elt) {\n source = elt.constructor['name'] + '.' + onproperty;\n }\n else {\n source = 'unknown.' + onproperty;\n }\n while (elt) {\n if (elt[onproperty] && !elt[onproperty][unboundKey]) {\n bound = Zone.current.wrap(elt[onproperty], source);\n bound[unboundKey] = elt[onproperty];\n elt[onproperty] = bound;\n }\n elt = elt.parentElement;\n }\n }, true);\n };\n for (var i = 0; i < eventNames.length; i++) {\n _loop_1(i);\n }\n \n}\n\nfunction patchTimer(window, setName, cancelName, nameSuffix) {\n var setNative = null;\n var clearNative = null;\n setName += nameSuffix;\n cancelName += nameSuffix;\n function scheduleTask(task) {\n var data = task.data;\n data.args[0] = task.invoke;\n data.handleId = setNative.apply(window, data.args);\n return task;\n }\n function clearTask(task) {\n return clearNative(task.data.handleId);\n }\n setNative = patchMethod(window, setName, function (delegate) { return function (self, args) {\n if (typeof args[0] === 'function') {\n var zone = Zone.current;\n var options = {\n handleId: null,\n isPeriodic: nameSuffix === 'Interval',\n delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 : null,\n args: args\n };\n var task = zone.scheduleMacroTask(setName, args[0], options, scheduleTask, clearTask);\n if (!task) {\n return task;\n }\n // Node.js must additionally support the ref and unref functions.\n var handle = task.data.handleId;\n if (handle.ref && handle.unref) {\n task.ref = handle.ref.bind(handle);\n task.unref = handle.unref.bind(handle);\n }\n return task;\n }\n else {\n // cause an error by calling it directly.\n return delegate.apply(window, args);\n }\n }; });\n clearNative = patchMethod(window, cancelName, function (delegate) { return function (self, args) {\n var task = args[0];\n if (task && typeof task.type === 'string') {\n if (task.cancelFn && task.data.isPeriodic || task.runCount === 0) {\n // Do not cancel already canceled functions\n task.zone.cancelTask(task);\n }\n }\n else {\n // cause an error by calling it directly.\n delegate.apply(window, args);\n }\n }; });\n}\n\nvar set = 'set';\nvar clear = 'clear';\nvar blockingMethods = ['alert', 'prompt', 'confirm'];\nvar _global = typeof window === 'object' && window || typeof self === 'object' && self || global;\npatchTimer(_global, set, clear, 'Timeout');\npatchTimer(_global, set, clear, 'Interval');\npatchTimer(_global, set, clear, 'Immediate');\npatchTimer(_global, 'request', 'cancel', 'AnimationFrame');\npatchTimer(_global, 'mozRequest', 'mozCancel', 'AnimationFrame');\npatchTimer(_global, 'webkitRequest', 'webkitCancel', 'AnimationFrame');\nfor (var i = 0; i < blockingMethods.length; i++) {\n var name = blockingMethods[i];\n patchMethod(_global, name, function (delegate, symbol, name) {\n return function (s, args) {\n return Zone.current.run(delegate, _global, args, name);\n };\n });\n}\neventTargetPatch(_global);\npropertyDescriptorPatch(_global);\npatchClass('MutationObserver');\npatchClass('WebKitMutationObserver');\npatchClass('FileReader');\npropertyPatch();\nregisterElementPatch(_global);\n// Treat XMLHTTPRequest as a macrotask.\npatchXHR(_global);\nvar XHR_TASK = zoneSymbol('xhrTask');\nvar XHR_SYNC = zoneSymbol('xhrSync');\nfunction patchXHR(window) {\n function findPendingTask(target) {\n var pendingTask = target[XHR_TASK];\n return pendingTask;\n }\n function scheduleTask(task) {\n var data = task.data;\n data.target.addEventListener('readystatechange', function () {\n if (data.target.readyState === data.target.DONE) {\n if (!data.aborted) {\n task.invoke();\n }\n }\n });\n var storedTask = data.target[XHR_TASK];\n if (!storedTask) {\n data.target[XHR_TASK] = task;\n }\n sendNative.apply(data.target, data.args);\n return task;\n }\n function placeholderCallback() {\n }\n function clearTask(task) {\n var data = task.data;\n // Note - ideally, we would call data.target.removeEventListener here, but it's too late\n // to prevent it from firing. So instead, we store info for the event listener.\n data.aborted = true;\n return abortNative.apply(data.target, data.args);\n }\n var openNative = patchMethod(window.XMLHttpRequest.prototype, 'open', function () { return function (self, args) {\n self[XHR_SYNC] = args[2] == false;\n return openNative.apply(self, args);\n }; });\n var sendNative = patchMethod(window.XMLHttpRequest.prototype, 'send', function () { return function (self, args) {\n var zone = Zone.current;\n if (self[XHR_SYNC]) {\n // if the XHR is sync there is no task to schedule, just execute the code.\n return sendNative.apply(self, args);\n }\n else {\n var options = {\n target: self,\n isPeriodic: false,\n delay: null,\n args: args,\n aborted: false\n };\n return zone.scheduleMacroTask('XMLHttpRequest.send', placeholderCallback, options, scheduleTask, clearTask);\n }\n }; });\n var abortNative = patchMethod(window.XMLHttpRequest.prototype, 'abort', function (delegate) { return function (self, args) {\n var task = findPendingTask(self);\n if (task && typeof task.type == 'string') {\n // If the XHR has already completed, do nothing.\n if (task.cancelFn == null) {\n return;\n }\n task.zone.cancelTask(task);\n }\n // Otherwise, we are trying to abort an XHR which has not yet been sent, so there is no task to cancel. Do nothing.\n }; });\n}\n/// GEO_LOCATION\nif (_global['navigator'] && _global['navigator'].geolocation) {\n patchPrototype(_global['navigator'].geolocation, [\n 'getCurrentPosition',\n 'watchPosition'\n ]);\n}\n\n})));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/zone.js/dist/zone.js\n ** module id = 308\n ** module chunks = 0\n **/","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/process/browser.js\n ** module id = 309\n ** module chunks = 0\n **/","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app.module';\r\n\r\nprocess.stdout = require('browser-stdout')();\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule);\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/main.ts\n **/","/**\n * @license Angular v2.1.0\n * (c) 2010-2016 Google, Inc. https://angular.io/\n * License: MIT\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/compiler'), require('@angular/core'), require('@angular/platform-browser')) :\n typeof define === 'function' && define.amd ? define(['exports', '@angular/compiler', '@angular/core', '@angular/platform-browser'], factory) :\n (factory((global.ng = global.ng || {}, global.ng.platformBrowserDynamic = global.ng.platformBrowserDynamic || {}),global.ng.compiler,global.ng.core,global.ng.platformBrowser));\n}(this, function (exports,_angular_compiler,_angular_core,_angular_platformBrowser) { 'use strict';\n\n var INTERNAL_BROWSER_PLATFORM_PROVIDERS = _angular_platformBrowser.__platform_browser_private__.INTERNAL_BROWSER_PLATFORM_PROVIDERS;\n\n var __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n var ResourceLoaderImpl = (function (_super) {\n __extends(ResourceLoaderImpl, _super);\n function ResourceLoaderImpl() {\n _super.apply(this, arguments);\n }\n ResourceLoaderImpl.prototype.get = function (url) {\n var resolve;\n var reject;\n var promise = new Promise(function (res, rej) {\n resolve = res;\n reject = rej;\n });\n var xhr = new XMLHttpRequest();\n xhr.open('GET', url, true);\n xhr.responseType = 'text';\n xhr.onload = function () {\n // responseText is the old-school way of retrieving response (supported by IE8 & 9)\n // response/responseType properties were introduced in ResourceLoader Level2 spec (supported\n // by IE10)\n var response = xhr.response || xhr.responseText;\n // normalize IE9 bug (http://bugs.jquery.com/ticket/1450)\n var status = xhr.status === 1223 ? 204 : xhr.status;\n // fix status code when it is 0 (0 status is undocumented).\n // Occurs when accessing file resources or on Android 4.1 stock browser\n // while retrieving files from application cache.\n if (status === 0) {\n status = response ? 200 : 0;\n }\n if (200 <= status && status <= 300) {\n resolve(response);\n }\n else {\n reject(\"Failed to load \" + url);\n }\n };\n xhr.onerror = function () { reject(\"Failed to load \" + url); };\n xhr.send();\n return promise;\n };\n ResourceLoaderImpl.decorators = [\n { type: _angular_core.Injectable },\n ];\n /** @nocollapse */\n ResourceLoaderImpl.ctorParameters = [];\n return ResourceLoaderImpl;\n }(_angular_compiler.ResourceLoader));\n\n var INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS = [\n INTERNAL_BROWSER_PLATFORM_PROVIDERS,\n {\n provide: _angular_core.COMPILER_OPTIONS,\n useValue: { providers: [{ provide: _angular_compiler.ResourceLoader, useClass: ResourceLoaderImpl }] },\n multi: true\n },\n ];\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var globalScope;\n if (typeof window === 'undefined') {\n if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {\n // TODO: Replace any with WorkerGlobalScope from lib.webworker.d.ts #3492\n globalScope = self;\n }\n else {\n globalScope = global;\n }\n }\n else {\n globalScope = window;\n }\n // Need to declare a new variable for global here since TypeScript\n // exports the original value of the symbol.\n var _global = globalScope;\n // TODO: remove calls to assert in production environment\n // Note: Can't just export this and import in in other files\n // as `assert` is a reserved keyword in Dart\n _global.assert = function assert(condition) {\n // TODO: to be fixed properly via #2830, noop for now\n };\n var NumberWrapper = (function () {\n function NumberWrapper() {\n }\n NumberWrapper.toFixed = function (n, fractionDigits) { return n.toFixed(fractionDigits); };\n NumberWrapper.equal = function (a, b) { return a === b; };\n NumberWrapper.parseIntAutoRadix = function (text) {\n var result = parseInt(text);\n if (isNaN(result)) {\n throw new Error('Invalid integer literal when parsing ' + text);\n }\n return result;\n };\n NumberWrapper.parseInt = function (text, radix) {\n if (radix == 10) {\n if (/^(\\-|\\+)?[0-9]+$/.test(text)) {\n return parseInt(text, radix);\n }\n }\n else if (radix == 16) {\n if (/^(\\-|\\+)?[0-9ABCDEFabcdef]+$/.test(text)) {\n return parseInt(text, radix);\n }\n }\n else {\n var result = parseInt(text, radix);\n if (!isNaN(result)) {\n return result;\n }\n }\n throw new Error('Invalid integer literal when parsing ' + text + ' in base ' + radix);\n };\n Object.defineProperty(NumberWrapper, \"NaN\", {\n get: function () { return NaN; },\n enumerable: true,\n configurable: true\n });\n NumberWrapper.isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };\n NumberWrapper.isNaN = function (value) { return isNaN(value); };\n NumberWrapper.isInteger = function (value) { return Number.isInteger(value); };\n return NumberWrapper;\n }());\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var __extends$1 = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n /**\n * An implementation of ResourceLoader that uses a template cache to avoid doing an actual\n * ResourceLoader.\n *\n * The template cache needs to be built and loaded into window.$templateCache\n * via a separate mechanism.\n */\n var CachedResourceLoader = (function (_super) {\n __extends$1(CachedResourceLoader, _super);\n function CachedResourceLoader() {\n _super.call(this);\n this._cache = _global.$templateCache;\n if (this._cache == null) {\n throw new Error('CachedResourceLoader: Template cache was not found in $templateCache.');\n }\n }\n CachedResourceLoader.prototype.get = function (url) {\n if (this._cache.hasOwnProperty(url)) {\n return Promise.resolve(this._cache[url]);\n }\n else {\n return Promise.reject('CachedResourceLoader: Did not find cached template for ' + url);\n }\n };\n return CachedResourceLoader;\n }(_angular_compiler.ResourceLoader));\n\n var __platform_browser_dynamic_private__ = {\n INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS: INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS,\n ResourceLoaderImpl: ResourceLoaderImpl\n };\n\n /**\n * @experimental\n */\n var RESOURCE_CACHE_PROVIDER = [{ provide: _angular_compiler.ResourceLoader, useClass: CachedResourceLoader }];\n /**\n * @stable\n */\n var platformBrowserDynamic = _angular_core.createPlatformFactory(_angular_compiler.platformCoreDynamic, 'browserDynamic', INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS);\n\n exports.RESOURCE_CACHE_PROVIDER = RESOURCE_CACHE_PROVIDER;\n exports.platformBrowserDynamic = platformBrowserDynamic;\n exports.__platform_browser_dynamic_private__ = __platform_browser_dynamic_private__;\n\n}));\n\n\n\n/*****************\n ** WEBPACK FOOTER\n ** ./~/@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js\n ** module id = 311\n ** module chunks = 0\n **/","/**\n * @license Angular v2.1.0\n * (c) 2010-2016 Google, Inc. https://angular.io/\n * License: MIT\n */\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core')) :\n typeof define === 'function' && define.amd ? define(['exports', '@angular/core'], factory) :\n (factory((global.ng = global.ng || {}, global.ng.compiler = global.ng.compiler || {}),global.ng.core));\n}(this, function (exports,_angular_core) { 'use strict';\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n /**\n * A segment of text within the template.\n */\n var TextAst = (function () {\n function TextAst(value, ngContentIndex, sourceSpan) {\n this.value = value;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n TextAst.prototype.visit = function (visitor, context) { return visitor.visitText(this, context); };\n return TextAst;\n }());\n /**\n * A bound expression within the text of a template.\n */\n var BoundTextAst = (function () {\n function BoundTextAst(value, ngContentIndex, sourceSpan) {\n this.value = value;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n BoundTextAst.prototype.visit = function (visitor, context) {\n return visitor.visitBoundText(this, context);\n };\n return BoundTextAst;\n }());\n /**\n * A plain attribute on an element.\n */\n var AttrAst = (function () {\n function AttrAst(name, value, sourceSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n AttrAst.prototype.visit = function (visitor, context) { return visitor.visitAttr(this, context); };\n return AttrAst;\n }());\n /**\n * A binding for an element property (e.g. `[property]=\"expression\"`) or an animation trigger (e.g.\n * `[@trigger]=\"stateExp\"`)\n */\n var BoundElementPropertyAst = (function () {\n function BoundElementPropertyAst(name, type, securityContext, value, unit, sourceSpan) {\n this.name = name;\n this.type = type;\n this.securityContext = securityContext;\n this.value = value;\n this.unit = unit;\n this.sourceSpan = sourceSpan;\n }\n BoundElementPropertyAst.prototype.visit = function (visitor, context) {\n return visitor.visitElementProperty(this, context);\n };\n Object.defineProperty(BoundElementPropertyAst.prototype, \"isAnimation\", {\n get: function () { return this.type === exports.PropertyBindingType.Animation; },\n enumerable: true,\n configurable: true\n });\n return BoundElementPropertyAst;\n }());\n /**\n * A binding for an element event (e.g. `(event)=\"handler()\"`) or an animation trigger event (e.g.\n * `(@trigger.phase)=\"callback($event)\"`).\n */\n var BoundEventAst = (function () {\n function BoundEventAst(name, target, phase, handler, sourceSpan) {\n this.name = name;\n this.target = target;\n this.phase = phase;\n this.handler = handler;\n this.sourceSpan = sourceSpan;\n }\n BoundEventAst.prototype.visit = function (visitor, context) {\n return visitor.visitEvent(this, context);\n };\n Object.defineProperty(BoundEventAst.prototype, \"fullName\", {\n get: function () {\n if (this.target) {\n return this.target + \":\" + this.name;\n }\n else {\n return this.name;\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BoundEventAst.prototype, \"isAnimation\", {\n get: function () { return !!this.phase; },\n enumerable: true,\n configurable: true\n });\n return BoundEventAst;\n }());\n /**\n * A reference declaration on an element (e.g. `let someName=\"expression\"`).\n */\n var ReferenceAst = (function () {\n function ReferenceAst(name, value, sourceSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n ReferenceAst.prototype.visit = function (visitor, context) {\n return visitor.visitReference(this, context);\n };\n return ReferenceAst;\n }());\n /**\n * A variable declaration on a (e.g. `var-someName=\"someLocalName\"`).\n */\n var VariableAst = (function () {\n function VariableAst(name, value, sourceSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n VariableAst.prototype.visit = function (visitor, context) {\n return visitor.visitVariable(this, context);\n };\n return VariableAst;\n }());\n /**\n * An element declaration in a template.\n */\n var ElementAst = (function () {\n function ElementAst(name, attrs, inputs, outputs, references, directives, providers, hasViewContainer, children, ngContentIndex, sourceSpan, endSourceSpan) {\n this.name = name;\n this.attrs = attrs;\n this.inputs = inputs;\n this.outputs = outputs;\n this.references = references;\n this.directives = directives;\n this.providers = providers;\n this.hasViewContainer = hasViewContainer;\n this.children = children;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n ElementAst.prototype.visit = function (visitor, context) {\n return visitor.visitElement(this, context);\n };\n return ElementAst;\n }());\n /**\n * A `` element included in an Angular template.\n */\n var EmbeddedTemplateAst = (function () {\n function EmbeddedTemplateAst(attrs, outputs, references, variables, directives, providers, hasViewContainer, children, ngContentIndex, sourceSpan) {\n this.attrs = attrs;\n this.outputs = outputs;\n this.references = references;\n this.variables = variables;\n this.directives = directives;\n this.providers = providers;\n this.hasViewContainer = hasViewContainer;\n this.children = children;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n EmbeddedTemplateAst.prototype.visit = function (visitor, context) {\n return visitor.visitEmbeddedTemplate(this, context);\n };\n return EmbeddedTemplateAst;\n }());\n /**\n * A directive property with a bound value (e.g. `*ngIf=\"condition\").\n */\n var BoundDirectivePropertyAst = (function () {\n function BoundDirectivePropertyAst(directiveName, templateName, value, sourceSpan) {\n this.directiveName = directiveName;\n this.templateName = templateName;\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n BoundDirectivePropertyAst.prototype.visit = function (visitor, context) {\n return visitor.visitDirectiveProperty(this, context);\n };\n return BoundDirectivePropertyAst;\n }());\n /**\n * A directive declared on an element.\n */\n var DirectiveAst = (function () {\n function DirectiveAst(directive, inputs, hostProperties, hostEvents, sourceSpan) {\n this.directive = directive;\n this.inputs = inputs;\n this.hostProperties = hostProperties;\n this.hostEvents = hostEvents;\n this.sourceSpan = sourceSpan;\n }\n DirectiveAst.prototype.visit = function (visitor, context) {\n return visitor.visitDirective(this, context);\n };\n return DirectiveAst;\n }());\n /**\n * A provider declared on an element\n */\n var ProviderAst = (function () {\n function ProviderAst(token, multiProvider, eager, providers, providerType, lifecycleHooks, sourceSpan) {\n this.token = token;\n this.multiProvider = multiProvider;\n this.eager = eager;\n this.providers = providers;\n this.providerType = providerType;\n this.lifecycleHooks = lifecycleHooks;\n this.sourceSpan = sourceSpan;\n }\n ProviderAst.prototype.visit = function (visitor, context) {\n // No visit method in the visitor for now...\n return null;\n };\n return ProviderAst;\n }());\n exports.ProviderAstType;\n (function (ProviderAstType) {\n ProviderAstType[ProviderAstType[\"PublicService\"] = 0] = \"PublicService\";\n ProviderAstType[ProviderAstType[\"PrivateService\"] = 1] = \"PrivateService\";\n ProviderAstType[ProviderAstType[\"Component\"] = 2] = \"Component\";\n ProviderAstType[ProviderAstType[\"Directive\"] = 3] = \"Directive\";\n ProviderAstType[ProviderAstType[\"Builtin\"] = 4] = \"Builtin\";\n })(exports.ProviderAstType || (exports.ProviderAstType = {}));\n /**\n * Position where content is to be projected (instance of `` in a template).\n */\n var NgContentAst = (function () {\n function NgContentAst(index, ngContentIndex, sourceSpan) {\n this.index = index;\n this.ngContentIndex = ngContentIndex;\n this.sourceSpan = sourceSpan;\n }\n NgContentAst.prototype.visit = function (visitor, context) {\n return visitor.visitNgContent(this, context);\n };\n return NgContentAst;\n }());\n /**\n * Enumeration of types of property bindings.\n */\n exports.PropertyBindingType;\n (function (PropertyBindingType) {\n /**\n * A normal binding to a property (e.g. `[property]=\"expression\"`).\n */\n PropertyBindingType[PropertyBindingType[\"Property\"] = 0] = \"Property\";\n /**\n * A binding to an element attribute (e.g. `[attr.name]=\"expression\"`).\n */\n PropertyBindingType[PropertyBindingType[\"Attribute\"] = 1] = \"Attribute\";\n /**\n * A binding to a CSS class (e.g. `[class.name]=\"condition\"`).\n */\n PropertyBindingType[PropertyBindingType[\"Class\"] = 2] = \"Class\";\n /**\n * A binding to a style rule (e.g. `[style.rule]=\"expression\"`).\n */\n PropertyBindingType[PropertyBindingType[\"Style\"] = 3] = \"Style\";\n /**\n * A binding to an animation reference (e.g. `[animate.key]=\"expression\"`).\n */\n PropertyBindingType[PropertyBindingType[\"Animation\"] = 4] = \"Animation\";\n })(exports.PropertyBindingType || (exports.PropertyBindingType = {}));\n /**\n * Visit every node in a list of {@link TemplateAst}s with the given {@link TemplateAstVisitor}.\n */\n function templateVisitAll(visitor, asts, context) {\n if (context === void 0) { context = null; }\n var result = [];\n var visit = visitor.visit ?\n function (ast) { return visitor.visit(ast, context) || ast.visit(visitor, context); } :\n function (ast) { return ast.visit(visitor, context); };\n asts.forEach(function (ast) {\n var astResult = visit(ast);\n if (astResult) {\n result.push(astResult);\n }\n });\n return result;\n }\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var globalScope;\n if (typeof window === 'undefined') {\n if (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope) {\n // TODO: Replace any with WorkerGlobalScope from lib.webworker.d.ts #3492\n globalScope = self;\n }\n else {\n globalScope = global;\n }\n }\n else {\n globalScope = window;\n }\n // Need to declare a new variable for global here since TypeScript\n // exports the original value of the symbol.\n var global$1 = globalScope;\n // TODO: remove calls to assert in production environment\n // Note: Can't just export this and import in in other files\n // as `assert` is a reserved keyword in Dart\n global$1.assert = function assert(condition) {\n // TODO: to be fixed properly via #2830, noop for now\n };\n function isPresent(obj) {\n return obj !== undefined && obj !== null;\n }\n function isBlank(obj) {\n return obj === undefined || obj === null;\n }\n function isString(obj) {\n return typeof obj === 'string';\n }\n function isStringMap(obj) {\n return typeof obj === 'object' && obj !== null;\n }\n var STRING_MAP_PROTO = Object.getPrototypeOf({});\n function isStrictStringMap(obj) {\n return isStringMap(obj) && Object.getPrototypeOf(obj) === STRING_MAP_PROTO;\n }\n function isArray(obj) {\n return Array.isArray(obj);\n }\n function stringify(token) {\n if (typeof token === 'string') {\n return token;\n }\n if (token === undefined || token === null) {\n return '' + token;\n }\n if (token.overriddenName) {\n return token.overriddenName;\n }\n if (token.name) {\n return token.name;\n }\n var res = token.toString();\n var newLineIndex = res.indexOf('\\n');\n return newLineIndex === -1 ? res : res.substring(0, newLineIndex);\n }\n var StringJoiner = (function () {\n function StringJoiner(parts) {\n if (parts === void 0) { parts = []; }\n this.parts = parts;\n }\n StringJoiner.prototype.add = function (part) { this.parts.push(part); };\n StringJoiner.prototype.toString = function () { return this.parts.join(''); };\n return StringJoiner;\n }());\n var NumberWrapper = (function () {\n function NumberWrapper() {\n }\n NumberWrapper.toFixed = function (n, fractionDigits) { return n.toFixed(fractionDigits); };\n NumberWrapper.equal = function (a, b) { return a === b; };\n NumberWrapper.parseIntAutoRadix = function (text) {\n var result = parseInt(text);\n if (isNaN(result)) {\n throw new Error('Invalid integer literal when parsing ' + text);\n }\n return result;\n };\n NumberWrapper.parseInt = function (text, radix) {\n if (radix == 10) {\n if (/^(\\-|\\+)?[0-9]+$/.test(text)) {\n return parseInt(text, radix);\n }\n }\n else if (radix == 16) {\n if (/^(\\-|\\+)?[0-9ABCDEFabcdef]+$/.test(text)) {\n return parseInt(text, radix);\n }\n }\n else {\n var result = parseInt(text, radix);\n if (!isNaN(result)) {\n return result;\n }\n }\n throw new Error('Invalid integer literal when parsing ' + text + ' in base ' + radix);\n };\n Object.defineProperty(NumberWrapper, \"NaN\", {\n get: function () { return NaN; },\n enumerable: true,\n configurable: true\n });\n NumberWrapper.isNumeric = function (value) { return !isNaN(value - parseFloat(value)); };\n NumberWrapper.isNaN = function (value) { return isNaN(value); };\n NumberWrapper.isInteger = function (value) { return Number.isInteger(value); };\n return NumberWrapper;\n }());\n function normalizeBlank(obj) {\n return isBlank(obj) ? null : obj;\n }\n function normalizeBool(obj) {\n return isBlank(obj) ? false : obj;\n }\n function isJsObject(o) {\n return o !== null && (typeof o === 'function' || typeof o === 'object');\n }\n function evalExpression(sourceUrl, expr, declarations, vars) {\n var fnBody = declarations + \"\\nreturn \" + expr + \"\\n//# sourceURL=\" + sourceUrl;\n var fnArgNames = [];\n var fnArgValues = [];\n for (var argName in vars) {\n fnArgNames.push(argName);\n fnArgValues.push(vars[argName]);\n }\n return new (Function.bind.apply(Function, [void 0].concat(fnArgNames.concat(fnBody))))().apply(void 0, fnArgValues);\n }\n function isPrimitive(obj) {\n return !isJsObject(obj);\n }\n function escapeRegExp(s) {\n return s.replace(/([.*+?^=!:${}()|[\\]\\/\\\\])/g, '\\\\$1');\n }\n\n // Safari and Internet Explorer do not support the iterable parameter to the\n // Map constructor. We work around that by manually adding the items.\n var createMapFromPairs = (function () {\n try {\n if (new Map([[1, 2]]).size === 1) {\n return function createMapFromPairs(pairs) { return new Map(pairs); };\n }\n }\n catch (e) {\n }\n return function createMapAndPopulateFromPairs(pairs) {\n var map = new Map();\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i];\n map.set(pair[0], pair[1]);\n }\n return map;\n };\n })();\n var _clearValues = (function () {\n if ((new Map()).keys().next) {\n return function _clearValues(m) {\n var keyIterator = m.keys();\n var k;\n while (!((k = keyIterator.next()).done)) {\n m.set(k.value, null);\n }\n };\n }\n else {\n return function _clearValuesWithForeEach(m) {\n m.forEach(function (v, k) { m.set(k, null); });\n };\n }\n })();\n // Safari doesn't implement MapIterator.next(), which is used is Traceur's polyfill of Array.from\n // TODO(mlaval): remove the work around once we have a working polyfill of Array.from\n var _arrayFromMap = (function () {\n try {\n if ((new Map()).values().next) {\n return function createArrayFromMap(m, getValues) {\n return getValues ? Array.from(m.values()) : Array.from(m.keys());\n };\n }\n }\n catch (e) {\n }\n return function createArrayFromMapWithForeach(m, getValues) {\n var res = new Array(m.size), i = 0;\n m.forEach(function (v, k) {\n res[i] = getValues ? v : k;\n i++;\n });\n return res;\n };\n })();\n var MapWrapper = (function () {\n function MapWrapper() {\n }\n MapWrapper.createFromStringMap = function (stringMap) {\n var result = new Map();\n for (var prop in stringMap) {\n result.set(prop, stringMap[prop]);\n }\n return result;\n };\n MapWrapper.toStringMap = function (m) {\n var r = {};\n m.forEach(function (v, k) { return r[k] = v; });\n return r;\n };\n MapWrapper.createFromPairs = function (pairs) { return createMapFromPairs(pairs); };\n MapWrapper.iterable = function (m) { return m; };\n MapWrapper.keys = function (m) { return _arrayFromMap(m, false); };\n MapWrapper.values = function (m) { return _arrayFromMap(m, true); };\n return MapWrapper;\n }());\n /**\n * Wraps Javascript Objects\n */\n var StringMapWrapper = (function () {\n function StringMapWrapper() {\n }\n StringMapWrapper.merge = function (m1, m2) {\n var m = {};\n for (var _i = 0, _a = Object.keys(m1); _i < _a.length; _i++) {\n var k = _a[_i];\n m[k] = m1[k];\n }\n for (var _b = 0, _c = Object.keys(m2); _b < _c.length; _b++) {\n var k = _c[_b];\n m[k] = m2[k];\n }\n return m;\n };\n StringMapWrapper.equals = function (m1, m2) {\n var k1 = Object.keys(m1);\n var k2 = Object.keys(m2);\n if (k1.length != k2.length) {\n return false;\n }\n for (var i = 0; i < k1.length; i++) {\n var key = k1[i];\n if (m1[key] !== m2[key]) {\n return false;\n }\n }\n return true;\n };\n return StringMapWrapper;\n }());\n var ListWrapper = (function () {\n function ListWrapper() {\n }\n // JS has no way to express a statically fixed size list, but dart does so we\n // keep both methods.\n ListWrapper.createFixedSize = function (size) { return new Array(size); };\n ListWrapper.createGrowableSize = function (size) { return new Array(size); };\n ListWrapper.clone = function (array) { return array.slice(0); };\n ListWrapper.forEachWithIndex = function (array, fn) {\n for (var i = 0; i < array.length; i++) {\n fn(array[i], i);\n }\n };\n ListWrapper.first = function (array) {\n if (!array)\n return null;\n return array[0];\n };\n ListWrapper.last = function (array) {\n if (!array || array.length == 0)\n return null;\n return array[array.length - 1];\n };\n ListWrapper.indexOf = function (array, value, startIndex) {\n if (startIndex === void 0) { startIndex = 0; }\n return array.indexOf(value, startIndex);\n };\n ListWrapper.contains = function (list, el) { return list.indexOf(el) !== -1; };\n ListWrapper.reversed = function (array) {\n var a = ListWrapper.clone(array);\n return a.reverse();\n };\n ListWrapper.concat = function (a, b) { return a.concat(b); };\n ListWrapper.insert = function (list, index, value) { list.splice(index, 0, value); };\n ListWrapper.removeAt = function (list, index) {\n var res = list[index];\n list.splice(index, 1);\n return res;\n };\n ListWrapper.removeAll = function (list, items) {\n for (var i = 0; i < items.length; ++i) {\n var index = list.indexOf(items[i]);\n list.splice(index, 1);\n }\n };\n ListWrapper.remove = function (list, el) {\n var index = list.indexOf(el);\n if (index > -1) {\n list.splice(index, 1);\n return true;\n }\n return false;\n };\n ListWrapper.clear = function (list) { list.length = 0; };\n ListWrapper.isEmpty = function (list) { return list.length == 0; };\n ListWrapper.fill = function (list, value, start, end) {\n if (start === void 0) { start = 0; }\n if (end === void 0) { end = null; }\n list.fill(value, start, end === null ? list.length : end);\n };\n ListWrapper.equals = function (a, b) {\n if (a.length != b.length)\n return false;\n for (var i = 0; i < a.length; ++i) {\n if (a[i] !== b[i])\n return false;\n }\n return true;\n };\n ListWrapper.slice = function (l, from, to) {\n if (from === void 0) { from = 0; }\n if (to === void 0) { to = null; }\n return l.slice(from, to === null ? undefined : to);\n };\n ListWrapper.splice = function (l, from, length) { return l.splice(from, length); };\n ListWrapper.sort = function (l, compareFn) {\n if (isPresent(compareFn)) {\n l.sort(compareFn);\n }\n else {\n l.sort();\n }\n };\n ListWrapper.toString = function (l) { return l.toString(); };\n ListWrapper.toJSON = function (l) { return JSON.stringify(l); };\n ListWrapper.maximum = function (list, predicate) {\n if (list.length == 0) {\n return null;\n }\n var solution = null;\n var maxValue = -Infinity;\n for (var index = 0; index < list.length; index++) {\n var candidate = list[index];\n if (isBlank(candidate)) {\n continue;\n }\n var candidateValue = predicate(candidate);\n if (candidateValue > maxValue) {\n solution = candidate;\n maxValue = candidateValue;\n }\n }\n return solution;\n };\n ListWrapper.flatten = function (list) {\n var target = [];\n _flattenArray(list, target);\n return target;\n };\n ListWrapper.addAll = function (list, source) {\n for (var i = 0; i < source.length; i++) {\n list.push(source[i]);\n }\n };\n return ListWrapper;\n }());\n function _flattenArray(source, target) {\n if (isPresent(source)) {\n for (var i = 0; i < source.length; i++) {\n var item = source[i];\n if (isArray(item)) {\n _flattenArray(item, target);\n }\n else {\n target.push(item);\n }\n }\n }\n return target;\n }\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var TagContentType;\n (function (TagContentType) {\n TagContentType[TagContentType[\"RAW_TEXT\"] = 0] = \"RAW_TEXT\";\n TagContentType[TagContentType[\"ESCAPABLE_RAW_TEXT\"] = 1] = \"ESCAPABLE_RAW_TEXT\";\n TagContentType[TagContentType[\"PARSABLE_DATA\"] = 2] = \"PARSABLE_DATA\";\n })(TagContentType || (TagContentType = {}));\n function splitNsName(elementName) {\n if (elementName[0] != ':') {\n return [null, elementName];\n }\n var colonIndex = elementName.indexOf(':', 1);\n if (colonIndex == -1) {\n throw new Error(\"Unsupported format \\\"\" + elementName + \"\\\" expecting \\\":namespace:name\\\"\");\n }\n return [elementName.slice(1, colonIndex), elementName.slice(colonIndex + 1)];\n }\n function getNsPrefix(fullName) {\n return fullName === null ? null : splitNsName(fullName)[0];\n }\n function mergeNsAndName(prefix, localName) {\n return prefix ? \":\" + prefix + \":\" + localName : localName;\n }\n // see http://www.w3.org/TR/html51/syntax.html#named-character-references\n // see https://html.spec.whatwg.org/multipage/entities.json\n // This list is not exhaustive to keep the compiler footprint low.\n // The `{` / `ƫ` syntax should be used when the named character reference does not exist.\n var NAMED_ENTITIES = {\n 'Aacute': '\\u00C1',\n 'aacute': '\\u00E1',\n 'Acirc': '\\u00C2',\n 'acirc': '\\u00E2',\n 'acute': '\\u00B4',\n 'AElig': '\\u00C6',\n 'aelig': '\\u00E6',\n 'Agrave': '\\u00C0',\n 'agrave': '\\u00E0',\n 'alefsym': '\\u2135',\n 'Alpha': '\\u0391',\n 'alpha': '\\u03B1',\n 'amp': '&',\n 'and': '\\u2227',\n 'ang': '\\u2220',\n 'apos': '\\u0027',\n 'Aring': '\\u00C5',\n 'aring': '\\u00E5',\n 'asymp': '\\u2248',\n 'Atilde': '\\u00C3',\n 'atilde': '\\u00E3',\n 'Auml': '\\u00C4',\n 'auml': '\\u00E4',\n 'bdquo': '\\u201E',\n 'Beta': '\\u0392',\n 'beta': '\\u03B2',\n 'brvbar': '\\u00A6',\n 'bull': '\\u2022',\n 'cap': '\\u2229',\n 'Ccedil': '\\u00C7',\n 'ccedil': '\\u00E7',\n 'cedil': '\\u00B8',\n 'cent': '\\u00A2',\n 'Chi': '\\u03A7',\n 'chi': '\\u03C7',\n 'circ': '\\u02C6',\n 'clubs': '\\u2663',\n 'cong': '\\u2245',\n 'copy': '\\u00A9',\n 'crarr': '\\u21B5',\n 'cup': '\\u222A',\n 'curren': '\\u00A4',\n 'dagger': '\\u2020',\n 'Dagger': '\\u2021',\n 'darr': '\\u2193',\n 'dArr': '\\u21D3',\n 'deg': '\\u00B0',\n 'Delta': '\\u0394',\n 'delta': '\\u03B4',\n 'diams': '\\u2666',\n 'divide': '\\u00F7',\n 'Eacute': '\\u00C9',\n 'eacute': '\\u00E9',\n 'Ecirc': '\\u00CA',\n 'ecirc': '\\u00EA',\n 'Egrave': '\\u00C8',\n 'egrave': '\\u00E8',\n 'empty': '\\u2205',\n 'emsp': '\\u2003',\n 'ensp': '\\u2002',\n 'Epsilon': '\\u0395',\n 'epsilon': '\\u03B5',\n 'equiv': '\\u2261',\n 'Eta': '\\u0397',\n 'eta': '\\u03B7',\n 'ETH': '\\u00D0',\n 'eth': '\\u00F0',\n 'Euml': '\\u00CB',\n 'euml': '\\u00EB',\n 'euro': '\\u20AC',\n 'exist': '\\u2203',\n 'fnof': '\\u0192',\n 'forall': '\\u2200',\n 'frac12': '\\u00BD',\n 'frac14': '\\u00BC',\n 'frac34': '\\u00BE',\n 'frasl': '\\u2044',\n 'Gamma': '\\u0393',\n 'gamma': '\\u03B3',\n 'ge': '\\u2265',\n 'gt': '>',\n 'harr': '\\u2194',\n 'hArr': '\\u21D4',\n 'hearts': '\\u2665',\n 'hellip': '\\u2026',\n 'Iacute': '\\u00CD',\n 'iacute': '\\u00ED',\n 'Icirc': '\\u00CE',\n 'icirc': '\\u00EE',\n 'iexcl': '\\u00A1',\n 'Igrave': '\\u00CC',\n 'igrave': '\\u00EC',\n 'image': '\\u2111',\n 'infin': '\\u221E',\n 'int': '\\u222B',\n 'Iota': '\\u0399',\n 'iota': '\\u03B9',\n 'iquest': '\\u00BF',\n 'isin': '\\u2208',\n 'Iuml': '\\u00CF',\n 'iuml': '\\u00EF',\n 'Kappa': '\\u039A',\n 'kappa': '\\u03BA',\n 'Lambda': '\\u039B',\n 'lambda': '\\u03BB',\n 'lang': '\\u27E8',\n 'laquo': '\\u00AB',\n 'larr': '\\u2190',\n 'lArr': '\\u21D0',\n 'lceil': '\\u2308',\n 'ldquo': '\\u201C',\n 'le': '\\u2264',\n 'lfloor': '\\u230A',\n 'lowast': '\\u2217',\n 'loz': '\\u25CA',\n 'lrm': '\\u200E',\n 'lsaquo': '\\u2039',\n 'lsquo': '\\u2018',\n 'lt': '<',\n 'macr': '\\u00AF',\n 'mdash': '\\u2014',\n 'micro': '\\u00B5',\n 'middot': '\\u00B7',\n 'minus': '\\u2212',\n 'Mu': '\\u039C',\n 'mu': '\\u03BC',\n 'nabla': '\\u2207',\n 'nbsp': '\\u00A0',\n 'ndash': '\\u2013',\n 'ne': '\\u2260',\n 'ni': '\\u220B',\n 'not': '\\u00AC',\n 'notin': '\\u2209',\n 'nsub': '\\u2284',\n 'Ntilde': '\\u00D1',\n 'ntilde': '\\u00F1',\n 'Nu': '\\u039D',\n 'nu': '\\u03BD',\n 'Oacute': '\\u00D3',\n 'oacute': '\\u00F3',\n 'Ocirc': '\\u00D4',\n 'ocirc': '\\u00F4',\n 'OElig': '\\u0152',\n 'oelig': '\\u0153',\n 'Ograve': '\\u00D2',\n 'ograve': '\\u00F2',\n 'oline': '\\u203E',\n 'Omega': '\\u03A9',\n 'omega': '\\u03C9',\n 'Omicron': '\\u039F',\n 'omicron': '\\u03BF',\n 'oplus': '\\u2295',\n 'or': '\\u2228',\n 'ordf': '\\u00AA',\n 'ordm': '\\u00BA',\n 'Oslash': '\\u00D8',\n 'oslash': '\\u00F8',\n 'Otilde': '\\u00D5',\n 'otilde': '\\u00F5',\n 'otimes': '\\u2297',\n 'Ouml': '\\u00D6',\n 'ouml': '\\u00F6',\n 'para': '\\u00B6',\n 'permil': '\\u2030',\n 'perp': '\\u22A5',\n 'Phi': '\\u03A6',\n 'phi': '\\u03C6',\n 'Pi': '\\u03A0',\n 'pi': '\\u03C0',\n 'piv': '\\u03D6',\n 'plusmn': '\\u00B1',\n 'pound': '\\u00A3',\n 'prime': '\\u2032',\n 'Prime': '\\u2033',\n 'prod': '\\u220F',\n 'prop': '\\u221D',\n 'Psi': '\\u03A8',\n 'psi': '\\u03C8',\n 'quot': '\\u0022',\n 'radic': '\\u221A',\n 'rang': '\\u27E9',\n 'raquo': '\\u00BB',\n 'rarr': '\\u2192',\n 'rArr': '\\u21D2',\n 'rceil': '\\u2309',\n 'rdquo': '\\u201D',\n 'real': '\\u211C',\n 'reg': '\\u00AE',\n 'rfloor': '\\u230B',\n 'Rho': '\\u03A1',\n 'rho': '\\u03C1',\n 'rlm': '\\u200F',\n 'rsaquo': '\\u203A',\n 'rsquo': '\\u2019',\n 'sbquo': '\\u201A',\n 'Scaron': '\\u0160',\n 'scaron': '\\u0161',\n 'sdot': '\\u22C5',\n 'sect': '\\u00A7',\n 'shy': '\\u00AD',\n 'Sigma': '\\u03A3',\n 'sigma': '\\u03C3',\n 'sigmaf': '\\u03C2',\n 'sim': '\\u223C',\n 'spades': '\\u2660',\n 'sub': '\\u2282',\n 'sube': '\\u2286',\n 'sum': '\\u2211',\n 'sup': '\\u2283',\n 'sup1': '\\u00B9',\n 'sup2': '\\u00B2',\n 'sup3': '\\u00B3',\n 'supe': '\\u2287',\n 'szlig': '\\u00DF',\n 'Tau': '\\u03A4',\n 'tau': '\\u03C4',\n 'there4': '\\u2234',\n 'Theta': '\\u0398',\n 'theta': '\\u03B8',\n 'thetasym': '\\u03D1',\n 'thinsp': '\\u2009',\n 'THORN': '\\u00DE',\n 'thorn': '\\u00FE',\n 'tilde': '\\u02DC',\n 'times': '\\u00D7',\n 'trade': '\\u2122',\n 'Uacute': '\\u00DA',\n 'uacute': '\\u00FA',\n 'uarr': '\\u2191',\n 'uArr': '\\u21D1',\n 'Ucirc': '\\u00DB',\n 'ucirc': '\\u00FB',\n 'Ugrave': '\\u00D9',\n 'ugrave': '\\u00F9',\n 'uml': '\\u00A8',\n 'upsih': '\\u03D2',\n 'Upsilon': '\\u03A5',\n 'upsilon': '\\u03C5',\n 'Uuml': '\\u00DC',\n 'uuml': '\\u00FC',\n 'weierp': '\\u2118',\n 'Xi': '\\u039E',\n 'xi': '\\u03BE',\n 'Yacute': '\\u00DD',\n 'yacute': '\\u00FD',\n 'yen': '\\u00A5',\n 'yuml': '\\u00FF',\n 'Yuml': '\\u0178',\n 'Zeta': '\\u0396',\n 'zeta': '\\u03B6',\n 'zwj': '\\u200D',\n 'zwnj': '\\u200C',\n };\n\n var HtmlTagDefinition = (function () {\n function HtmlTagDefinition(_a) {\n var _this = this;\n var _b = _a === void 0 ? {} : _a, closedByChildren = _b.closedByChildren, requiredParents = _b.requiredParents, implicitNamespacePrefix = _b.implicitNamespacePrefix, _c = _b.contentType, contentType = _c === void 0 ? TagContentType.PARSABLE_DATA : _c, _d = _b.closedByParent, closedByParent = _d === void 0 ? false : _d, _e = _b.isVoid, isVoid = _e === void 0 ? false : _e, _f = _b.ignoreFirstLf, ignoreFirstLf = _f === void 0 ? false : _f;\n this.closedByChildren = {};\n this.closedByParent = false;\n this.canSelfClose = false;\n if (closedByChildren && closedByChildren.length > 0) {\n closedByChildren.forEach(function (tagName) { return _this.closedByChildren[tagName] = true; });\n }\n this.isVoid = isVoid;\n this.closedByParent = closedByParent || isVoid;\n if (requiredParents && requiredParents.length > 0) {\n this.requiredParents = {};\n // The first parent is the list is automatically when none of the listed parents are present\n this.parentToAdd = requiredParents[0];\n requiredParents.forEach(function (tagName) { return _this.requiredParents[tagName] = true; });\n }\n this.implicitNamespacePrefix = implicitNamespacePrefix;\n this.contentType = contentType;\n this.ignoreFirstLf = ignoreFirstLf;\n }\n HtmlTagDefinition.prototype.requireExtraParent = function (currentParent) {\n if (!this.requiredParents) {\n return false;\n }\n if (!currentParent) {\n return true;\n }\n var lcParent = currentParent.toLowerCase();\n return this.requiredParents[lcParent] != true && lcParent != 'template';\n };\n HtmlTagDefinition.prototype.isClosedByChild = function (name) {\n return this.isVoid || name.toLowerCase() in this.closedByChildren;\n };\n return HtmlTagDefinition;\n }());\n // see http://www.w3.org/TR/html51/syntax.html#optional-tags\n // This implementation does not fully conform to the HTML5 spec.\n var TAG_DEFINITIONS = {\n 'base': new HtmlTagDefinition({ isVoid: true }),\n 'meta': new HtmlTagDefinition({ isVoid: true }),\n 'area': new HtmlTagDefinition({ isVoid: true }),\n 'embed': new HtmlTagDefinition({ isVoid: true }),\n 'link': new HtmlTagDefinition({ isVoid: true }),\n 'img': new HtmlTagDefinition({ isVoid: true }),\n 'input': new HtmlTagDefinition({ isVoid: true }),\n 'param': new HtmlTagDefinition({ isVoid: true }),\n 'hr': new HtmlTagDefinition({ isVoid: true }),\n 'br': new HtmlTagDefinition({ isVoid: true }),\n 'source': new HtmlTagDefinition({ isVoid: true }),\n 'track': new HtmlTagDefinition({ isVoid: true }),\n 'wbr': new HtmlTagDefinition({ isVoid: true }),\n 'p': new HtmlTagDefinition({\n closedByChildren: [\n 'address', 'article', 'aside', 'blockquote', 'div', 'dl', 'fieldset', 'footer', 'form',\n 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hgroup', 'hr',\n 'main', 'nav', 'ol', 'p', 'pre', 'section', 'table', 'ul'\n ],\n closedByParent: true\n }),\n 'thead': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'] }),\n 'tbody': new HtmlTagDefinition({ closedByChildren: ['tbody', 'tfoot'], closedByParent: true }),\n 'tfoot': new HtmlTagDefinition({ closedByChildren: ['tbody'], closedByParent: true }),\n 'tr': new HtmlTagDefinition({\n closedByChildren: ['tr'],\n requiredParents: ['tbody', 'tfoot', 'thead'],\n closedByParent: true\n }),\n 'td': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),\n 'th': new HtmlTagDefinition({ closedByChildren: ['td', 'th'], closedByParent: true }),\n 'col': new HtmlTagDefinition({ requiredParents: ['colgroup'], isVoid: true }),\n 'svg': new HtmlTagDefinition({ implicitNamespacePrefix: 'svg' }),\n 'math': new HtmlTagDefinition({ implicitNamespacePrefix: 'math' }),\n 'li': new HtmlTagDefinition({ closedByChildren: ['li'], closedByParent: true }),\n 'dt': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'] }),\n 'dd': new HtmlTagDefinition({ closedByChildren: ['dt', 'dd'], closedByParent: true }),\n 'rb': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'rt': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'rtc': new HtmlTagDefinition({ closedByChildren: ['rb', 'rtc', 'rp'], closedByParent: true }),\n 'rp': new HtmlTagDefinition({ closedByChildren: ['rb', 'rt', 'rtc', 'rp'], closedByParent: true }),\n 'optgroup': new HtmlTagDefinition({ closedByChildren: ['optgroup'], closedByParent: true }),\n 'option': new HtmlTagDefinition({ closedByChildren: ['option', 'optgroup'], closedByParent: true }),\n 'pre': new HtmlTagDefinition({ ignoreFirstLf: true }),\n 'listing': new HtmlTagDefinition({ ignoreFirstLf: true }),\n 'style': new HtmlTagDefinition({ contentType: TagContentType.RAW_TEXT }),\n 'script': new HtmlTagDefinition({ contentType: TagContentType.RAW_TEXT }),\n 'title': new HtmlTagDefinition({ contentType: TagContentType.ESCAPABLE_RAW_TEXT }),\n 'textarea': new HtmlTagDefinition({ contentType: TagContentType.ESCAPABLE_RAW_TEXT, ignoreFirstLf: true }),\n };\n var _DEFAULT_TAG_DEFINITION = new HtmlTagDefinition();\n function getHtmlTagDefinition(tagName) {\n return TAG_DEFINITIONS[tagName.toLowerCase()] || _DEFAULT_TAG_DEFINITION;\n }\n\n var _SELECTOR_REGEXP = new RegExp('(\\\\:not\\\\()|' +\n '([-\\\\w]+)|' +\n '(?:\\\\.([-\\\\w]+))|' +\n '(?:\\\\[([-\\\\w*]+)(?:=([^\\\\]]*))?\\\\])|' +\n '(\\\\))|' +\n '(\\\\s*,\\\\s*)', // \",\"\n 'g');\n /**\n * A css selector contains an element name,\n * css classes and attribute/value pairs with the purpose\n * of selecting subsets out of them.\n */\n var CssSelector = (function () {\n function CssSelector() {\n this.element = null;\n this.classNames = [];\n this.attrs = [];\n this.notSelectors = [];\n }\n CssSelector.parse = function (selector) {\n var results = [];\n var _addResult = function (res, cssSel) {\n if (cssSel.notSelectors.length > 0 && !cssSel.element && cssSel.classNames.length == 0 &&\n cssSel.attrs.length == 0) {\n cssSel.element = '*';\n }\n res.push(cssSel);\n };\n var cssSelector = new CssSelector();\n var match;\n var current = cssSelector;\n var inNot = false;\n _SELECTOR_REGEXP.lastIndex = 0;\n while (match = _SELECTOR_REGEXP.exec(selector)) {\n if (match[1]) {\n if (inNot) {\n throw new Error('Nesting :not is not allowed in a selector');\n }\n inNot = true;\n current = new CssSelector();\n cssSelector.notSelectors.push(current);\n }\n if (match[2]) {\n current.setElement(match[2]);\n }\n if (match[3]) {\n current.addClassName(match[3]);\n }\n if (match[4]) {\n current.addAttribute(match[4], match[5]);\n }\n if (match[6]) {\n inNot = false;\n current = cssSelector;\n }\n if (match[7]) {\n if (inNot) {\n throw new Error('Multiple selectors in :not are not supported');\n }\n _addResult(results, cssSelector);\n cssSelector = current = new CssSelector();\n }\n }\n _addResult(results, cssSelector);\n return results;\n };\n CssSelector.prototype.isElementSelector = function () {\n return this.hasElementSelector() && this.classNames.length == 0 && this.attrs.length == 0 &&\n this.notSelectors.length === 0;\n };\n CssSelector.prototype.hasElementSelector = function () { return !!this.element; };\n CssSelector.prototype.setElement = function (element) {\n if (element === void 0) { element = null; }\n this.element = element;\n };\n /** Gets a template string for an element that matches the selector. */\n CssSelector.prototype.getMatchingElementTemplate = function () {\n var tagName = this.element || 'div';\n var classAttr = this.classNames.length > 0 ? \" class=\\\"\" + this.classNames.join(' ') + \"\\\"\" : '';\n var attrs = '';\n for (var i = 0; i < this.attrs.length; i += 2) {\n var attrName = this.attrs[i];\n var attrValue = this.attrs[i + 1] !== '' ? \"=\\\"\" + this.attrs[i + 1] + \"\\\"\" : '';\n attrs += \" \" + attrName + attrValue;\n }\n return getHtmlTagDefinition(tagName).isVoid ? \"<\" + tagName + classAttr + attrs + \"/>\" :\n \"<\" + tagName + classAttr + attrs + \">\" + tagName + \">\";\n };\n CssSelector.prototype.addAttribute = function (name, value) {\n if (value === void 0) { value = ''; }\n this.attrs.push(name, value && value.toLowerCase() || '');\n };\n CssSelector.prototype.addClassName = function (name) { this.classNames.push(name.toLowerCase()); };\n CssSelector.prototype.toString = function () {\n var res = this.element || '';\n if (this.classNames) {\n this.classNames.forEach(function (klass) { return res += \".\" + klass; });\n }\n if (this.attrs) {\n for (var i = 0; i < this.attrs.length; i += 2) {\n var name_1 = this.attrs[i];\n var value = this.attrs[i + 1];\n res += \"[\" + name_1 + (value ? '=' + value : '') + \"]\";\n }\n }\n this.notSelectors.forEach(function (notSelector) { return res += \":not(\" + notSelector + \")\"; });\n return res;\n };\n return CssSelector;\n }());\n /**\n * Reads a list of CssSelectors and allows to calculate which ones\n * are contained in a given CssSelector.\n */\n var SelectorMatcher = (function () {\n function SelectorMatcher() {\n this._elementMap = {};\n this._elementPartialMap = {};\n this._classMap = {};\n this._classPartialMap = {};\n this._attrValueMap = {};\n this._attrValuePartialMap = {};\n this._listContexts = [];\n }\n SelectorMatcher.createNotMatcher = function (notSelectors) {\n var notMatcher = new SelectorMatcher();\n notMatcher.addSelectables(notSelectors, null);\n return notMatcher;\n };\n SelectorMatcher.prototype.addSelectables = function (cssSelectors, callbackCtxt) {\n var listContext = null;\n if (cssSelectors.length > 1) {\n listContext = new SelectorListContext(cssSelectors);\n this._listContexts.push(listContext);\n }\n for (var i = 0; i < cssSelectors.length; i++) {\n this._addSelectable(cssSelectors[i], callbackCtxt, listContext);\n }\n };\n /**\n * Add an object that can be found later on by calling `match`.\n * @param cssSelector A css selector\n * @param callbackCtxt An opaque object that will be given to the callback of the `match` function\n */\n SelectorMatcher.prototype._addSelectable = function (cssSelector, callbackCtxt, listContext) {\n var matcher = this;\n var element = cssSelector.element;\n var classNames = cssSelector.classNames;\n var attrs = cssSelector.attrs;\n var selectable = new SelectorContext(cssSelector, callbackCtxt, listContext);\n if (element) {\n var isTerminal = attrs.length === 0 && classNames.length === 0;\n if (isTerminal) {\n this._addTerminal(matcher._elementMap, element, selectable);\n }\n else {\n matcher = this._addPartial(matcher._elementPartialMap, element);\n }\n }\n if (classNames) {\n for (var i = 0; i < classNames.length; i++) {\n var isTerminal = attrs.length === 0 && i === classNames.length - 1;\n var className = classNames[i];\n if (isTerminal) {\n this._addTerminal(matcher._classMap, className, selectable);\n }\n else {\n matcher = this._addPartial(matcher._classPartialMap, className);\n }\n }\n }\n if (attrs) {\n for (var i = 0; i < attrs.length; i += 2) {\n var isTerminal = i === attrs.length - 2;\n var name_2 = attrs[i];\n var value = attrs[i + 1];\n if (isTerminal) {\n var terminalMap = matcher._attrValueMap;\n var terminalValuesMap = terminalMap[name_2];\n if (!terminalValuesMap) {\n terminalValuesMap = {};\n terminalMap[name_2] = terminalValuesMap;\n }\n this._addTerminal(terminalValuesMap, value, selectable);\n }\n else {\n var partialMap = matcher._attrValuePartialMap;\n var partialValuesMap = partialMap[name_2];\n if (!partialValuesMap) {\n partialValuesMap = {};\n partialMap[name_2] = partialValuesMap;\n }\n matcher = this._addPartial(partialValuesMap, value);\n }\n }\n }\n };\n SelectorMatcher.prototype._addTerminal = function (map, name, selectable) {\n var terminalList = map[name];\n if (!terminalList) {\n terminalList = [];\n map[name] = terminalList;\n }\n terminalList.push(selectable);\n };\n SelectorMatcher.prototype._addPartial = function (map, name) {\n var matcher = map[name];\n if (!matcher) {\n matcher = new SelectorMatcher();\n map[name] = matcher;\n }\n return matcher;\n };\n /**\n * Find the objects that have been added via `addSelectable`\n * whose css selector is contained in the given css selector.\n * @param cssSelector A css selector\n * @param matchedCallback This callback will be called with the object handed into `addSelectable`\n * @return boolean true if a match was found\n */\n SelectorMatcher.prototype.match = function (cssSelector, matchedCallback) {\n var result = false;\n var element = cssSelector.element;\n var classNames = cssSelector.classNames;\n var attrs = cssSelector.attrs;\n for (var i = 0; i < this._listContexts.length; i++) {\n this._listContexts[i].alreadyMatched = false;\n }\n result = this._matchTerminal(this._elementMap, element, cssSelector, matchedCallback) || result;\n result = this._matchPartial(this._elementPartialMap, element, cssSelector, matchedCallback) ||\n result;\n if (classNames) {\n for (var i = 0; i < classNames.length; i++) {\n var className = classNames[i];\n result =\n this._matchTerminal(this._classMap, className, cssSelector, matchedCallback) || result;\n result =\n this._matchPartial(this._classPartialMap, className, cssSelector, matchedCallback) ||\n result;\n }\n }\n if (attrs) {\n for (var i = 0; i < attrs.length; i += 2) {\n var name_3 = attrs[i];\n var value = attrs[i + 1];\n var terminalValuesMap = this._attrValueMap[name_3];\n if (value) {\n result =\n this._matchTerminal(terminalValuesMap, '', cssSelector, matchedCallback) || result;\n }\n result =\n this._matchTerminal(terminalValuesMap, value, cssSelector, matchedCallback) || result;\n var partialValuesMap = this._attrValuePartialMap[name_3];\n if (value) {\n result = this._matchPartial(partialValuesMap, '', cssSelector, matchedCallback) || result;\n }\n result =\n this._matchPartial(partialValuesMap, value, cssSelector, matchedCallback) || result;\n }\n }\n return result;\n };\n /** @internal */\n SelectorMatcher.prototype._matchTerminal = function (map, name, cssSelector, matchedCallback) {\n if (!map || typeof name !== 'string') {\n return false;\n }\n var selectables = map[name];\n var starSelectables = map['*'];\n if (starSelectables) {\n selectables = selectables.concat(starSelectables);\n }\n if (!selectables) {\n return false;\n }\n var selectable;\n var result = false;\n for (var i = 0; i < selectables.length; i++) {\n selectable = selectables[i];\n result = selectable.finalize(cssSelector, matchedCallback) || result;\n }\n return result;\n };\n /** @internal */\n SelectorMatcher.prototype._matchPartial = function (map, name, cssSelector, matchedCallback) {\n if (!map || typeof name !== 'string') {\n return false;\n }\n var nestedSelector = map[name];\n if (!nestedSelector) {\n return false;\n }\n // TODO(perf): get rid of recursion and measure again\n // TODO(perf): don't pass the whole selector into the recursion,\n // but only the not processed parts\n return nestedSelector.match(cssSelector, matchedCallback);\n };\n return SelectorMatcher;\n }());\n var SelectorListContext = (function () {\n function SelectorListContext(selectors) {\n this.selectors = selectors;\n this.alreadyMatched = false;\n }\n return SelectorListContext;\n }());\n // Store context to pass back selector and context when a selector is matched\n var SelectorContext = (function () {\n function SelectorContext(selector, cbContext, listContext) {\n this.selector = selector;\n this.cbContext = cbContext;\n this.listContext = listContext;\n this.notSelectors = selector.notSelectors;\n }\n SelectorContext.prototype.finalize = function (cssSelector, callback) {\n var result = true;\n if (this.notSelectors.length > 0 && (!this.listContext || !this.listContext.alreadyMatched)) {\n var notMatcher = SelectorMatcher.createNotMatcher(this.notSelectors);\n result = !notMatcher.match(cssSelector, null);\n }\n if (result && callback && (!this.listContext || !this.listContext.alreadyMatched)) {\n if (this.listContext) {\n this.listContext.alreadyMatched = true;\n }\n callback(this.selector, this.cbContext);\n }\n return result;\n };\n return SelectorContext;\n }());\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var __extends$2 = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n //// Types\n var TypeModifier;\n (function (TypeModifier) {\n TypeModifier[TypeModifier[\"Const\"] = 0] = \"Const\";\n })(TypeModifier || (TypeModifier = {}));\n var Type$1 = (function () {\n function Type(modifiers) {\n if (modifiers === void 0) { modifiers = null; }\n this.modifiers = modifiers;\n if (!modifiers) {\n this.modifiers = [];\n }\n }\n Type.prototype.hasModifier = function (modifier) { return this.modifiers.indexOf(modifier) !== -1; };\n return Type;\n }());\n var BuiltinTypeName;\n (function (BuiltinTypeName) {\n BuiltinTypeName[BuiltinTypeName[\"Dynamic\"] = 0] = \"Dynamic\";\n BuiltinTypeName[BuiltinTypeName[\"Bool\"] = 1] = \"Bool\";\n BuiltinTypeName[BuiltinTypeName[\"String\"] = 2] = \"String\";\n BuiltinTypeName[BuiltinTypeName[\"Int\"] = 3] = \"Int\";\n BuiltinTypeName[BuiltinTypeName[\"Number\"] = 4] = \"Number\";\n BuiltinTypeName[BuiltinTypeName[\"Function\"] = 5] = \"Function\";\n })(BuiltinTypeName || (BuiltinTypeName = {}));\n var BuiltinType = (function (_super) {\n __extends$2(BuiltinType, _super);\n function BuiltinType(name, modifiers) {\n if (modifiers === void 0) { modifiers = null; }\n _super.call(this, modifiers);\n this.name = name;\n }\n BuiltinType.prototype.visitType = function (visitor, context) {\n return visitor.visitBuiltintType(this, context);\n };\n return BuiltinType;\n }(Type$1));\n var ExternalType = (function (_super) {\n __extends$2(ExternalType, _super);\n function ExternalType(value, typeParams, modifiers) {\n if (typeParams === void 0) { typeParams = null; }\n if (modifiers === void 0) { modifiers = null; }\n _super.call(this, modifiers);\n this.value = value;\n this.typeParams = typeParams;\n }\n ExternalType.prototype.visitType = function (visitor, context) {\n return visitor.visitExternalType(this, context);\n };\n return ExternalType;\n }(Type$1));\n var ArrayType = (function (_super) {\n __extends$2(ArrayType, _super);\n function ArrayType(of, modifiers) {\n if (modifiers === void 0) { modifiers = null; }\n _super.call(this, modifiers);\n this.of = of;\n }\n ArrayType.prototype.visitType = function (visitor, context) {\n return visitor.visitArrayType(this, context);\n };\n return ArrayType;\n }(Type$1));\n var MapType = (function (_super) {\n __extends$2(MapType, _super);\n function MapType(valueType, modifiers) {\n if (modifiers === void 0) { modifiers = null; }\n _super.call(this, modifiers);\n this.valueType = valueType;\n }\n MapType.prototype.visitType = function (visitor, context) { return visitor.visitMapType(this, context); };\n return MapType;\n }(Type$1));\n var DYNAMIC_TYPE = new BuiltinType(BuiltinTypeName.Dynamic);\n var BOOL_TYPE = new BuiltinType(BuiltinTypeName.Bool);\n var INT_TYPE = new BuiltinType(BuiltinTypeName.Int);\n var NUMBER_TYPE = new BuiltinType(BuiltinTypeName.Number);\n var STRING_TYPE = new BuiltinType(BuiltinTypeName.String);\n var FUNCTION_TYPE = new BuiltinType(BuiltinTypeName.Function);\n ///// Expressions\n var BinaryOperator;\n (function (BinaryOperator) {\n BinaryOperator[BinaryOperator[\"Equals\"] = 0] = \"Equals\";\n BinaryOperator[BinaryOperator[\"NotEquals\"] = 1] = \"NotEquals\";\n BinaryOperator[BinaryOperator[\"Identical\"] = 2] = \"Identical\";\n BinaryOperator[BinaryOperator[\"NotIdentical\"] = 3] = \"NotIdentical\";\n BinaryOperator[BinaryOperator[\"Minus\"] = 4] = \"Minus\";\n BinaryOperator[BinaryOperator[\"Plus\"] = 5] = \"Plus\";\n BinaryOperator[BinaryOperator[\"Divide\"] = 6] = \"Divide\";\n BinaryOperator[BinaryOperator[\"Multiply\"] = 7] = \"Multiply\";\n BinaryOperator[BinaryOperator[\"Modulo\"] = 8] = \"Modulo\";\n BinaryOperator[BinaryOperator[\"And\"] = 9] = \"And\";\n BinaryOperator[BinaryOperator[\"Or\"] = 10] = \"Or\";\n BinaryOperator[BinaryOperator[\"Lower\"] = 11] = \"Lower\";\n BinaryOperator[BinaryOperator[\"LowerEquals\"] = 12] = \"LowerEquals\";\n BinaryOperator[BinaryOperator[\"Bigger\"] = 13] = \"Bigger\";\n BinaryOperator[BinaryOperator[\"BiggerEquals\"] = 14] = \"BiggerEquals\";\n })(BinaryOperator || (BinaryOperator = {}));\n var Expression = (function () {\n function Expression(type) {\n this.type = type;\n }\n Expression.prototype.prop = function (name) { return new ReadPropExpr(this, name); };\n Expression.prototype.key = function (index, type) {\n if (type === void 0) { type = null; }\n return new ReadKeyExpr(this, index, type);\n };\n Expression.prototype.callMethod = function (name, params) {\n return new InvokeMethodExpr(this, name, params);\n };\n Expression.prototype.callFn = function (params) { return new InvokeFunctionExpr(this, params); };\n Expression.prototype.instantiate = function (params, type) {\n if (type === void 0) { type = null; }\n return new InstantiateExpr(this, params, type);\n };\n Expression.prototype.conditional = function (trueCase, falseCase) {\n if (falseCase === void 0) { falseCase = null; }\n return new ConditionalExpr(this, trueCase, falseCase);\n };\n Expression.prototype.equals = function (rhs) {\n return new BinaryOperatorExpr(BinaryOperator.Equals, this, rhs);\n };\n Expression.prototype.notEquals = function (rhs) {\n return new BinaryOperatorExpr(BinaryOperator.NotEquals, this, rhs);\n };\n Expression.prototype.identical = function (rhs) {\n return new BinaryOperatorExpr(BinaryOperator.Identical, this, rhs);\n };\n Expression.prototype.notIdentical = function (rhs) {\n return new BinaryOperatorExpr(BinaryOperator.NotIdentical, this, rhs);\n };\n Expression.prototype.minus = function (rhs) {\n return new BinaryOperatorExpr(BinaryOperator.Minus, this, rhs);\n };\n Expression.prototype.plus = function (rhs) {\n return new BinaryOperatorExpr(BinaryOperator.Plus, this, rhs);\n };\n Expression.prototype.divide = function (rhs) {\n return new BinaryOperatorExpr(BinaryOperator.Divide, this, rhs);\n };\n Expression.prototype.multiply = function (rhs) {\n return new BinaryOperatorExpr(BinaryOperator.Multiply, this, rhs);\n };\n Expression.prototype.modulo = function (rhs) {\n return new BinaryOperatorExpr(BinaryOperator.Modulo, this, rhs);\n };\n Expression.prototype.and = function (rhs) {\n return new BinaryOperatorExpr(BinaryOperator.And, this, rhs);\n };\n Expression.prototype.or = function (rhs) {\n return new BinaryOperatorExpr(BinaryOperator.Or, this, rhs);\n };\n Expression.prototype.lower = function (rhs) {\n return new BinaryOperatorExpr(BinaryOperator.Lower, this, rhs);\n };\n Expression.prototype.lowerEquals = function (rhs) {\n return new BinaryOperatorExpr(BinaryOperator.LowerEquals, this, rhs);\n };\n Expression.prototype.bigger = function (rhs) {\n return new BinaryOperatorExpr(BinaryOperator.Bigger, this, rhs);\n };\n Expression.prototype.biggerEquals = function (rhs) {\n return new BinaryOperatorExpr(BinaryOperator.BiggerEquals, this, rhs);\n };\n Expression.prototype.isBlank = function () {\n // Note: We use equals by purpose here to compare to null and undefined in JS.\n return this.equals(NULL_EXPR);\n };\n Expression.prototype.cast = function (type) { return new CastExpr(this, type); };\n Expression.prototype.toStmt = function () { return new ExpressionStatement(this); };\n return Expression;\n }());\n var BuiltinVar;\n (function (BuiltinVar) {\n BuiltinVar[BuiltinVar[\"This\"] = 0] = \"This\";\n BuiltinVar[BuiltinVar[\"Super\"] = 1] = \"Super\";\n BuiltinVar[BuiltinVar[\"CatchError\"] = 2] = \"CatchError\";\n BuiltinVar[BuiltinVar[\"CatchStack\"] = 3] = \"CatchStack\";\n })(BuiltinVar || (BuiltinVar = {}));\n var ReadVarExpr = (function (_super) {\n __extends$2(ReadVarExpr, _super);\n function ReadVarExpr(name, type) {\n if (type === void 0) { type = null; }\n _super.call(this, type);\n if (isString(name)) {\n this.name = name;\n this.builtin = null;\n }\n else {\n this.name = null;\n this.builtin = name;\n }\n }\n ReadVarExpr.prototype.visitExpression = function (visitor, context) {\n return visitor.visitReadVarExpr(this, context);\n };\n ReadVarExpr.prototype.set = function (value) { return new WriteVarExpr(this.name, value); };\n return ReadVarExpr;\n }(Expression));\n var WriteVarExpr = (function (_super) {\n __extends$2(WriteVarExpr, _super);\n function WriteVarExpr(name, value, type) {\n if (type === void 0) { type = null; }\n _super.call(this, type || value.type);\n this.name = name;\n this.value = value;\n }\n WriteVarExpr.prototype.visitExpression = function (visitor, context) {\n return visitor.visitWriteVarExpr(this, context);\n };\n WriteVarExpr.prototype.toDeclStmt = function (type, modifiers) {\n if (type === void 0) { type = null; }\n if (modifiers === void 0) { modifiers = null; }\n return new DeclareVarStmt(this.name, this.value, type, modifiers);\n };\n return WriteVarExpr;\n }(Expression));\n var WriteKeyExpr = (function (_super) {\n __extends$2(WriteKeyExpr, _super);\n function WriteKeyExpr(receiver, index, value, type) {\n if (type === void 0) { type = null; }\n _super.call(this, type || value.type);\n this.receiver = receiver;\n this.index = index;\n this.value = value;\n }\n WriteKeyExpr.prototype.visitExpression = function (visitor, context) {\n return visitor.visitWriteKeyExpr(this, context);\n };\n return WriteKeyExpr;\n }(Expression));\n var WritePropExpr = (function (_super) {\n __extends$2(WritePropExpr, _super);\n function WritePropExpr(receiver, name, value, type) {\n if (type === void 0) { type = null; }\n _super.call(this, type || value.type);\n this.receiver = receiver;\n this.name = name;\n this.value = value;\n }\n WritePropExpr.prototype.visitExpression = function (visitor, context) {\n return visitor.visitWritePropExpr(this, context);\n };\n return WritePropExpr;\n }(Expression));\n var BuiltinMethod;\n (function (BuiltinMethod) {\n BuiltinMethod[BuiltinMethod[\"ConcatArray\"] = 0] = \"ConcatArray\";\n BuiltinMethod[BuiltinMethod[\"SubscribeObservable\"] = 1] = \"SubscribeObservable\";\n BuiltinMethod[BuiltinMethod[\"Bind\"] = 2] = \"Bind\";\n })(BuiltinMethod || (BuiltinMethod = {}));\n var InvokeMethodExpr = (function (_super) {\n __extends$2(InvokeMethodExpr, _super);\n function InvokeMethodExpr(receiver, method, args, type) {\n if (type === void 0) { type = null; }\n _super.call(this, type);\n this.receiver = receiver;\n this.args = args;\n if (isString(method)) {\n this.name = method;\n this.builtin = null;\n }\n else {\n this.name = null;\n this.builtin = method;\n }\n }\n InvokeMethodExpr.prototype.visitExpression = function (visitor, context) {\n return visitor.visitInvokeMethodExpr(this, context);\n };\n return InvokeMethodExpr;\n }(Expression));\n var InvokeFunctionExpr = (function (_super) {\n __extends$2(InvokeFunctionExpr, _super);\n function InvokeFunctionExpr(fn, args, type) {\n if (type === void 0) { type = null; }\n _super.call(this, type);\n this.fn = fn;\n this.args = args;\n }\n InvokeFunctionExpr.prototype.visitExpression = function (visitor, context) {\n return visitor.visitInvokeFunctionExpr(this, context);\n };\n return InvokeFunctionExpr;\n }(Expression));\n var InstantiateExpr = (function (_super) {\n __extends$2(InstantiateExpr, _super);\n function InstantiateExpr(classExpr, args, type) {\n _super.call(this, type);\n this.classExpr = classExpr;\n this.args = args;\n }\n InstantiateExpr.prototype.visitExpression = function (visitor, context) {\n return visitor.visitInstantiateExpr(this, context);\n };\n return InstantiateExpr;\n }(Expression));\n var LiteralExpr = (function (_super) {\n __extends$2(LiteralExpr, _super);\n function LiteralExpr(value, type) {\n if (type === void 0) { type = null; }\n _super.call(this, type);\n this.value = value;\n }\n LiteralExpr.prototype.visitExpression = function (visitor, context) {\n return visitor.visitLiteralExpr(this, context);\n };\n return LiteralExpr;\n }(Expression));\n var ExternalExpr = (function (_super) {\n __extends$2(ExternalExpr, _super);\n function ExternalExpr(value, type, typeParams) {\n if (type === void 0) { type = null; }\n if (typeParams === void 0) { typeParams = null; }\n _super.call(this, type);\n this.value = value;\n this.typeParams = typeParams;\n }\n ExternalExpr.prototype.visitExpression = function (visitor, context) {\n return visitor.visitExternalExpr(this, context);\n };\n return ExternalExpr;\n }(Expression));\n var ConditionalExpr = (function (_super) {\n __extends$2(ConditionalExpr, _super);\n function ConditionalExpr(condition, trueCase, falseCase, type) {\n if (falseCase === void 0) { falseCase = null; }\n if (type === void 0) { type = null; }\n _super.call(this, type || trueCase.type);\n this.condition = condition;\n this.falseCase = falseCase;\n this.trueCase = trueCase;\n }\n ConditionalExpr.prototype.visitExpression = function (visitor, context) {\n return visitor.visitConditionalExpr(this, context);\n };\n return ConditionalExpr;\n }(Expression));\n var NotExpr = (function (_super) {\n __extends$2(NotExpr, _super);\n function NotExpr(condition) {\n _super.call(this, BOOL_TYPE);\n this.condition = condition;\n }\n NotExpr.prototype.visitExpression = function (visitor, context) {\n return visitor.visitNotExpr(this, context);\n };\n return NotExpr;\n }(Expression));\n var CastExpr = (function (_super) {\n __extends$2(CastExpr, _super);\n function CastExpr(value, type) {\n _super.call(this, type);\n this.value = value;\n }\n CastExpr.prototype.visitExpression = function (visitor, context) {\n return visitor.visitCastExpr(this, context);\n };\n return CastExpr;\n }(Expression));\n var FnParam = (function () {\n function FnParam(name, type) {\n if (type === void 0) { type = null; }\n this.name = name;\n this.type = type;\n }\n return FnParam;\n }());\n var FunctionExpr = (function (_super) {\n __extends$2(FunctionExpr, _super);\n function FunctionExpr(params, statements, type) {\n if (type === void 0) { type = null; }\n _super.call(this, type);\n this.params = params;\n this.statements = statements;\n }\n FunctionExpr.prototype.visitExpression = function (visitor, context) {\n return visitor.visitFunctionExpr(this, context);\n };\n FunctionExpr.prototype.toDeclStmt = function (name, modifiers) {\n if (modifiers === void 0) { modifiers = null; }\n return new DeclareFunctionStmt(name, this.params, this.statements, this.type, modifiers);\n };\n return FunctionExpr;\n }(Expression));\n var BinaryOperatorExpr = (function (_super) {\n __extends$2(BinaryOperatorExpr, _super);\n function BinaryOperatorExpr(operator, lhs, rhs, type) {\n if (type === void 0) { type = null; }\n _super.call(this, type || lhs.type);\n this.operator = operator;\n this.rhs = rhs;\n this.lhs = lhs;\n }\n BinaryOperatorExpr.prototype.visitExpression = function (visitor, context) {\n return visitor.visitBinaryOperatorExpr(this, context);\n };\n return BinaryOperatorExpr;\n }(Expression));\n var ReadPropExpr = (function (_super) {\n __extends$2(ReadPropExpr, _super);\n function ReadPropExpr(receiver, name, type) {\n if (type === void 0) { type = null; }\n _super.call(this, type);\n this.receiver = receiver;\n this.name = name;\n }\n ReadPropExpr.prototype.visitExpression = function (visitor, context) {\n return visitor.visitReadPropExpr(this, context);\n };\n ReadPropExpr.prototype.set = function (value) {\n return new WritePropExpr(this.receiver, this.name, value);\n };\n return ReadPropExpr;\n }(Expression));\n var ReadKeyExpr = (function (_super) {\n __extends$2(ReadKeyExpr, _super);\n function ReadKeyExpr(receiver, index, type) {\n if (type === void 0) { type = null; }\n _super.call(this, type);\n this.receiver = receiver;\n this.index = index;\n }\n ReadKeyExpr.prototype.visitExpression = function (visitor, context) {\n return visitor.visitReadKeyExpr(this, context);\n };\n ReadKeyExpr.prototype.set = function (value) {\n return new WriteKeyExpr(this.receiver, this.index, value);\n };\n return ReadKeyExpr;\n }(Expression));\n var LiteralArrayExpr = (function (_super) {\n __extends$2(LiteralArrayExpr, _super);\n function LiteralArrayExpr(entries, type) {\n if (type === void 0) { type = null; }\n _super.call(this, type);\n this.entries = entries;\n }\n LiteralArrayExpr.prototype.visitExpression = function (visitor, context) {\n return visitor.visitLiteralArrayExpr(this, context);\n };\n return LiteralArrayExpr;\n }(Expression));\n var LiteralMapExpr = (function (_super) {\n __extends$2(LiteralMapExpr, _super);\n function LiteralMapExpr(entries, type) {\n if (type === void 0) { type = null; }\n _super.call(this, type);\n this.entries = entries;\n this.valueType = null;\n if (isPresent(type)) {\n this.valueType = type.valueType;\n }\n }\n LiteralMapExpr.prototype.visitExpression = function (visitor, context) {\n return visitor.visitLiteralMapExpr(this, context);\n };\n return LiteralMapExpr;\n }(Expression));\n var THIS_EXPR = new ReadVarExpr(BuiltinVar.This);\n var SUPER_EXPR = new ReadVarExpr(BuiltinVar.Super);\n var CATCH_ERROR_VAR = new ReadVarExpr(BuiltinVar.CatchError);\n var CATCH_STACK_VAR = new ReadVarExpr(BuiltinVar.CatchStack);\n var NULL_EXPR = new LiteralExpr(null, null);\n //// Statements\n var StmtModifier;\n (function (StmtModifier) {\n StmtModifier[StmtModifier[\"Final\"] = 0] = \"Final\";\n StmtModifier[StmtModifier[\"Private\"] = 1] = \"Private\";\n })(StmtModifier || (StmtModifier = {}));\n var Statement = (function () {\n function Statement(modifiers) {\n if (modifiers === void 0) { modifiers = null; }\n this.modifiers = modifiers;\n if (!modifiers) {\n this.modifiers = [];\n }\n }\n Statement.prototype.hasModifier = function (modifier) { return this.modifiers.indexOf(modifier) !== -1; };\n return Statement;\n }());\n var DeclareVarStmt = (function (_super) {\n __extends$2(DeclareVarStmt, _super);\n function DeclareVarStmt(name, value, type, modifiers) {\n if (type === void 0) { type = null; }\n if (modifiers === void 0) { modifiers = null; }\n _super.call(this, modifiers);\n this.name = name;\n this.value = value;\n this.type = type || value.type;\n }\n DeclareVarStmt.prototype.visitStatement = function (visitor, context) {\n return visitor.visitDeclareVarStmt(this, context);\n };\n return DeclareVarStmt;\n }(Statement));\n var DeclareFunctionStmt = (function (_super) {\n __extends$2(DeclareFunctionStmt, _super);\n function DeclareFunctionStmt(name, params, statements, type, modifiers) {\n if (type === void 0) { type = null; }\n if (modifiers === void 0) { modifiers = null; }\n _super.call(this, modifiers);\n this.name = name;\n this.params = params;\n this.statements = statements;\n this.type = type;\n }\n DeclareFunctionStmt.prototype.visitStatement = function (visitor, context) {\n return visitor.visitDeclareFunctionStmt(this, context);\n };\n return DeclareFunctionStmt;\n }(Statement));\n var ExpressionStatement = (function (_super) {\n __extends$2(ExpressionStatement, _super);\n function ExpressionStatement(expr) {\n _super.call(this);\n this.expr = expr;\n }\n ExpressionStatement.prototype.visitStatement = function (visitor, context) {\n return visitor.visitExpressionStmt(this, context);\n };\n return ExpressionStatement;\n }(Statement));\n var ReturnStatement = (function (_super) {\n __extends$2(ReturnStatement, _super);\n function ReturnStatement(value) {\n _super.call(this);\n this.value = value;\n }\n ReturnStatement.prototype.visitStatement = function (visitor, context) {\n return visitor.visitReturnStmt(this, context);\n };\n return ReturnStatement;\n }(Statement));\n var AbstractClassPart = (function () {\n function AbstractClassPart(type, modifiers) {\n if (type === void 0) { type = null; }\n this.type = type;\n this.modifiers = modifiers;\n if (!modifiers) {\n this.modifiers = [];\n }\n }\n AbstractClassPart.prototype.hasModifier = function (modifier) { return this.modifiers.indexOf(modifier) !== -1; };\n return AbstractClassPart;\n }());\n var ClassField = (function (_super) {\n __extends$2(ClassField, _super);\n function ClassField(name, type, modifiers) {\n if (type === void 0) { type = null; }\n if (modifiers === void 0) { modifiers = null; }\n _super.call(this, type, modifiers);\n this.name = name;\n }\n return ClassField;\n }(AbstractClassPart));\n var ClassMethod = (function (_super) {\n __extends$2(ClassMethod, _super);\n function ClassMethod(name, params, body, type, modifiers) {\n if (type === void 0) { type = null; }\n if (modifiers === void 0) { modifiers = null; }\n _super.call(this, type, modifiers);\n this.name = name;\n this.params = params;\n this.body = body;\n }\n return ClassMethod;\n }(AbstractClassPart));\n var ClassGetter = (function (_super) {\n __extends$2(ClassGetter, _super);\n function ClassGetter(name, body, type, modifiers) {\n if (type === void 0) { type = null; }\n if (modifiers === void 0) { modifiers = null; }\n _super.call(this, type, modifiers);\n this.name = name;\n this.body = body;\n }\n return ClassGetter;\n }(AbstractClassPart));\n var ClassStmt = (function (_super) {\n __extends$2(ClassStmt, _super);\n function ClassStmt(name, parent, fields, getters, constructorMethod, methods, modifiers) {\n if (modifiers === void 0) { modifiers = null; }\n _super.call(this, modifiers);\n this.name = name;\n this.parent = parent;\n this.fields = fields;\n this.getters = getters;\n this.constructorMethod = constructorMethod;\n this.methods = methods;\n }\n ClassStmt.prototype.visitStatement = function (visitor, context) {\n return visitor.visitDeclareClassStmt(this, context);\n };\n return ClassStmt;\n }(Statement));\n var IfStmt = (function (_super) {\n __extends$2(IfStmt, _super);\n function IfStmt(condition, trueCase, falseCase) {\n if (falseCase === void 0) { falseCase = []; }\n _super.call(this);\n this.condition = condition;\n this.trueCase = trueCase;\n this.falseCase = falseCase;\n }\n IfStmt.prototype.visitStatement = function (visitor, context) {\n return visitor.visitIfStmt(this, context);\n };\n return IfStmt;\n }(Statement));\n var CommentStmt = (function (_super) {\n __extends$2(CommentStmt, _super);\n function CommentStmt(comment) {\n _super.call(this);\n this.comment = comment;\n }\n CommentStmt.prototype.visitStatement = function (visitor, context) {\n return visitor.visitCommentStmt(this, context);\n };\n return CommentStmt;\n }(Statement));\n var TryCatchStmt = (function (_super) {\n __extends$2(TryCatchStmt, _super);\n function TryCatchStmt(bodyStmts, catchStmts) {\n _super.call(this);\n this.bodyStmts = bodyStmts;\n this.catchStmts = catchStmts;\n }\n TryCatchStmt.prototype.visitStatement = function (visitor, context) {\n return visitor.visitTryCatchStmt(this, context);\n };\n return TryCatchStmt;\n }(Statement));\n var ThrowStmt = (function (_super) {\n __extends$2(ThrowStmt, _super);\n function ThrowStmt(error) {\n _super.call(this);\n this.error = error;\n }\n ThrowStmt.prototype.visitStatement = function (visitor, context) {\n return visitor.visitThrowStmt(this, context);\n };\n return ThrowStmt;\n }(Statement));\n var ExpressionTransformer = (function () {\n function ExpressionTransformer() {\n }\n ExpressionTransformer.prototype.visitReadVarExpr = function (ast, context) { return ast; };\n ExpressionTransformer.prototype.visitWriteVarExpr = function (expr, context) {\n return new WriteVarExpr(expr.name, expr.value.visitExpression(this, context));\n };\n ExpressionTransformer.prototype.visitWriteKeyExpr = function (expr, context) {\n return new WriteKeyExpr(expr.receiver.visitExpression(this, context), expr.index.visitExpression(this, context), expr.value.visitExpression(this, context));\n };\n ExpressionTransformer.prototype.visitWritePropExpr = function (expr, context) {\n return new WritePropExpr(expr.receiver.visitExpression(this, context), expr.name, expr.value.visitExpression(this, context));\n };\n ExpressionTransformer.prototype.visitInvokeMethodExpr = function (ast, context) {\n var method = ast.builtin || ast.name;\n return new InvokeMethodExpr(ast.receiver.visitExpression(this, context), method, this.visitAllExpressions(ast.args, context), ast.type);\n };\n ExpressionTransformer.prototype.visitInvokeFunctionExpr = function (ast, context) {\n return new InvokeFunctionExpr(ast.fn.visitExpression(this, context), this.visitAllExpressions(ast.args, context), ast.type);\n };\n ExpressionTransformer.prototype.visitInstantiateExpr = function (ast, context) {\n return new InstantiateExpr(ast.classExpr.visitExpression(this, context), this.visitAllExpressions(ast.args, context), ast.type);\n };\n ExpressionTransformer.prototype.visitLiteralExpr = function (ast, context) { return ast; };\n ExpressionTransformer.prototype.visitExternalExpr = function (ast, context) { return ast; };\n ExpressionTransformer.prototype.visitConditionalExpr = function (ast, context) {\n return new ConditionalExpr(ast.condition.visitExpression(this, context), ast.trueCase.visitExpression(this, context), ast.falseCase.visitExpression(this, context));\n };\n ExpressionTransformer.prototype.visitNotExpr = function (ast, context) {\n return new NotExpr(ast.condition.visitExpression(this, context));\n };\n ExpressionTransformer.prototype.visitCastExpr = function (ast, context) {\n return new CastExpr(ast.value.visitExpression(this, context), context);\n };\n ExpressionTransformer.prototype.visitFunctionExpr = function (ast, context) {\n // Don't descend into nested functions\n return ast;\n };\n ExpressionTransformer.prototype.visitBinaryOperatorExpr = function (ast, context) {\n return new BinaryOperatorExpr(ast.operator, ast.lhs.visitExpression(this, context), ast.rhs.visitExpression(this, context), ast.type);\n };\n ExpressionTransformer.prototype.visitReadPropExpr = function (ast, context) {\n return new ReadPropExpr(ast.receiver.visitExpression(this, context), ast.name, ast.type);\n };\n ExpressionTransformer.prototype.visitReadKeyExpr = function (ast, context) {\n return new ReadKeyExpr(ast.receiver.visitExpression(this, context), ast.index.visitExpression(this, context), ast.type);\n };\n ExpressionTransformer.prototype.visitLiteralArrayExpr = function (ast, context) {\n return new LiteralArrayExpr(this.visitAllExpressions(ast.entries, context));\n };\n ExpressionTransformer.prototype.visitLiteralMapExpr = function (ast, context) {\n var _this = this;\n var entries = ast.entries.map(function (entry) { return [entry[0], entry[1].visitExpression(_this, context),]; });\n return new LiteralMapExpr(entries);\n };\n ExpressionTransformer.prototype.visitAllExpressions = function (exprs, context) {\n var _this = this;\n return exprs.map(function (expr) { return expr.visitExpression(_this, context); });\n };\n ExpressionTransformer.prototype.visitDeclareVarStmt = function (stmt, context) {\n return new DeclareVarStmt(stmt.name, stmt.value.visitExpression(this, context), stmt.type, stmt.modifiers);\n };\n ExpressionTransformer.prototype.visitDeclareFunctionStmt = function (stmt, context) {\n // Don't descend into nested functions\n return stmt;\n };\n ExpressionTransformer.prototype.visitExpressionStmt = function (stmt, context) {\n return new ExpressionStatement(stmt.expr.visitExpression(this, context));\n };\n ExpressionTransformer.prototype.visitReturnStmt = function (stmt, context) {\n return new ReturnStatement(stmt.value.visitExpression(this, context));\n };\n ExpressionTransformer.prototype.visitDeclareClassStmt = function (stmt, context) {\n // Don't descend into nested functions\n return stmt;\n };\n ExpressionTransformer.prototype.visitIfStmt = function (stmt, context) {\n return new IfStmt(stmt.condition.visitExpression(this, context), this.visitAllStatements(stmt.trueCase, context), this.visitAllStatements(stmt.falseCase, context));\n };\n ExpressionTransformer.prototype.visitTryCatchStmt = function (stmt, context) {\n return new TryCatchStmt(this.visitAllStatements(stmt.bodyStmts, context), this.visitAllStatements(stmt.catchStmts, context));\n };\n ExpressionTransformer.prototype.visitThrowStmt = function (stmt, context) {\n return new ThrowStmt(stmt.error.visitExpression(this, context));\n };\n ExpressionTransformer.prototype.visitCommentStmt = function (stmt, context) { return stmt; };\n ExpressionTransformer.prototype.visitAllStatements = function (stmts, context) {\n var _this = this;\n return stmts.map(function (stmt) { return stmt.visitStatement(_this, context); });\n };\n return ExpressionTransformer;\n }());\n var RecursiveExpressionVisitor = (function () {\n function RecursiveExpressionVisitor() {\n }\n RecursiveExpressionVisitor.prototype.visitReadVarExpr = function (ast, context) { return ast; };\n RecursiveExpressionVisitor.prototype.visitWriteVarExpr = function (expr, context) {\n expr.value.visitExpression(this, context);\n return expr;\n };\n RecursiveExpressionVisitor.prototype.visitWriteKeyExpr = function (expr, context) {\n expr.receiver.visitExpression(this, context);\n expr.index.visitExpression(this, context);\n expr.value.visitExpression(this, context);\n return expr;\n };\n RecursiveExpressionVisitor.prototype.visitWritePropExpr = function (expr, context) {\n expr.receiver.visitExpression(this, context);\n expr.value.visitExpression(this, context);\n return expr;\n };\n RecursiveExpressionVisitor.prototype.visitInvokeMethodExpr = function (ast, context) {\n ast.receiver.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return ast;\n };\n RecursiveExpressionVisitor.prototype.visitInvokeFunctionExpr = function (ast, context) {\n ast.fn.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return ast;\n };\n RecursiveExpressionVisitor.prototype.visitInstantiateExpr = function (ast, context) {\n ast.classExpr.visitExpression(this, context);\n this.visitAllExpressions(ast.args, context);\n return ast;\n };\n RecursiveExpressionVisitor.prototype.visitLiteralExpr = function (ast, context) { return ast; };\n RecursiveExpressionVisitor.prototype.visitExternalExpr = function (ast, context) { return ast; };\n RecursiveExpressionVisitor.prototype.visitConditionalExpr = function (ast, context) {\n ast.condition.visitExpression(this, context);\n ast.trueCase.visitExpression(this, context);\n ast.falseCase.visitExpression(this, context);\n return ast;\n };\n RecursiveExpressionVisitor.prototype.visitNotExpr = function (ast, context) {\n ast.condition.visitExpression(this, context);\n return ast;\n };\n RecursiveExpressionVisitor.prototype.visitCastExpr = function (ast, context) {\n ast.value.visitExpression(this, context);\n return ast;\n };\n RecursiveExpressionVisitor.prototype.visitFunctionExpr = function (ast, context) { return ast; };\n RecursiveExpressionVisitor.prototype.visitBinaryOperatorExpr = function (ast, context) {\n ast.lhs.visitExpression(this, context);\n ast.rhs.visitExpression(this, context);\n return ast;\n };\n RecursiveExpressionVisitor.prototype.visitReadPropExpr = function (ast, context) {\n ast.receiver.visitExpression(this, context);\n return ast;\n };\n RecursiveExpressionVisitor.prototype.visitReadKeyExpr = function (ast, context) {\n ast.receiver.visitExpression(this, context);\n ast.index.visitExpression(this, context);\n return ast;\n };\n RecursiveExpressionVisitor.prototype.visitLiteralArrayExpr = function (ast, context) {\n this.visitAllExpressions(ast.entries, context);\n return ast;\n };\n RecursiveExpressionVisitor.prototype.visitLiteralMapExpr = function (ast, context) {\n var _this = this;\n ast.entries.forEach(function (entry) { return entry[1].visitExpression(_this, context); });\n return ast;\n };\n RecursiveExpressionVisitor.prototype.visitAllExpressions = function (exprs, context) {\n var _this = this;\n exprs.forEach(function (expr) { return expr.visitExpression(_this, context); });\n };\n RecursiveExpressionVisitor.prototype.visitDeclareVarStmt = function (stmt, context) {\n stmt.value.visitExpression(this, context);\n return stmt;\n };\n RecursiveExpressionVisitor.prototype.visitDeclareFunctionStmt = function (stmt, context) {\n // Don't descend into nested functions\n return stmt;\n };\n RecursiveExpressionVisitor.prototype.visitExpressionStmt = function (stmt, context) {\n stmt.expr.visitExpression(this, context);\n return stmt;\n };\n RecursiveExpressionVisitor.prototype.visitReturnStmt = function (stmt, context) {\n stmt.value.visitExpression(this, context);\n return stmt;\n };\n RecursiveExpressionVisitor.prototype.visitDeclareClassStmt = function (stmt, context) {\n // Don't descend into nested functions\n return stmt;\n };\n RecursiveExpressionVisitor.prototype.visitIfStmt = function (stmt, context) {\n stmt.condition.visitExpression(this, context);\n this.visitAllStatements(stmt.trueCase, context);\n this.visitAllStatements(stmt.falseCase, context);\n return stmt;\n };\n RecursiveExpressionVisitor.prototype.visitTryCatchStmt = function (stmt, context) {\n this.visitAllStatements(stmt.bodyStmts, context);\n this.visitAllStatements(stmt.catchStmts, context);\n return stmt;\n };\n RecursiveExpressionVisitor.prototype.visitThrowStmt = function (stmt, context) {\n stmt.error.visitExpression(this, context);\n return stmt;\n };\n RecursiveExpressionVisitor.prototype.visitCommentStmt = function (stmt, context) { return stmt; };\n RecursiveExpressionVisitor.prototype.visitAllStatements = function (stmts, context) {\n var _this = this;\n stmts.forEach(function (stmt) { return stmt.visitStatement(_this, context); });\n };\n return RecursiveExpressionVisitor;\n }());\n function replaceVarInExpression(varName, newValue, expression) {\n var transformer = new _ReplaceVariableTransformer(varName, newValue);\n return expression.visitExpression(transformer, null);\n }\n var _ReplaceVariableTransformer = (function (_super) {\n __extends$2(_ReplaceVariableTransformer, _super);\n function _ReplaceVariableTransformer(_varName, _newValue) {\n _super.call(this);\n this._varName = _varName;\n this._newValue = _newValue;\n }\n _ReplaceVariableTransformer.prototype.visitReadVarExpr = function (ast, context) {\n return ast.name == this._varName ? this._newValue : ast;\n };\n return _ReplaceVariableTransformer;\n }(ExpressionTransformer));\n function findReadVarNames(stmts) {\n var finder = new _VariableFinder();\n finder.visitAllStatements(stmts, null);\n return finder.varNames;\n }\n var _VariableFinder = (function (_super) {\n __extends$2(_VariableFinder, _super);\n function _VariableFinder() {\n _super.apply(this, arguments);\n this.varNames = new Set();\n }\n _VariableFinder.prototype.visitReadVarExpr = function (ast, context) {\n this.varNames.add(ast.name);\n return null;\n };\n return _VariableFinder;\n }(RecursiveExpressionVisitor));\n function variable(name, type) {\n if (type === void 0) { type = null; }\n return new ReadVarExpr(name, type);\n }\n function importExpr(id, typeParams) {\n if (typeParams === void 0) { typeParams = null; }\n return new ExternalExpr(id, null, typeParams);\n }\n function importType(id, typeParams, typeModifiers) {\n if (typeParams === void 0) { typeParams = null; }\n if (typeModifiers === void 0) { typeModifiers = null; }\n return isPresent(id) ? new ExternalType(id, typeParams, typeModifiers) : null;\n }\n function literalArr(values, type) {\n if (type === void 0) { type = null; }\n return new LiteralArrayExpr(values, type);\n }\n function literalMap(values, type) {\n if (type === void 0) { type = null; }\n return new LiteralMapExpr(values, type);\n }\n function not(expr) {\n return new NotExpr(expr);\n }\n function fn(params, body, type) {\n if (type === void 0) { type = null; }\n return new FunctionExpr(params, body, type);\n }\n function literal(value, type) {\n if (type === void 0) { type = null; }\n return new LiteralExpr(value, type);\n }\n\n var MODULE_SUFFIX = '';\n var CAMEL_CASE_REGEXP = /([A-Z])/g;\n function camelCaseToDashCase(input) {\n return input.replace(CAMEL_CASE_REGEXP, function () {\n var m = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n m[_i - 0] = arguments[_i];\n }\n return '-' + m[1].toLowerCase();\n });\n }\n function splitAtColon(input, defaultValues) {\n return _splitAt(input, ':', defaultValues);\n }\n function splitAtPeriod(input, defaultValues) {\n return _splitAt(input, '.', defaultValues);\n }\n function _splitAt(input, character, defaultValues) {\n var characterIndex = input.indexOf(character);\n if (characterIndex == -1)\n return defaultValues;\n return [input.slice(0, characterIndex).trim(), input.slice(characterIndex + 1).trim()];\n }\n function sanitizeIdentifier(name) {\n return name.replace(/\\W/g, '_');\n }\n function visitValue(value, visitor, context) {\n if (isArray(value)) {\n return visitor.visitArray(value, context);\n }\n else if (isStrictStringMap(value)) {\n return visitor.visitStringMap(value, context);\n }\n else if (isBlank(value) || isPrimitive(value)) {\n return visitor.visitPrimitive(value, context);\n }\n else {\n return visitor.visitOther(value, context);\n }\n }\n var ValueTransformer = (function () {\n function ValueTransformer() {\n }\n ValueTransformer.prototype.visitArray = function (arr, context) {\n var _this = this;\n return arr.map(function (value) { return visitValue(value, _this, context); });\n };\n ValueTransformer.prototype.visitStringMap = function (map, context) {\n var _this = this;\n var result = {};\n Object.keys(map).forEach(function (key) { result[key] = visitValue(map[key], _this, context); });\n return result;\n };\n ValueTransformer.prototype.visitPrimitive = function (value, context) { return value; };\n ValueTransformer.prototype.visitOther = function (value, context) { return value; };\n return ValueTransformer;\n }());\n function assetUrl(pkg, path, type) {\n if (path === void 0) { path = null; }\n if (type === void 0) { type = 'src'; }\n if (path == null) {\n return \"asset:@angular/lib/\" + pkg + \"/index\";\n }\n else {\n return \"asset:@angular/lib/\" + pkg + \"/src/\" + path;\n }\n }\n function createDiTokenExpression(token) {\n if (isPresent(token.value)) {\n return literal(token.value);\n }\n else if (token.identifierIsInstance) {\n return importExpr(token.identifier)\n .instantiate([], importType(token.identifier, [], [TypeModifier.Const]));\n }\n else {\n return importExpr(token.identifier);\n }\n }\n var SyncAsyncResult = (function () {\n function SyncAsyncResult(syncResult, asyncResult) {\n if (asyncResult === void 0) { asyncResult = null; }\n this.syncResult = syncResult;\n this.asyncResult = asyncResult;\n if (!asyncResult) {\n this.asyncResult = Promise.resolve(syncResult);\n }\n }\n return SyncAsyncResult;\n }());\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var __extends$1 = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n function unimplemented() {\n throw new Error('unimplemented');\n }\n // group 0: \"[prop] or (event) or @trigger\"\n // group 1: \"prop\" from \"[prop]\"\n // group 2: \"event\" from \"(event)\"\n // group 3: \"@trigger\" from \"@trigger\"\n var HOST_REG_EXP = /^(?:(?:\\[([^\\]]+)\\])|(?:\\(([^\\)]+)\\)))|(\\@[-\\w]+)$/;\n var CompileMetadataWithIdentifier = (function () {\n function CompileMetadataWithIdentifier() {\n }\n Object.defineProperty(CompileMetadataWithIdentifier.prototype, \"identifier\", {\n get: function () { return unimplemented(); },\n enumerable: true,\n configurable: true\n });\n return CompileMetadataWithIdentifier;\n }());\n var CompileAnimationEntryMetadata = (function () {\n function CompileAnimationEntryMetadata(name, definitions) {\n if (name === void 0) { name = null; }\n if (definitions === void 0) { definitions = null; }\n this.name = name;\n this.definitions = definitions;\n }\n return CompileAnimationEntryMetadata;\n }());\n var CompileAnimationStateMetadata = (function () {\n function CompileAnimationStateMetadata() {\n }\n return CompileAnimationStateMetadata;\n }());\n var CompileAnimationStateDeclarationMetadata = (function (_super) {\n __extends$1(CompileAnimationStateDeclarationMetadata, _super);\n function CompileAnimationStateDeclarationMetadata(stateNameExpr, styles) {\n _super.call(this);\n this.stateNameExpr = stateNameExpr;\n this.styles = styles;\n }\n return CompileAnimationStateDeclarationMetadata;\n }(CompileAnimationStateMetadata));\n var CompileAnimationStateTransitionMetadata = (function (_super) {\n __extends$1(CompileAnimationStateTransitionMetadata, _super);\n function CompileAnimationStateTransitionMetadata(stateChangeExpr, steps) {\n _super.call(this);\n this.stateChangeExpr = stateChangeExpr;\n this.steps = steps;\n }\n return CompileAnimationStateTransitionMetadata;\n }(CompileAnimationStateMetadata));\n var CompileAnimationMetadata = (function () {\n function CompileAnimationMetadata() {\n }\n return CompileAnimationMetadata;\n }());\n var CompileAnimationKeyframesSequenceMetadata = (function (_super) {\n __extends$1(CompileAnimationKeyframesSequenceMetadata, _super);\n function CompileAnimationKeyframesSequenceMetadata(steps) {\n if (steps === void 0) { steps = []; }\n _super.call(this);\n this.steps = steps;\n }\n return CompileAnimationKeyframesSequenceMetadata;\n }(CompileAnimationMetadata));\n var CompileAnimationStyleMetadata = (function (_super) {\n __extends$1(CompileAnimationStyleMetadata, _super);\n function CompileAnimationStyleMetadata(offset, styles) {\n if (styles === void 0) { styles = null; }\n _super.call(this);\n this.offset = offset;\n this.styles = styles;\n }\n return CompileAnimationStyleMetadata;\n }(CompileAnimationMetadata));\n var CompileAnimationAnimateMetadata = (function (_super) {\n __extends$1(CompileAnimationAnimateMetadata, _super);\n function CompileAnimationAnimateMetadata(timings, styles) {\n if (timings === void 0) { timings = 0; }\n if (styles === void 0) { styles = null; }\n _super.call(this);\n this.timings = timings;\n this.styles = styles;\n }\n return CompileAnimationAnimateMetadata;\n }(CompileAnimationMetadata));\n var CompileAnimationWithStepsMetadata = (function (_super) {\n __extends$1(CompileAnimationWithStepsMetadata, _super);\n function CompileAnimationWithStepsMetadata(steps) {\n if (steps === void 0) { steps = null; }\n _super.call(this);\n this.steps = steps;\n }\n return CompileAnimationWithStepsMetadata;\n }(CompileAnimationMetadata));\n var CompileAnimationSequenceMetadata = (function (_super) {\n __extends$1(CompileAnimationSequenceMetadata, _super);\n function CompileAnimationSequenceMetadata(steps) {\n if (steps === void 0) { steps = null; }\n _super.call(this, steps);\n }\n return CompileAnimationSequenceMetadata;\n }(CompileAnimationWithStepsMetadata));\n var CompileAnimationGroupMetadata = (function (_super) {\n __extends$1(CompileAnimationGroupMetadata, _super);\n function CompileAnimationGroupMetadata(steps) {\n if (steps === void 0) { steps = null; }\n _super.call(this, steps);\n }\n return CompileAnimationGroupMetadata;\n }(CompileAnimationWithStepsMetadata));\n var CompileIdentifierMetadata = (function () {\n function CompileIdentifierMetadata(_a) {\n var _b = _a === void 0 ? {} : _a, reference = _b.reference, name = _b.name, moduleUrl = _b.moduleUrl, prefix = _b.prefix, value = _b.value;\n this.reference = reference;\n this.name = name;\n this.prefix = prefix;\n this.moduleUrl = moduleUrl;\n this.value = value;\n }\n Object.defineProperty(CompileIdentifierMetadata.prototype, \"identifier\", {\n get: function () { return this; },\n enumerable: true,\n configurable: true\n });\n return CompileIdentifierMetadata;\n }());\n var CompileDiDependencyMetadata = (function () {\n function CompileDiDependencyMetadata(_a) {\n var _b = _a === void 0 ? {} : _a, isAttribute = _b.isAttribute, isSelf = _b.isSelf, isHost = _b.isHost, isSkipSelf = _b.isSkipSelf, isOptional = _b.isOptional, isValue = _b.isValue, query = _b.query, viewQuery = _b.viewQuery, token = _b.token, value = _b.value;\n this.isAttribute = normalizeBool(isAttribute);\n this.isSelf = normalizeBool(isSelf);\n this.isHost = normalizeBool(isHost);\n this.isSkipSelf = normalizeBool(isSkipSelf);\n this.isOptional = normalizeBool(isOptional);\n this.isValue = normalizeBool(isValue);\n this.query = query;\n this.viewQuery = viewQuery;\n this.token = token;\n this.value = value;\n }\n return CompileDiDependencyMetadata;\n }());\n var CompileProviderMetadata = (function () {\n function CompileProviderMetadata(_a) {\n var token = _a.token, useClass = _a.useClass, useValue = _a.useValue, useExisting = _a.useExisting, useFactory = _a.useFactory, deps = _a.deps, multi = _a.multi;\n this.token = token;\n this.useClass = useClass;\n this.useValue = useValue;\n this.useExisting = useExisting;\n this.useFactory = useFactory;\n this.deps = normalizeBlank(deps);\n this.multi = normalizeBool(multi);\n }\n return CompileProviderMetadata;\n }());\n var CompileFactoryMetadata = (function (_super) {\n __extends$1(CompileFactoryMetadata, _super);\n function CompileFactoryMetadata(_a) {\n var reference = _a.reference, name = _a.name, moduleUrl = _a.moduleUrl, prefix = _a.prefix, diDeps = _a.diDeps, value = _a.value;\n _super.call(this, { reference: reference, name: name, prefix: prefix, moduleUrl: moduleUrl, value: value });\n this.diDeps = _normalizeArray(diDeps);\n }\n return CompileFactoryMetadata;\n }(CompileIdentifierMetadata));\n var CompileTokenMetadata = (function () {\n function CompileTokenMetadata(_a) {\n var value = _a.value, identifier = _a.identifier, identifierIsInstance = _a.identifierIsInstance;\n this.value = value;\n this.identifier = identifier;\n this.identifierIsInstance = normalizeBool(identifierIsInstance);\n }\n Object.defineProperty(CompileTokenMetadata.prototype, \"reference\", {\n get: function () {\n if (isPresent(this.identifier)) {\n return this.identifier.reference;\n }\n else {\n return this.value;\n }\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CompileTokenMetadata.prototype, \"name\", {\n get: function () {\n return isPresent(this.value) ? sanitizeIdentifier(this.value) : this.identifier.name;\n },\n enumerable: true,\n configurable: true\n });\n return CompileTokenMetadata;\n }());\n /**\n * Metadata regarding compilation of a type.\n */\n var CompileTypeMetadata = (function (_super) {\n __extends$1(CompileTypeMetadata, _super);\n function CompileTypeMetadata(_a) {\n var _b = _a === void 0 ? {} : _a, reference = _b.reference, name = _b.name, moduleUrl = _b.moduleUrl, prefix = _b.prefix, isHost = _b.isHost, value = _b.value, diDeps = _b.diDeps, lifecycleHooks = _b.lifecycleHooks;\n _super.call(this, { reference: reference, name: name, moduleUrl: moduleUrl, prefix: prefix, value: value });\n this.isHost = normalizeBool(isHost);\n this.diDeps = _normalizeArray(diDeps);\n this.lifecycleHooks = _normalizeArray(lifecycleHooks);\n }\n return CompileTypeMetadata;\n }(CompileIdentifierMetadata));\n var CompileQueryMetadata = (function () {\n function CompileQueryMetadata(_a) {\n var _b = _a === void 0 ? {} : _a, selectors = _b.selectors, descendants = _b.descendants, first = _b.first, propertyName = _b.propertyName, read = _b.read;\n this.selectors = selectors;\n this.descendants = normalizeBool(descendants);\n this.first = normalizeBool(first);\n this.propertyName = propertyName;\n this.read = read;\n }\n return CompileQueryMetadata;\n }());\n /**\n * Metadata about a stylesheet\n */\n var CompileStylesheetMetadata = (function () {\n function CompileStylesheetMetadata(_a) {\n var _b = _a === void 0 ? {} : _a, moduleUrl = _b.moduleUrl, styles = _b.styles, styleUrls = _b.styleUrls;\n this.moduleUrl = moduleUrl;\n this.styles = _normalizeArray(styles);\n this.styleUrls = _normalizeArray(styleUrls);\n }\n return CompileStylesheetMetadata;\n }());\n /**\n * Metadata regarding compilation of a template.\n */\n var CompileTemplateMetadata = (function () {\n function CompileTemplateMetadata(_a) {\n var _b = _a === void 0 ? {} : _a, encapsulation = _b.encapsulation, template = _b.template, templateUrl = _b.templateUrl, styles = _b.styles, styleUrls = _b.styleUrls, externalStylesheets = _b.externalStylesheets, animations = _b.animations, ngContentSelectors = _b.ngContentSelectors, interpolation = _b.interpolation;\n this.encapsulation = encapsulation;\n this.template = template;\n this.templateUrl = templateUrl;\n this.styles = _normalizeArray(styles);\n this.styleUrls = _normalizeArray(styleUrls);\n this.externalStylesheets = _normalizeArray(externalStylesheets);\n this.animations = isPresent(animations) ? ListWrapper.flatten(animations) : [];\n this.ngContentSelectors = ngContentSelectors || [];\n if (isPresent(interpolation) && interpolation.length != 2) {\n throw new Error(\"'interpolation' should have a start and an end symbol.\");\n }\n this.interpolation = interpolation;\n }\n return CompileTemplateMetadata;\n }());\n /**\n * Metadata regarding compilation of a directive.\n */\n var CompileDirectiveMetadata = (function () {\n function CompileDirectiveMetadata(_a) {\n var _b = _a === void 0 ? {} : _a, type = _b.type, isComponent = _b.isComponent, selector = _b.selector, exportAs = _b.exportAs, changeDetection = _b.changeDetection, inputs = _b.inputs, outputs = _b.outputs, hostListeners = _b.hostListeners, hostProperties = _b.hostProperties, hostAttributes = _b.hostAttributes, providers = _b.providers, viewProviders = _b.viewProviders, queries = _b.queries, viewQueries = _b.viewQueries, entryComponents = _b.entryComponents, template = _b.template;\n this.type = type;\n this.isComponent = isComponent;\n this.selector = selector;\n this.exportAs = exportAs;\n this.changeDetection = changeDetection;\n this.inputs = inputs;\n this.outputs = outputs;\n this.hostListeners = hostListeners;\n this.hostProperties = hostProperties;\n this.hostAttributes = hostAttributes;\n this.providers = _normalizeArray(providers);\n this.viewProviders = _normalizeArray(viewProviders);\n this.queries = _normalizeArray(queries);\n this.viewQueries = _normalizeArray(viewQueries);\n this.entryComponents = _normalizeArray(entryComponents);\n this.template = template;\n }\n CompileDirectiveMetadata.create = function (_a) {\n var _b = _a === void 0 ? {} : _a, type = _b.type, isComponent = _b.isComponent, selector = _b.selector, exportAs = _b.exportAs, changeDetection = _b.changeDetection, inputs = _b.inputs, outputs = _b.outputs, host = _b.host, providers = _b.providers, viewProviders = _b.viewProviders, queries = _b.queries, viewQueries = _b.viewQueries, entryComponents = _b.entryComponents, template = _b.template;\n var hostListeners = {};\n var hostProperties = {};\n var hostAttributes = {};\n if (isPresent(host)) {\n Object.keys(host).forEach(function (key) {\n var value = host[key];\n var matches = key.match(HOST_REG_EXP);\n if (matches === null) {\n hostAttributes[key] = value;\n }\n else if (isPresent(matches[1])) {\n hostProperties[matches[1]] = value;\n }\n else if (isPresent(matches[2])) {\n hostListeners[matches[2]] = value;\n }\n });\n }\n var inputsMap = {};\n if (isPresent(inputs)) {\n inputs.forEach(function (bindConfig) {\n // canonical syntax: `dirProp: elProp`\n // if there is no `:`, use dirProp = elProp\n var parts = splitAtColon(bindConfig, [bindConfig, bindConfig]);\n inputsMap[parts[0]] = parts[1];\n });\n }\n var outputsMap = {};\n if (isPresent(outputs)) {\n outputs.forEach(function (bindConfig) {\n // canonical syntax: `dirProp: elProp`\n // if there is no `:`, use dirProp = elProp\n var parts = splitAtColon(bindConfig, [bindConfig, bindConfig]);\n outputsMap[parts[0]] = parts[1];\n });\n }\n return new CompileDirectiveMetadata({\n type: type,\n isComponent: normalizeBool(isComponent), selector: selector, exportAs: exportAs, changeDetection: changeDetection,\n inputs: inputsMap,\n outputs: outputsMap,\n hostListeners: hostListeners,\n hostProperties: hostProperties,\n hostAttributes: hostAttributes,\n providers: providers,\n viewProviders: viewProviders,\n queries: queries,\n viewQueries: viewQueries,\n entryComponents: entryComponents,\n template: template,\n });\n };\n Object.defineProperty(CompileDirectiveMetadata.prototype, \"identifier\", {\n get: function () { return this.type; },\n enumerable: true,\n configurable: true\n });\n return CompileDirectiveMetadata;\n }());\n /**\n * Construct {@link CompileDirectiveMetadata} from {@link ComponentTypeMetadata} and a selector.\n */\n function createHostComponentMeta(compMeta) {\n var template = CssSelector.parse(compMeta.selector)[0].getMatchingElementTemplate();\n return CompileDirectiveMetadata.create({\n type: new CompileTypeMetadata({\n reference: Object,\n name: compMeta.type.name + \"_Host\",\n moduleUrl: compMeta.type.moduleUrl,\n isHost: true\n }),\n template: new CompileTemplateMetadata({\n encapsulation: _angular_core.ViewEncapsulation.None,\n template: template,\n templateUrl: '',\n styles: [],\n styleUrls: [],\n ngContentSelectors: [],\n animations: []\n }),\n changeDetection: _angular_core.ChangeDetectionStrategy.Default,\n inputs: [],\n outputs: [],\n host: {},\n isComponent: true,\n selector: '*',\n providers: [],\n viewProviders: [],\n queries: [],\n viewQueries: []\n });\n }\n var CompilePipeMetadata = (function () {\n function CompilePipeMetadata(_a) {\n var _b = _a === void 0 ? {} : _a, type = _b.type, name = _b.name, pure = _b.pure;\n this.type = type;\n this.name = name;\n this.pure = normalizeBool(pure);\n }\n Object.defineProperty(CompilePipeMetadata.prototype, \"identifier\", {\n get: function () { return this.type; },\n enumerable: true,\n configurable: true\n });\n return CompilePipeMetadata;\n }());\n /**\n * Metadata regarding compilation of a directive.\n */\n var CompileNgModuleMetadata = (function () {\n function CompileNgModuleMetadata(_a) {\n var _b = _a === void 0 ? {} : _a, type = _b.type, providers = _b.providers, declaredDirectives = _b.declaredDirectives, exportedDirectives = _b.exportedDirectives, declaredPipes = _b.declaredPipes, exportedPipes = _b.exportedPipes, entryComponents = _b.entryComponents, bootstrapComponents = _b.bootstrapComponents, importedModules = _b.importedModules, exportedModules = _b.exportedModules, schemas = _b.schemas, transitiveModule = _b.transitiveModule, id = _b.id;\n this.type = type;\n this.declaredDirectives = _normalizeArray(declaredDirectives);\n this.exportedDirectives = _normalizeArray(exportedDirectives);\n this.declaredPipes = _normalizeArray(declaredPipes);\n this.exportedPipes = _normalizeArray(exportedPipes);\n this.providers = _normalizeArray(providers);\n this.entryComponents = _normalizeArray(entryComponents);\n this.bootstrapComponents = _normalizeArray(bootstrapComponents);\n this.importedModules = _normalizeArray(importedModules);\n this.exportedModules = _normalizeArray(exportedModules);\n this.schemas = _normalizeArray(schemas);\n this.id = id;\n this.transitiveModule = transitiveModule;\n }\n Object.defineProperty(CompileNgModuleMetadata.prototype, \"identifier\", {\n get: function () { return this.type; },\n enumerable: true,\n configurable: true\n });\n return CompileNgModuleMetadata;\n }());\n var TransitiveCompileNgModuleMetadata = (function () {\n function TransitiveCompileNgModuleMetadata(modules, providers, entryComponents, directives, pipes) {\n var _this = this;\n this.modules = modules;\n this.providers = providers;\n this.entryComponents = entryComponents;\n this.directives = directives;\n this.pipes = pipes;\n this.directivesSet = new Set();\n this.pipesSet = new Set();\n directives.forEach(function (dir) { return _this.directivesSet.add(dir.type.reference); });\n pipes.forEach(function (pipe) { return _this.pipesSet.add(pipe.type.reference); });\n }\n return TransitiveCompileNgModuleMetadata;\n }());\n function removeIdentifierDuplicates(items) {\n var map = new Map();\n items.forEach(function (item) {\n if (!map.get(item.identifier.reference)) {\n map.set(item.identifier.reference, item);\n }\n });\n return MapWrapper.values(map);\n }\n function _normalizeArray(obj) {\n return obj || [];\n }\n function isStaticSymbol(value) {\n return isStringMap(value) && isPresent(value['name']) && isPresent(value['filePath']);\n }\n var ProviderMeta = (function () {\n function ProviderMeta(token, _a) {\n var useClass = _a.useClass, useValue = _a.useValue, useExisting = _a.useExisting, useFactory = _a.useFactory, deps = _a.deps, multi = _a.multi;\n this.token = token;\n this.useClass = useClass;\n this.useValue = useValue;\n this.useExisting = useExisting;\n this.useFactory = useFactory;\n this.dependencies = deps;\n this.multi = !!multi;\n }\n return ProviderMeta;\n }());\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var __extends$3 = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n var ParserError = (function () {\n function ParserError(message, input, errLocation, ctxLocation) {\n this.input = input;\n this.errLocation = errLocation;\n this.ctxLocation = ctxLocation;\n this.message = \"Parser Error: \" + message + \" \" + errLocation + \" [\" + input + \"] in \" + ctxLocation;\n }\n return ParserError;\n }());\n var ParseSpan = (function () {\n function ParseSpan(start, end) {\n this.start = start;\n this.end = end;\n }\n return ParseSpan;\n }());\n var AST = (function () {\n function AST(span) {\n this.span = span;\n }\n AST.prototype.visit = function (visitor, context) {\n if (context === void 0) { context = null; }\n return null;\n };\n AST.prototype.toString = function () { return 'AST'; };\n return AST;\n }());\n /**\n * Represents a quoted expression of the form:\n *\n * quote = prefix `:` uninterpretedExpression\n * prefix = identifier\n * uninterpretedExpression = arbitrary string\n *\n * A quoted expression is meant to be pre-processed by an AST transformer that\n * converts it into another AST that no longer contains quoted expressions.\n * It is meant to allow third-party developers to extend Angular template\n * expression language. The `uninterpretedExpression` part of the quote is\n * therefore not interpreted by the Angular's own expression parser.\n */\n var Quote = (function (_super) {\n __extends$3(Quote, _super);\n function Quote(span, prefix, uninterpretedExpression, location) {\n _super.call(this, span);\n this.prefix = prefix;\n this.uninterpretedExpression = uninterpretedExpression;\n this.location = location;\n }\n Quote.prototype.visit = function (visitor, context) {\n if (context === void 0) { context = null; }\n return visitor.visitQuote(this, context);\n };\n Quote.prototype.toString = function () { return 'Quote'; };\n return Quote;\n }(AST));\n var EmptyExpr = (function (_super) {\n __extends$3(EmptyExpr, _super);\n function EmptyExpr() {\n _super.apply(this, arguments);\n }\n EmptyExpr.prototype.visit = function (visitor, context) {\n if (context === void 0) { context = null; }\n // do nothing\n };\n return EmptyExpr;\n }(AST));\n var ImplicitReceiver = (function (_super) {\n __extends$3(ImplicitReceiver, _super);\n function ImplicitReceiver() {\n _super.apply(this, arguments);\n }\n ImplicitReceiver.prototype.visit = function (visitor, context) {\n if (context === void 0) { context = null; }\n return visitor.visitImplicitReceiver(this, context);\n };\n return ImplicitReceiver;\n }(AST));\n /**\n * Multiple expressions separated by a semicolon.\n */\n var Chain = (function (_super) {\n __extends$3(Chain, _super);\n function Chain(span, expressions) {\n _super.call(this, span);\n this.expressions = expressions;\n }\n Chain.prototype.visit = function (visitor, context) {\n if (context === void 0) { context = null; }\n return visitor.visitChain(this, context);\n };\n return Chain;\n }(AST));\n var Conditional = (function (_super) {\n __extends$3(Conditional, _super);\n function Conditional(span, condition, trueExp, falseExp) {\n _super.call(this, span);\n this.condition = condition;\n this.trueExp = trueExp;\n this.falseExp = falseExp;\n }\n Conditional.prototype.visit = function (visitor, context) {\n if (context === void 0) { context = null; }\n return visitor.visitConditional(this, context);\n };\n return Conditional;\n }(AST));\n var PropertyRead = (function (_super) {\n __extends$3(PropertyRead, _super);\n function PropertyRead(span, receiver, name) {\n _super.call(this, span);\n this.receiver = receiver;\n this.name = name;\n }\n PropertyRead.prototype.visit = function (visitor, context) {\n if (context === void 0) { context = null; }\n return visitor.visitPropertyRead(this, context);\n };\n return PropertyRead;\n }(AST));\n var PropertyWrite = (function (_super) {\n __extends$3(PropertyWrite, _super);\n function PropertyWrite(span, receiver, name, value) {\n _super.call(this, span);\n this.receiver = receiver;\n this.name = name;\n this.value = value;\n }\n PropertyWrite.prototype.visit = function (visitor, context) {\n if (context === void 0) { context = null; }\n return visitor.visitPropertyWrite(this, context);\n };\n return PropertyWrite;\n }(AST));\n var SafePropertyRead = (function (_super) {\n __extends$3(SafePropertyRead, _super);\n function SafePropertyRead(span, receiver, name) {\n _super.call(this, span);\n this.receiver = receiver;\n this.name = name;\n }\n SafePropertyRead.prototype.visit = function (visitor, context) {\n if (context === void 0) { context = null; }\n return visitor.visitSafePropertyRead(this, context);\n };\n return SafePropertyRead;\n }(AST));\n var KeyedRead = (function (_super) {\n __extends$3(KeyedRead, _super);\n function KeyedRead(span, obj, key) {\n _super.call(this, span);\n this.obj = obj;\n this.key = key;\n }\n KeyedRead.prototype.visit = function (visitor, context) {\n if (context === void 0) { context = null; }\n return visitor.visitKeyedRead(this, context);\n };\n return KeyedRead;\n }(AST));\n var KeyedWrite = (function (_super) {\n __extends$3(KeyedWrite, _super);\n function KeyedWrite(span, obj, key, value) {\n _super.call(this, span);\n this.obj = obj;\n this.key = key;\n this.value = value;\n }\n KeyedWrite.prototype.visit = function (visitor, context) {\n if (context === void 0) { context = null; }\n return visitor.visitKeyedWrite(this, context);\n };\n return KeyedWrite;\n }(AST));\n var BindingPipe = (function (_super) {\n __extends$3(BindingPipe, _super);\n function BindingPipe(span, exp, name, args) {\n _super.call(this, span);\n this.exp = exp;\n this.name = name;\n this.args = args;\n }\n BindingPipe.prototype.visit = function (visitor, context) {\n if (context === void 0) { context = null; }\n return visitor.visitPipe(this, context);\n };\n return BindingPipe;\n }(AST));\n var LiteralPrimitive = (function (_super) {\n __extends$3(LiteralPrimitive, _super);\n function LiteralPrimitive(span, value) {\n _super.call(this, span);\n this.value = value;\n }\n LiteralPrimitive.prototype.visit = function (visitor, context) {\n if (context === void 0) { context = null; }\n return visitor.visitLiteralPrimitive(this, context);\n };\n return LiteralPrimitive;\n }(AST));\n var LiteralArray = (function (_super) {\n __extends$3(LiteralArray, _super);\n function LiteralArray(span, expressions) {\n _super.call(this, span);\n this.expressions = expressions;\n }\n LiteralArray.prototype.visit = function (visitor, context) {\n if (context === void 0) { context = null; }\n return visitor.visitLiteralArray(this, context);\n };\n return LiteralArray;\n }(AST));\n var LiteralMap = (function (_super) {\n __extends$3(LiteralMap, _super);\n function LiteralMap(span, keys, values) {\n _super.call(this, span);\n this.keys = keys;\n this.values = values;\n }\n LiteralMap.prototype.visit = function (visitor, context) {\n if (context === void 0) { context = null; }\n return visitor.visitLiteralMap(this, context);\n };\n return LiteralMap;\n }(AST));\n var Interpolation = (function (_super) {\n __extends$3(Interpolation, _super);\n function Interpolation(span, strings, expressions) {\n _super.call(this, span);\n this.strings = strings;\n this.expressions = expressions;\n }\n Interpolation.prototype.visit = function (visitor, context) {\n if (context === void 0) { context = null; }\n return visitor.visitInterpolation(this, context);\n };\n return Interpolation;\n }(AST));\n var Binary = (function (_super) {\n __extends$3(Binary, _super);\n function Binary(span, operation, left, right) {\n _super.call(this, span);\n this.operation = operation;\n this.left = left;\n this.right = right;\n }\n Binary.prototype.visit = function (visitor, context) {\n if (context === void 0) { context = null; }\n return visitor.visitBinary(this, context);\n };\n return Binary;\n }(AST));\n var PrefixNot = (function (_super) {\n __extends$3(PrefixNot, _super);\n function PrefixNot(span, expression) {\n _super.call(this, span);\n this.expression = expression;\n }\n PrefixNot.prototype.visit = function (visitor, context) {\n if (context === void 0) { context = null; }\n return visitor.visitPrefixNot(this, context);\n };\n return PrefixNot;\n }(AST));\n var MethodCall = (function (_super) {\n __extends$3(MethodCall, _super);\n function MethodCall(span, receiver, name, args) {\n _super.call(this, span);\n this.receiver = receiver;\n this.name = name;\n this.args = args;\n }\n MethodCall.prototype.visit = function (visitor, context) {\n if (context === void 0) { context = null; }\n return visitor.visitMethodCall(this, context);\n };\n return MethodCall;\n }(AST));\n var SafeMethodCall = (function (_super) {\n __extends$3(SafeMethodCall, _super);\n function SafeMethodCall(span, receiver, name, args) {\n _super.call(this, span);\n this.receiver = receiver;\n this.name = name;\n this.args = args;\n }\n SafeMethodCall.prototype.visit = function (visitor, context) {\n if (context === void 0) { context = null; }\n return visitor.visitSafeMethodCall(this, context);\n };\n return SafeMethodCall;\n }(AST));\n var FunctionCall = (function (_super) {\n __extends$3(FunctionCall, _super);\n function FunctionCall(span, target, args) {\n _super.call(this, span);\n this.target = target;\n this.args = args;\n }\n FunctionCall.prototype.visit = function (visitor, context) {\n if (context === void 0) { context = null; }\n return visitor.visitFunctionCall(this, context);\n };\n return FunctionCall;\n }(AST));\n var ASTWithSource = (function (_super) {\n __extends$3(ASTWithSource, _super);\n function ASTWithSource(ast, source, location, errors) {\n _super.call(this, new ParseSpan(0, isBlank(source) ? 0 : source.length));\n this.ast = ast;\n this.source = source;\n this.location = location;\n this.errors = errors;\n }\n ASTWithSource.prototype.visit = function (visitor, context) {\n if (context === void 0) { context = null; }\n return this.ast.visit(visitor, context);\n };\n ASTWithSource.prototype.toString = function () { return this.source + \" in \" + this.location; };\n return ASTWithSource;\n }(AST));\n var TemplateBinding = (function () {\n function TemplateBinding(key, keyIsVar, name, expression) {\n this.key = key;\n this.keyIsVar = keyIsVar;\n this.name = name;\n this.expression = expression;\n }\n return TemplateBinding;\n }());\n var RecursiveAstVisitor = (function () {\n function RecursiveAstVisitor() {\n }\n RecursiveAstVisitor.prototype.visitBinary = function (ast, context) {\n ast.left.visit(this);\n ast.right.visit(this);\n return null;\n };\n RecursiveAstVisitor.prototype.visitChain = function (ast, context) { return this.visitAll(ast.expressions, context); };\n RecursiveAstVisitor.prototype.visitConditional = function (ast, context) {\n ast.condition.visit(this);\n ast.trueExp.visit(this);\n ast.falseExp.visit(this);\n return null;\n };\n RecursiveAstVisitor.prototype.visitPipe = function (ast, context) {\n ast.exp.visit(this);\n this.visitAll(ast.args, context);\n return null;\n };\n RecursiveAstVisitor.prototype.visitFunctionCall = function (ast, context) {\n ast.target.visit(this);\n this.visitAll(ast.args, context);\n return null;\n };\n RecursiveAstVisitor.prototype.visitImplicitReceiver = function (ast, context) { return null; };\n RecursiveAstVisitor.prototype.visitInterpolation = function (ast, context) {\n return this.visitAll(ast.expressions, context);\n };\n RecursiveAstVisitor.prototype.visitKeyedRead = function (ast, context) {\n ast.obj.visit(this);\n ast.key.visit(this);\n return null;\n };\n RecursiveAstVisitor.prototype.visitKeyedWrite = function (ast, context) {\n ast.obj.visit(this);\n ast.key.visit(this);\n ast.value.visit(this);\n return null;\n };\n RecursiveAstVisitor.prototype.visitLiteralArray = function (ast, context) {\n return this.visitAll(ast.expressions, context);\n };\n RecursiveAstVisitor.prototype.visitLiteralMap = function (ast, context) { return this.visitAll(ast.values, context); };\n RecursiveAstVisitor.prototype.visitLiteralPrimitive = function (ast, context) { return null; };\n RecursiveAstVisitor.prototype.visitMethodCall = function (ast, context) {\n ast.receiver.visit(this);\n return this.visitAll(ast.args, context);\n };\n RecursiveAstVisitor.prototype.visitPrefixNot = function (ast, context) {\n ast.expression.visit(this);\n return null;\n };\n RecursiveAstVisitor.prototype.visitPropertyRead = function (ast, context) {\n ast.receiver.visit(this);\n return null;\n };\n RecursiveAstVisitor.prototype.visitPropertyWrite = function (ast, context) {\n ast.receiver.visit(this);\n ast.value.visit(this);\n return null;\n };\n RecursiveAstVisitor.prototype.visitSafePropertyRead = function (ast, context) {\n ast.receiver.visit(this);\n return null;\n };\n RecursiveAstVisitor.prototype.visitSafeMethodCall = function (ast, context) {\n ast.receiver.visit(this);\n return this.visitAll(ast.args, context);\n };\n RecursiveAstVisitor.prototype.visitAll = function (asts, context) {\n var _this = this;\n asts.forEach(function (ast) { return ast.visit(_this, context); });\n return null;\n };\n RecursiveAstVisitor.prototype.visitQuote = function (ast, context) { return null; };\n return RecursiveAstVisitor;\n }());\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var $EOF = 0;\n var $TAB = 9;\n var $LF = 10;\n var $VTAB = 11;\n var $FF = 12;\n var $CR = 13;\n var $SPACE = 32;\n var $BANG = 33;\n var $DQ = 34;\n var $HASH = 35;\n var $$ = 36;\n var $PERCENT = 37;\n var $AMPERSAND = 38;\n var $SQ = 39;\n var $LPAREN = 40;\n var $RPAREN = 41;\n var $STAR = 42;\n var $PLUS = 43;\n var $COMMA = 44;\n var $MINUS = 45;\n var $PERIOD = 46;\n var $SLASH = 47;\n var $COLON = 58;\n var $SEMICOLON = 59;\n var $LT = 60;\n var $EQ = 61;\n var $GT = 62;\n var $QUESTION = 63;\n var $0 = 48;\n var $9 = 57;\n var $A = 65;\n var $E = 69;\n var $F = 70;\n var $X = 88;\n var $Z = 90;\n var $LBRACKET = 91;\n var $BACKSLASH = 92;\n var $RBRACKET = 93;\n var $CARET = 94;\n var $_ = 95;\n var $a = 97;\n var $e = 101;\n var $f = 102;\n var $n = 110;\n var $r = 114;\n var $t = 116;\n var $u = 117;\n var $v = 118;\n var $x = 120;\n var $z = 122;\n var $LBRACE = 123;\n var $BAR = 124;\n var $RBRACE = 125;\n var $NBSP = 160;\n var $BT = 96;\n function isWhitespace(code) {\n return (code >= $TAB && code <= $SPACE) || (code == $NBSP);\n }\n function isDigit(code) {\n return $0 <= code && code <= $9;\n }\n function isAsciiLetter(code) {\n return code >= $a && code <= $z || code >= $A && code <= $Z;\n }\n function isAsciiHexDigit(code) {\n return code >= $a && code <= $f || code >= $A && code <= $F || isDigit(code);\n }\n\n function assertArrayOfStrings(identifier, value) {\n if (!_angular_core.isDevMode() || isBlank(value)) {\n return;\n }\n if (!isArray(value)) {\n throw new Error(\"Expected '\" + identifier + \"' to be an array of strings.\");\n }\n for (var i = 0; i < value.length; i += 1) {\n if (!isString(value[i])) {\n throw new Error(\"Expected '\" + identifier + \"' to be an array of strings.\");\n }\n }\n }\n var INTERPOLATION_BLACKLIST_REGEXPS = [\n /^\\s*$/,\n /[<>]/,\n /^[{}]$/,\n /&(#|[a-z])/i,\n /^\\/\\//,\n ];\n function assertInterpolationSymbols(identifier, value) {\n if (isPresent(value) && !(isArray(value) && value.length == 2)) {\n throw new Error(\"Expected '\" + identifier + \"' to be an array, [start, end].\");\n }\n else if (_angular_core.isDevMode() && !isBlank(value)) {\n var start_1 = value[0];\n var end_1 = value[1];\n // black list checking\n INTERPOLATION_BLACKLIST_REGEXPS.forEach(function (regexp) {\n if (regexp.test(start_1) || regexp.test(end_1)) {\n throw new Error(\"['\" + start_1 + \"', '\" + end_1 + \"'] contains unusable interpolation symbol.\");\n }\n });\n }\n }\n\n var InterpolationConfig = (function () {\n function InterpolationConfig(start, end) {\n this.start = start;\n this.end = end;\n }\n InterpolationConfig.fromArray = function (markers) {\n if (!markers) {\n return DEFAULT_INTERPOLATION_CONFIG;\n }\n assertInterpolationSymbols('interpolation', markers);\n return new InterpolationConfig(markers[0], markers[1]);\n };\n ;\n return InterpolationConfig;\n }());\n var DEFAULT_INTERPOLATION_CONFIG = new InterpolationConfig('{{', '}}');\n\n var TokenType;\n (function (TokenType) {\n TokenType[TokenType[\"Character\"] = 0] = \"Character\";\n TokenType[TokenType[\"Identifier\"] = 1] = \"Identifier\";\n TokenType[TokenType[\"Keyword\"] = 2] = \"Keyword\";\n TokenType[TokenType[\"String\"] = 3] = \"String\";\n TokenType[TokenType[\"Operator\"] = 4] = \"Operator\";\n TokenType[TokenType[\"Number\"] = 5] = \"Number\";\n TokenType[TokenType[\"Error\"] = 6] = \"Error\";\n })(TokenType || (TokenType = {}));\n var KEYWORDS = ['var', 'let', 'null', 'undefined', 'true', 'false', 'if', 'else', 'this'];\n var Lexer = (function () {\n function Lexer() {\n }\n Lexer.prototype.tokenize = function (text) {\n var scanner = new _Scanner(text);\n var tokens = [];\n var token = scanner.scanToken();\n while (token != null) {\n tokens.push(token);\n token = scanner.scanToken();\n }\n return tokens;\n };\n Lexer.decorators = [\n { type: _angular_core.Injectable },\n ];\n /** @nocollapse */\n Lexer.ctorParameters = [];\n return Lexer;\n }());\n var Token = (function () {\n function Token(index, type, numValue, strValue) {\n this.index = index;\n this.type = type;\n this.numValue = numValue;\n this.strValue = strValue;\n }\n Token.prototype.isCharacter = function (code) {\n return this.type == TokenType.Character && this.numValue == code;\n };\n Token.prototype.isNumber = function () { return this.type == TokenType.Number; };\n Token.prototype.isString = function () { return this.type == TokenType.String; };\n Token.prototype.isOperator = function (operater) {\n return this.type == TokenType.Operator && this.strValue == operater;\n };\n Token.prototype.isIdentifier = function () { return this.type == TokenType.Identifier; };\n Token.prototype.isKeyword = function () { return this.type == TokenType.Keyword; };\n Token.prototype.isKeywordLet = function () { return this.type == TokenType.Keyword && this.strValue == 'let'; };\n Token.prototype.isKeywordNull = function () { return this.type == TokenType.Keyword && this.strValue == 'null'; };\n Token.prototype.isKeywordUndefined = function () {\n return this.type == TokenType.Keyword && this.strValue == 'undefined';\n };\n Token.prototype.isKeywordTrue = function () { return this.type == TokenType.Keyword && this.strValue == 'true'; };\n Token.prototype.isKeywordFalse = function () { return this.type == TokenType.Keyword && this.strValue == 'false'; };\n Token.prototype.isKeywordThis = function () { return this.type == TokenType.Keyword && this.strValue == 'this'; };\n Token.prototype.isError = function () { return this.type == TokenType.Error; };\n Token.prototype.toNumber = function () { return this.type == TokenType.Number ? this.numValue : -1; };\n Token.prototype.toString = function () {\n switch (this.type) {\n case TokenType.Character:\n case TokenType.Identifier:\n case TokenType.Keyword:\n case TokenType.Operator:\n case TokenType.String:\n case TokenType.Error:\n return this.strValue;\n case TokenType.Number:\n return this.numValue.toString();\n default:\n return null;\n }\n };\n return Token;\n }());\n function newCharacterToken(index, code) {\n return new Token(index, TokenType.Character, code, String.fromCharCode(code));\n }\n function newIdentifierToken(index, text) {\n return new Token(index, TokenType.Identifier, 0, text);\n }\n function newKeywordToken(index, text) {\n return new Token(index, TokenType.Keyword, 0, text);\n }\n function newOperatorToken(index, text) {\n return new Token(index, TokenType.Operator, 0, text);\n }\n function newStringToken(index, text) {\n return new Token(index, TokenType.String, 0, text);\n }\n function newNumberToken(index, n) {\n return new Token(index, TokenType.Number, n, '');\n }\n function newErrorToken(index, message) {\n return new Token(index, TokenType.Error, 0, message);\n }\n var EOF = new Token(-1, TokenType.Character, 0, '');\n var _Scanner = (function () {\n function _Scanner(input) {\n this.input = input;\n this.peek = 0;\n this.index = -1;\n this.length = input.length;\n this.advance();\n }\n _Scanner.prototype.advance = function () {\n this.peek = ++this.index >= this.length ? $EOF : this.input.charCodeAt(this.index);\n };\n _Scanner.prototype.scanToken = function () {\n var input = this.input, length = this.length, peek = this.peek, index = this.index;\n // Skip whitespace.\n while (peek <= $SPACE) {\n if (++index >= length) {\n peek = $EOF;\n break;\n }\n else {\n peek = input.charCodeAt(index);\n }\n }\n this.peek = peek;\n this.index = index;\n if (index >= length) {\n return null;\n }\n // Handle identifiers and numbers.\n if (isIdentifierStart(peek))\n return this.scanIdentifier();\n if (isDigit(peek))\n return this.scanNumber(index);\n var start = index;\n switch (peek) {\n case $PERIOD:\n this.advance();\n return isDigit(this.peek) ? this.scanNumber(start) :\n newCharacterToken(start, $PERIOD);\n case $LPAREN:\n case $RPAREN:\n case $LBRACE:\n case $RBRACE:\n case $LBRACKET:\n case $RBRACKET:\n case $COMMA:\n case $COLON:\n case $SEMICOLON:\n return this.scanCharacter(start, peek);\n case $SQ:\n case $DQ:\n return this.scanString();\n case $HASH:\n case $PLUS:\n case $MINUS:\n case $STAR:\n case $SLASH:\n case $PERCENT:\n case $CARET:\n return this.scanOperator(start, String.fromCharCode(peek));\n case $QUESTION:\n return this.scanComplexOperator(start, '?', $PERIOD, '.');\n case $LT:\n case $GT:\n return this.scanComplexOperator(start, String.fromCharCode(peek), $EQ, '=');\n case $BANG:\n case $EQ:\n return this.scanComplexOperator(start, String.fromCharCode(peek), $EQ, '=', $EQ, '=');\n case $AMPERSAND:\n return this.scanComplexOperator(start, '&', $AMPERSAND, '&');\n case $BAR:\n return this.scanComplexOperator(start, '|', $BAR, '|');\n case $NBSP:\n while (isWhitespace(this.peek))\n this.advance();\n return this.scanToken();\n }\n this.advance();\n return this.error(\"Unexpected character [\" + String.fromCharCode(peek) + \"]\", 0);\n };\n _Scanner.prototype.scanCharacter = function (start, code) {\n this.advance();\n return newCharacterToken(start, code);\n };\n _Scanner.prototype.scanOperator = function (start, str) {\n this.advance();\n return newOperatorToken(start, str);\n };\n /**\n * Tokenize a 2/3 char long operator\n *\n * @param start start index in the expression\n * @param one first symbol (always part of the operator)\n * @param twoCode code point for the second symbol\n * @param two second symbol (part of the operator when the second code point matches)\n * @param threeCode code point for the third symbol\n * @param three third symbol (part of the operator when provided and matches source expression)\n * @returns {Token}\n */\n _Scanner.prototype.scanComplexOperator = function (start, one, twoCode, two, threeCode, three) {\n this.advance();\n var str = one;\n if (this.peek == twoCode) {\n this.advance();\n str += two;\n }\n if (isPresent(threeCode) && this.peek == threeCode) {\n this.advance();\n str += three;\n }\n return newOperatorToken(start, str);\n };\n _Scanner.prototype.scanIdentifier = function () {\n var start = this.index;\n this.advance();\n while (isIdentifierPart(this.peek))\n this.advance();\n var str = this.input.substring(start, this.index);\n return KEYWORDS.indexOf(str) > -1 ? newKeywordToken(start, str) :\n newIdentifierToken(start, str);\n };\n _Scanner.prototype.scanNumber = function (start) {\n var simple = (this.index === start);\n this.advance(); // Skip initial digit.\n while (true) {\n if (isDigit(this.peek)) {\n }\n else if (this.peek == $PERIOD) {\n simple = false;\n }\n else if (isExponentStart(this.peek)) {\n this.advance();\n if (isExponentSign(this.peek))\n this.advance();\n if (!isDigit(this.peek))\n return this.error('Invalid exponent', -1);\n simple = false;\n }\n else {\n break;\n }\n this.advance();\n }\n var str = this.input.substring(start, this.index);\n var value = simple ? NumberWrapper.parseIntAutoRadix(str) : parseFloat(str);\n return newNumberToken(start, value);\n };\n _Scanner.prototype.scanString = function () {\n var start = this.index;\n var quote = this.peek;\n this.advance(); // Skip initial quote.\n var buffer;\n var marker = this.index;\n var input = this.input;\n while (this.peek != quote) {\n if (this.peek == $BACKSLASH) {\n if (buffer == null)\n buffer = new StringJoiner();\n buffer.add(input.substring(marker, this.index));\n this.advance();\n var unescapedCode;\n if (this.peek == $u) {\n // 4 character hex code for unicode character.\n var hex = input.substring(this.index + 1, this.index + 5);\n try {\n unescapedCode = NumberWrapper.parseInt(hex, 16);\n }\n catch (e) {\n return this.error(\"Invalid unicode escape [\\\\u\" + hex + \"]\", 0);\n }\n for (var i = 0; i < 5; i++) {\n this.advance();\n }\n }\n else {\n unescapedCode = unescape(this.peek);\n this.advance();\n }\n buffer.add(String.fromCharCode(unescapedCode));\n marker = this.index;\n }\n else if (this.peek == $EOF) {\n return this.error('Unterminated quote', 0);\n }\n else {\n this.advance();\n }\n }\n var last = input.substring(marker, this.index);\n this.advance(); // Skip terminating quote.\n // Compute the unescaped string value.\n var unescaped = last;\n if (buffer != null) {\n buffer.add(last);\n unescaped = buffer.toString();\n }\n return newStringToken(start, unescaped);\n };\n _Scanner.prototype.error = function (message, offset) {\n var position = this.index + offset;\n return newErrorToken(position, \"Lexer Error: \" + message + \" at column \" + position + \" in expression [\" + this.input + \"]\");\n };\n return _Scanner;\n }());\n function isIdentifierStart(code) {\n return ($a <= code && code <= $z) || ($A <= code && code <= $Z) ||\n (code == $_) || (code == $$);\n }\n function isIdentifier(input) {\n if (input.length == 0)\n return false;\n var scanner = new _Scanner(input);\n if (!isIdentifierStart(scanner.peek))\n return false;\n scanner.advance();\n while (scanner.peek !== $EOF) {\n if (!isIdentifierPart(scanner.peek))\n return false;\n scanner.advance();\n }\n return true;\n }\n function isIdentifierPart(code) {\n return isAsciiLetter(code) || isDigit(code) || (code == $_) ||\n (code == $$);\n }\n function isExponentStart(code) {\n return code == $e || code == $E;\n }\n function isExponentSign(code) {\n return code == $MINUS || code == $PLUS;\n }\n function isQuote(code) {\n return code === $SQ || code === $DQ || code === $BT;\n }\n function unescape(code) {\n switch (code) {\n case $n:\n return $LF;\n case $f:\n return $FF;\n case $r:\n return $CR;\n case $t:\n return $TAB;\n case $v:\n return $VTAB;\n default:\n return code;\n }\n }\n\n var SplitInterpolation = (function () {\n function SplitInterpolation(strings, expressions, offsets) {\n this.strings = strings;\n this.expressions = expressions;\n this.offsets = offsets;\n }\n return SplitInterpolation;\n }());\n var TemplateBindingParseResult = (function () {\n function TemplateBindingParseResult(templateBindings, warnings, errors) {\n this.templateBindings = templateBindings;\n this.warnings = warnings;\n this.errors = errors;\n }\n return TemplateBindingParseResult;\n }());\n function _createInterpolateRegExp(config) {\n var pattern = escapeRegExp(config.start) + '([\\\\s\\\\S]*?)' + escapeRegExp(config.end);\n return new RegExp(pattern, 'g');\n }\n var Parser = (function () {\n function Parser(_lexer) {\n this._lexer = _lexer;\n this.errors = [];\n }\n Parser.prototype.parseAction = function (input, location, interpolationConfig) {\n if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n this._checkNoInterpolation(input, location, interpolationConfig);\n var sourceToLex = this._stripComments(input);\n var tokens = this._lexer.tokenize(this._stripComments(input));\n var ast = new _ParseAST(input, location, tokens, sourceToLex.length, true, this.errors, input.length - sourceToLex.length)\n .parseChain();\n return new ASTWithSource(ast, input, location, this.errors);\n };\n Parser.prototype.parseBinding = function (input, location, interpolationConfig) {\n if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n var ast = this._parseBindingAst(input, location, interpolationConfig);\n return new ASTWithSource(ast, input, location, this.errors);\n };\n Parser.prototype.parseSimpleBinding = function (input, location, interpolationConfig) {\n if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n var ast = this._parseBindingAst(input, location, interpolationConfig);\n if (!SimpleExpressionChecker.check(ast)) {\n this._reportError('Host binding expression can only contain field access and constants', input, location);\n }\n return new ASTWithSource(ast, input, location, this.errors);\n };\n Parser.prototype._reportError = function (message, input, errLocation, ctxLocation) {\n this.errors.push(new ParserError(message, input, errLocation, ctxLocation));\n };\n Parser.prototype._parseBindingAst = function (input, location, interpolationConfig) {\n // Quotes expressions use 3rd-party expression language. We don't want to use\n // our lexer or parser for that, so we check for that ahead of time.\n var quote = this._parseQuote(input, location);\n if (isPresent(quote)) {\n return quote;\n }\n this._checkNoInterpolation(input, location, interpolationConfig);\n var sourceToLex = this._stripComments(input);\n var tokens = this._lexer.tokenize(sourceToLex);\n return new _ParseAST(input, location, tokens, sourceToLex.length, false, this.errors, input.length - sourceToLex.length)\n .parseChain();\n };\n Parser.prototype._parseQuote = function (input, location) {\n if (isBlank(input))\n return null;\n var prefixSeparatorIndex = input.indexOf(':');\n if (prefixSeparatorIndex == -1)\n return null;\n var prefix = input.substring(0, prefixSeparatorIndex).trim();\n if (!isIdentifier(prefix))\n return null;\n var uninterpretedExpression = input.substring(prefixSeparatorIndex + 1);\n return new Quote(new ParseSpan(0, input.length), prefix, uninterpretedExpression, location);\n };\n Parser.prototype.parseTemplateBindings = function (input, location) {\n var tokens = this._lexer.tokenize(input);\n return new _ParseAST(input, location, tokens, input.length, false, this.errors, 0)\n .parseTemplateBindings();\n };\n Parser.prototype.parseInterpolation = function (input, location, interpolationConfig) {\n if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n var split = this.splitInterpolation(input, location, interpolationConfig);\n if (split == null)\n return null;\n var expressions = [];\n for (var i = 0; i < split.expressions.length; ++i) {\n var expressionText = split.expressions[i];\n var sourceToLex = this._stripComments(expressionText);\n var tokens = this._lexer.tokenize(this._stripComments(split.expressions[i]));\n var ast = new _ParseAST(input, location, tokens, sourceToLex.length, false, this.errors, split.offsets[i] + (expressionText.length - sourceToLex.length))\n .parseChain();\n expressions.push(ast);\n }\n return new ASTWithSource(new Interpolation(new ParseSpan(0, isBlank(input) ? 0 : input.length), split.strings, expressions), input, location, this.errors);\n };\n Parser.prototype.splitInterpolation = function (input, location, interpolationConfig) {\n if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n var regexp = _createInterpolateRegExp(interpolationConfig);\n var parts = input.split(regexp);\n if (parts.length <= 1) {\n return null;\n }\n var strings = [];\n var expressions = [];\n var offsets = [];\n var offset = 0;\n for (var i = 0; i < parts.length; i++) {\n var part = parts[i];\n if (i % 2 === 0) {\n // fixed string\n strings.push(part);\n offset += part.length;\n }\n else if (part.trim().length > 0) {\n offset += interpolationConfig.start.length;\n expressions.push(part);\n offsets.push(offset);\n offset += part.length + interpolationConfig.end.length;\n }\n else {\n this._reportError('Blank expressions are not allowed in interpolated strings', input, \"at column \" + this._findInterpolationErrorColumn(parts, i, interpolationConfig) + \" in\", location);\n }\n }\n return new SplitInterpolation(strings, expressions, offsets);\n };\n Parser.prototype.wrapLiteralPrimitive = function (input, location) {\n return new ASTWithSource(new LiteralPrimitive(new ParseSpan(0, isBlank(input) ? 0 : input.length), input), input, location, this.errors);\n };\n Parser.prototype._stripComments = function (input) {\n var i = this._commentStart(input);\n return isPresent(i) ? input.substring(0, i).trim() : input;\n };\n Parser.prototype._commentStart = function (input) {\n var outerQuote = null;\n for (var i = 0; i < input.length - 1; i++) {\n var char = input.charCodeAt(i);\n var nextChar = input.charCodeAt(i + 1);\n if (char === $SLASH && nextChar == $SLASH && isBlank(outerQuote))\n return i;\n if (outerQuote === char) {\n outerQuote = null;\n }\n else if (isBlank(outerQuote) && isQuote(char)) {\n outerQuote = char;\n }\n }\n return null;\n };\n Parser.prototype._checkNoInterpolation = function (input, location, interpolationConfig) {\n var regexp = _createInterpolateRegExp(interpolationConfig);\n var parts = input.split(regexp);\n if (parts.length > 1) {\n this._reportError(\"Got interpolation (\" + interpolationConfig.start + interpolationConfig.end + \") where expression was expected\", input, \"at column \" + this._findInterpolationErrorColumn(parts, 1, interpolationConfig) + \" in\", location);\n }\n };\n Parser.prototype._findInterpolationErrorColumn = function (parts, partInErrIdx, interpolationConfig) {\n var errLocation = '';\n for (var j = 0; j < partInErrIdx; j++) {\n errLocation += j % 2 === 0 ?\n parts[j] :\n \"\" + interpolationConfig.start + parts[j] + interpolationConfig.end;\n }\n return errLocation.length;\n };\n Parser.decorators = [\n { type: _angular_core.Injectable },\n ];\n /** @nocollapse */\n Parser.ctorParameters = [\n { type: Lexer, },\n ];\n return Parser;\n }());\n var _ParseAST = (function () {\n function _ParseAST(input, location, tokens, inputLength, parseAction, errors, offset) {\n this.input = input;\n this.location = location;\n this.tokens = tokens;\n this.inputLength = inputLength;\n this.parseAction = parseAction;\n this.errors = errors;\n this.offset = offset;\n this.rparensExpected = 0;\n this.rbracketsExpected = 0;\n this.rbracesExpected = 0;\n this.index = 0;\n }\n _ParseAST.prototype.peek = function (offset) {\n var i = this.index + offset;\n return i < this.tokens.length ? this.tokens[i] : EOF;\n };\n Object.defineProperty(_ParseAST.prototype, \"next\", {\n get: function () { return this.peek(0); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(_ParseAST.prototype, \"inputIndex\", {\n get: function () {\n return (this.index < this.tokens.length) ? this.next.index + this.offset :\n this.inputLength + this.offset;\n },\n enumerable: true,\n configurable: true\n });\n _ParseAST.prototype.span = function (start) { return new ParseSpan(start, this.inputIndex); };\n _ParseAST.prototype.advance = function () { this.index++; };\n _ParseAST.prototype.optionalCharacter = function (code) {\n if (this.next.isCharacter(code)) {\n this.advance();\n return true;\n }\n else {\n return false;\n }\n };\n _ParseAST.prototype.peekKeywordLet = function () { return this.next.isKeywordLet(); };\n _ParseAST.prototype.expectCharacter = function (code) {\n if (this.optionalCharacter(code))\n return;\n this.error(\"Missing expected \" + String.fromCharCode(code));\n };\n _ParseAST.prototype.optionalOperator = function (op) {\n if (this.next.isOperator(op)) {\n this.advance();\n return true;\n }\n else {\n return false;\n }\n };\n _ParseAST.prototype.expectOperator = function (operator) {\n if (this.optionalOperator(operator))\n return;\n this.error(\"Missing expected operator \" + operator);\n };\n _ParseAST.prototype.expectIdentifierOrKeyword = function () {\n var n = this.next;\n if (!n.isIdentifier() && !n.isKeyword()) {\n this.error(\"Unexpected token \" + n + \", expected identifier or keyword\");\n return '';\n }\n this.advance();\n return n.toString();\n };\n _ParseAST.prototype.expectIdentifierOrKeywordOrString = function () {\n var n = this.next;\n if (!n.isIdentifier() && !n.isKeyword() && !n.isString()) {\n this.error(\"Unexpected token \" + n + \", expected identifier, keyword, or string\");\n return '';\n }\n this.advance();\n return n.toString();\n };\n _ParseAST.prototype.parseChain = function () {\n var exprs = [];\n var start = this.inputIndex;\n while (this.index < this.tokens.length) {\n var expr = this.parsePipe();\n exprs.push(expr);\n if (this.optionalCharacter($SEMICOLON)) {\n if (!this.parseAction) {\n this.error('Binding expression cannot contain chained expression');\n }\n while (this.optionalCharacter($SEMICOLON)) {\n } // read all semicolons\n }\n else if (this.index < this.tokens.length) {\n this.error(\"Unexpected token '\" + this.next + \"'\");\n }\n }\n if (exprs.length == 0)\n return new EmptyExpr(this.span(start));\n if (exprs.length == 1)\n return exprs[0];\n return new Chain(this.span(start), exprs);\n };\n _ParseAST.prototype.parsePipe = function () {\n var result = this.parseExpression();\n if (this.optionalOperator('|')) {\n if (this.parseAction) {\n this.error('Cannot have a pipe in an action expression');\n }\n do {\n var name = this.expectIdentifierOrKeyword();\n var args = [];\n while (this.optionalCharacter($COLON)) {\n args.push(this.parseExpression());\n }\n result = new BindingPipe(this.span(result.span.start - this.offset), result, name, args);\n } while (this.optionalOperator('|'));\n }\n return result;\n };\n _ParseAST.prototype.parseExpression = function () { return this.parseConditional(); };\n _ParseAST.prototype.parseConditional = function () {\n var start = this.inputIndex;\n var result = this.parseLogicalOr();\n if (this.optionalOperator('?')) {\n var yes = this.parsePipe();\n var no = void 0;\n if (!this.optionalCharacter($COLON)) {\n var end = this.inputIndex;\n var expression = this.input.substring(start, end);\n this.error(\"Conditional expression \" + expression + \" requires all 3 expressions\");\n no = new EmptyExpr(this.span(start));\n }\n else {\n no = this.parsePipe();\n }\n return new Conditional(this.span(start), result, yes, no);\n }\n else {\n return result;\n }\n };\n _ParseAST.prototype.parseLogicalOr = function () {\n // '||'\n var result = this.parseLogicalAnd();\n while (this.optionalOperator('||')) {\n var right = this.parseLogicalAnd();\n result = new Binary(this.span(result.span.start), '||', result, right);\n }\n return result;\n };\n _ParseAST.prototype.parseLogicalAnd = function () {\n // '&&'\n var result = this.parseEquality();\n while (this.optionalOperator('&&')) {\n var right = this.parseEquality();\n result = new Binary(this.span(result.span.start), '&&', result, right);\n }\n return result;\n };\n _ParseAST.prototype.parseEquality = function () {\n // '==','!=','===','!=='\n var result = this.parseRelational();\n while (this.next.type == TokenType.Operator) {\n var operator = this.next.strValue;\n switch (operator) {\n case '==':\n case '===':\n case '!=':\n case '!==':\n this.advance();\n var right = this.parseRelational();\n result = new Binary(this.span(result.span.start), operator, result, right);\n continue;\n }\n break;\n }\n return result;\n };\n _ParseAST.prototype.parseRelational = function () {\n // '<', '>', '<=', '>='\n var result = this.parseAdditive();\n while (this.next.type == TokenType.Operator) {\n var operator = this.next.strValue;\n switch (operator) {\n case '<':\n case '>':\n case '<=':\n case '>=':\n this.advance();\n var right = this.parseAdditive();\n result = new Binary(this.span(result.span.start), operator, result, right);\n continue;\n }\n break;\n }\n return result;\n };\n _ParseAST.prototype.parseAdditive = function () {\n // '+', '-'\n var result = this.parseMultiplicative();\n while (this.next.type == TokenType.Operator) {\n var operator = this.next.strValue;\n switch (operator) {\n case '+':\n case '-':\n this.advance();\n var right = this.parseMultiplicative();\n result = new Binary(this.span(result.span.start), operator, result, right);\n continue;\n }\n break;\n }\n return result;\n };\n _ParseAST.prototype.parseMultiplicative = function () {\n // '*', '%', '/'\n var result = this.parsePrefix();\n while (this.next.type == TokenType.Operator) {\n var operator = this.next.strValue;\n switch (operator) {\n case '*':\n case '%':\n case '/':\n this.advance();\n var right = this.parsePrefix();\n result = new Binary(this.span(result.span.start), operator, result, right);\n continue;\n }\n break;\n }\n return result;\n };\n _ParseAST.prototype.parsePrefix = function () {\n if (this.next.type == TokenType.Operator) {\n var start = this.inputIndex;\n var operator = this.next.strValue;\n var result = void 0;\n switch (operator) {\n case '+':\n this.advance();\n return this.parsePrefix();\n case '-':\n this.advance();\n result = this.parsePrefix();\n return new Binary(this.span(start), operator, new LiteralPrimitive(new ParseSpan(start, start), 0), result);\n case '!':\n this.advance();\n result = this.parsePrefix();\n return new PrefixNot(this.span(start), result);\n }\n }\n return this.parseCallChain();\n };\n _ParseAST.prototype.parseCallChain = function () {\n var result = this.parsePrimary();\n while (true) {\n if (this.optionalCharacter($PERIOD)) {\n result = this.parseAccessMemberOrMethodCall(result, false);\n }\n else if (this.optionalOperator('?.')) {\n result = this.parseAccessMemberOrMethodCall(result, true);\n }\n else if (this.optionalCharacter($LBRACKET)) {\n this.rbracketsExpected++;\n var key = this.parsePipe();\n this.rbracketsExpected--;\n this.expectCharacter($RBRACKET);\n if (this.optionalOperator('=')) {\n var value = this.parseConditional();\n result = new KeyedWrite(this.span(result.span.start), result, key, value);\n }\n else {\n result = new KeyedRead(this.span(result.span.start), result, key);\n }\n }\n else if (this.optionalCharacter($LPAREN)) {\n this.rparensExpected++;\n var args = this.parseCallArguments();\n this.rparensExpected--;\n this.expectCharacter($RPAREN);\n result = new FunctionCall(this.span(result.span.start), result, args);\n }\n else {\n return result;\n }\n }\n };\n _ParseAST.prototype.parsePrimary = function () {\n var start = this.inputIndex;\n if (this.optionalCharacter($LPAREN)) {\n this.rparensExpected++;\n var result = this.parsePipe();\n this.rparensExpected--;\n this.expectCharacter($RPAREN);\n return result;\n }\n else if (this.next.isKeywordNull()) {\n this.advance();\n return new LiteralPrimitive(this.span(start), null);\n }\n else if (this.next.isKeywordUndefined()) {\n this.advance();\n return new LiteralPrimitive(this.span(start), void 0);\n }\n else if (this.next.isKeywordTrue()) {\n this.advance();\n return new LiteralPrimitive(this.span(start), true);\n }\n else if (this.next.isKeywordFalse()) {\n this.advance();\n return new LiteralPrimitive(this.span(start), false);\n }\n else if (this.next.isKeywordThis()) {\n this.advance();\n return new ImplicitReceiver(this.span(start));\n }\n else if (this.optionalCharacter($LBRACKET)) {\n this.rbracketsExpected++;\n var elements = this.parseExpressionList($RBRACKET);\n this.rbracketsExpected--;\n this.expectCharacter($RBRACKET);\n return new LiteralArray(this.span(start), elements);\n }\n else if (this.next.isCharacter($LBRACE)) {\n return this.parseLiteralMap();\n }\n else if (this.next.isIdentifier()) {\n return this.parseAccessMemberOrMethodCall(new ImplicitReceiver(this.span(start)), false);\n }\n else if (this.next.isNumber()) {\n var value = this.next.toNumber();\n this.advance();\n return new LiteralPrimitive(this.span(start), value);\n }\n else if (this.next.isString()) {\n var literalValue = this.next.toString();\n this.advance();\n return new LiteralPrimitive(this.span(start), literalValue);\n }\n else if (this.index >= this.tokens.length) {\n this.error(\"Unexpected end of expression: \" + this.input);\n return new EmptyExpr(this.span(start));\n }\n else {\n this.error(\"Unexpected token \" + this.next);\n return new EmptyExpr(this.span(start));\n }\n };\n _ParseAST.prototype.parseExpressionList = function (terminator) {\n var result = [];\n if (!this.next.isCharacter(terminator)) {\n do {\n result.push(this.parsePipe());\n } while (this.optionalCharacter($COMMA));\n }\n return result;\n };\n _ParseAST.prototype.parseLiteralMap = function () {\n var keys = [];\n var values = [];\n var start = this.inputIndex;\n this.expectCharacter($LBRACE);\n if (!this.optionalCharacter($RBRACE)) {\n this.rbracesExpected++;\n do {\n var key = this.expectIdentifierOrKeywordOrString();\n keys.push(key);\n this.expectCharacter($COLON);\n values.push(this.parsePipe());\n } while (this.optionalCharacter($COMMA));\n this.rbracesExpected--;\n this.expectCharacter($RBRACE);\n }\n return new LiteralMap(this.span(start), keys, values);\n };\n _ParseAST.prototype.parseAccessMemberOrMethodCall = function (receiver, isSafe) {\n if (isSafe === void 0) { isSafe = false; }\n var start = receiver.span.start;\n var id = this.expectIdentifierOrKeyword();\n if (this.optionalCharacter($LPAREN)) {\n this.rparensExpected++;\n var args = this.parseCallArguments();\n this.expectCharacter($RPAREN);\n this.rparensExpected--;\n var span = this.span(start);\n return isSafe ? new SafeMethodCall(span, receiver, id, args) :\n new MethodCall(span, receiver, id, args);\n }\n else {\n if (isSafe) {\n if (this.optionalOperator('=')) {\n this.error('The \\'?.\\' operator cannot be used in the assignment');\n return new EmptyExpr(this.span(start));\n }\n else {\n return new SafePropertyRead(this.span(start), receiver, id);\n }\n }\n else {\n if (this.optionalOperator('=')) {\n if (!this.parseAction) {\n this.error('Bindings cannot contain assignments');\n return new EmptyExpr(this.span(start));\n }\n var value = this.parseConditional();\n return new PropertyWrite(this.span(start), receiver, id, value);\n }\n else {\n return new PropertyRead(this.span(start), receiver, id);\n }\n }\n }\n };\n _ParseAST.prototype.parseCallArguments = function () {\n if (this.next.isCharacter($RPAREN))\n return [];\n var positionals = [];\n do {\n positionals.push(this.parsePipe());\n } while (this.optionalCharacter($COMMA));\n return positionals;\n };\n /**\n * An identifier, a keyword, a string with an optional `-` inbetween.\n */\n _ParseAST.prototype.expectTemplateBindingKey = function () {\n var result = '';\n var operatorFound = false;\n do {\n result += this.expectIdentifierOrKeywordOrString();\n operatorFound = this.optionalOperator('-');\n if (operatorFound) {\n result += '-';\n }\n } while (operatorFound);\n return result.toString();\n };\n _ParseAST.prototype.parseTemplateBindings = function () {\n var bindings = [];\n var prefix = null;\n var warnings = [];\n while (this.index < this.tokens.length) {\n var keyIsVar = this.peekKeywordLet();\n if (keyIsVar) {\n this.advance();\n }\n var key = this.expectTemplateBindingKey();\n if (!keyIsVar) {\n if (prefix == null) {\n prefix = key;\n }\n else {\n key = prefix + key[0].toUpperCase() + key.substring(1);\n }\n }\n this.optionalCharacter($COLON);\n var name = null;\n var expression = null;\n if (keyIsVar) {\n if (this.optionalOperator('=')) {\n name = this.expectTemplateBindingKey();\n }\n else {\n name = '\\$implicit';\n }\n }\n else if (this.next !== EOF && !this.peekKeywordLet()) {\n var start = this.inputIndex;\n var ast = this.parsePipe();\n var source = this.input.substring(start, this.inputIndex);\n expression = new ASTWithSource(ast, source, this.location, this.errors);\n }\n bindings.push(new TemplateBinding(key, keyIsVar, name, expression));\n if (!this.optionalCharacter($SEMICOLON)) {\n this.optionalCharacter($COMMA);\n }\n }\n return new TemplateBindingParseResult(bindings, warnings, this.errors);\n };\n _ParseAST.prototype.error = function (message, index) {\n if (index === void 0) { index = null; }\n this.errors.push(new ParserError(message, this.input, this.locationText(index), this.location));\n this.skip();\n };\n _ParseAST.prototype.locationText = function (index) {\n if (index === void 0) { index = null; }\n if (isBlank(index))\n index = this.index;\n return (index < this.tokens.length) ? \"at column \" + (this.tokens[index].index + 1) + \" in\" :\n \"at the end of the expression\";\n };\n // Error recovery should skip tokens until it encounters a recovery point. skip() treats\n // the end of input and a ';' as unconditionally a recovery point. It also treats ')',\n // '}' and ']' as conditional recovery points if one of calling productions is expecting\n // one of these symbols. This allows skip() to recover from errors such as '(a.) + 1' allowing\n // more of the AST to be retained (it doesn't skip any tokens as the ')' is retained because\n // of the '(' begins an '(' ')' production). The recovery points of grouping symbols\n // must be conditional as they must be skipped if none of the calling productions are not\n // expecting the closing token else we will never make progress in the case of an\n // extraneous group closing symbol (such as a stray ')'). This is not the case for ';' because\n // parseChain() is always the root production and it expects a ';'.\n // If a production expects one of these token it increments the corresponding nesting count,\n // and then decrements it just prior to checking if the token is in the input.\n _ParseAST.prototype.skip = function () {\n var n = this.next;\n while (this.index < this.tokens.length && !n.isCharacter($SEMICOLON) &&\n (this.rparensExpected <= 0 || !n.isCharacter($RPAREN)) &&\n (this.rbracesExpected <= 0 || !n.isCharacter($RBRACE)) &&\n (this.rbracketsExpected <= 0 || !n.isCharacter($RBRACKET))) {\n if (this.next.isError()) {\n this.errors.push(new ParserError(this.next.toString(), this.input, this.locationText(), this.location));\n }\n this.advance();\n n = this.next;\n }\n };\n return _ParseAST;\n }());\n var SimpleExpressionChecker = (function () {\n function SimpleExpressionChecker() {\n this.simple = true;\n }\n SimpleExpressionChecker.check = function (ast) {\n var s = new SimpleExpressionChecker();\n ast.visit(s);\n return s.simple;\n };\n SimpleExpressionChecker.prototype.visitImplicitReceiver = function (ast, context) { };\n SimpleExpressionChecker.prototype.visitInterpolation = function (ast, context) { this.simple = false; };\n SimpleExpressionChecker.prototype.visitLiteralPrimitive = function (ast, context) { };\n SimpleExpressionChecker.prototype.visitPropertyRead = function (ast, context) { };\n SimpleExpressionChecker.prototype.visitPropertyWrite = function (ast, context) { this.simple = false; };\n SimpleExpressionChecker.prototype.visitSafePropertyRead = function (ast, context) { this.simple = false; };\n SimpleExpressionChecker.prototype.visitMethodCall = function (ast, context) { this.simple = false; };\n SimpleExpressionChecker.prototype.visitSafeMethodCall = function (ast, context) { this.simple = false; };\n SimpleExpressionChecker.prototype.visitFunctionCall = function (ast, context) { this.simple = false; };\n SimpleExpressionChecker.prototype.visitLiteralArray = function (ast, context) { this.visitAll(ast.expressions); };\n SimpleExpressionChecker.prototype.visitLiteralMap = function (ast, context) { this.visitAll(ast.values); };\n SimpleExpressionChecker.prototype.visitBinary = function (ast, context) { this.simple = false; };\n SimpleExpressionChecker.prototype.visitPrefixNot = function (ast, context) { this.simple = false; };\n SimpleExpressionChecker.prototype.visitConditional = function (ast, context) { this.simple = false; };\n SimpleExpressionChecker.prototype.visitPipe = function (ast, context) { this.simple = false; };\n SimpleExpressionChecker.prototype.visitKeyedRead = function (ast, context) { this.simple = false; };\n SimpleExpressionChecker.prototype.visitKeyedWrite = function (ast, context) { this.simple = false; };\n SimpleExpressionChecker.prototype.visitAll = function (asts) {\n var _this = this;\n return asts.map(function (node) { return node.visit(_this); });\n };\n SimpleExpressionChecker.prototype.visitChain = function (ast, context) { this.simple = false; };\n SimpleExpressionChecker.prototype.visitQuote = function (ast, context) { this.simple = false; };\n return SimpleExpressionChecker;\n }());\n\n var ParseLocation = (function () {\n function ParseLocation(file, offset, line, col) {\n this.file = file;\n this.offset = offset;\n this.line = line;\n this.col = col;\n }\n ParseLocation.prototype.toString = function () {\n return isPresent(this.offset) ? this.file.url + \"@\" + this.line + \":\" + this.col : this.file.url;\n };\n return ParseLocation;\n }());\n var ParseSourceFile = (function () {\n function ParseSourceFile(content, url) {\n this.content = content;\n this.url = url;\n }\n return ParseSourceFile;\n }());\n var ParseSourceSpan = (function () {\n function ParseSourceSpan(start, end, details) {\n if (details === void 0) { details = null; }\n this.start = start;\n this.end = end;\n this.details = details;\n }\n ParseSourceSpan.prototype.toString = function () {\n return this.start.file.content.substring(this.start.offset, this.end.offset);\n };\n return ParseSourceSpan;\n }());\n var ParseErrorLevel;\n (function (ParseErrorLevel) {\n ParseErrorLevel[ParseErrorLevel[\"WARNING\"] = 0] = \"WARNING\";\n ParseErrorLevel[ParseErrorLevel[\"FATAL\"] = 1] = \"FATAL\";\n })(ParseErrorLevel || (ParseErrorLevel = {}));\n var ParseError = (function () {\n function ParseError(span, msg, level) {\n if (level === void 0) { level = ParseErrorLevel.FATAL; }\n this.span = span;\n this.msg = msg;\n this.level = level;\n }\n ParseError.prototype.toString = function () {\n var source = this.span.start.file.content;\n var ctxStart = this.span.start.offset;\n var contextStr = '';\n var details = '';\n if (isPresent(ctxStart)) {\n if (ctxStart > source.length - 1) {\n ctxStart = source.length - 1;\n }\n var ctxEnd = ctxStart;\n var ctxLen = 0;\n var ctxLines = 0;\n while (ctxLen < 100 && ctxStart > 0) {\n ctxStart--;\n ctxLen++;\n if (source[ctxStart] == '\\n') {\n if (++ctxLines == 3) {\n break;\n }\n }\n }\n ctxLen = 0;\n ctxLines = 0;\n while (ctxLen < 100 && ctxEnd < source.length - 1) {\n ctxEnd++;\n ctxLen++;\n if (source[ctxEnd] == '\\n') {\n if (++ctxLines == 3) {\n break;\n }\n }\n }\n var context = source.substring(ctxStart, this.span.start.offset) + '[ERROR ->]' +\n source.substring(this.span.start.offset, ctxEnd + 1);\n contextStr = \" (\\\"\" + context + \"\\\")\";\n }\n if (this.span.details) {\n details = \", \" + this.span.details;\n }\n return \"\" + this.msg + contextStr + \": \" + this.span.start + details;\n };\n return ParseError;\n }());\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var Text = (function () {\n function Text(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n Text.prototype.visit = function (visitor, context) { return visitor.visitText(this, context); };\n return Text;\n }());\n var Expansion = (function () {\n function Expansion(switchValue, type, cases, sourceSpan, switchValueSourceSpan) {\n this.switchValue = switchValue;\n this.type = type;\n this.cases = cases;\n this.sourceSpan = sourceSpan;\n this.switchValueSourceSpan = switchValueSourceSpan;\n }\n Expansion.prototype.visit = function (visitor, context) { return visitor.visitExpansion(this, context); };\n return Expansion;\n }());\n var ExpansionCase = (function () {\n function ExpansionCase(value, expression, sourceSpan, valueSourceSpan, expSourceSpan) {\n this.value = value;\n this.expression = expression;\n this.sourceSpan = sourceSpan;\n this.valueSourceSpan = valueSourceSpan;\n this.expSourceSpan = expSourceSpan;\n }\n ExpansionCase.prototype.visit = function (visitor, context) { return visitor.visitExpansionCase(this, context); };\n return ExpansionCase;\n }());\n var Attribute$1 = (function () {\n function Attribute(name, value, sourceSpan, valueSpan) {\n this.name = name;\n this.value = value;\n this.sourceSpan = sourceSpan;\n this.valueSpan = valueSpan;\n }\n Attribute.prototype.visit = function (visitor, context) { return visitor.visitAttribute(this, context); };\n return Attribute;\n }());\n var Element = (function () {\n function Element(name, attrs, children, sourceSpan, startSourceSpan, endSourceSpan) {\n this.name = name;\n this.attrs = attrs;\n this.children = children;\n this.sourceSpan = sourceSpan;\n this.startSourceSpan = startSourceSpan;\n this.endSourceSpan = endSourceSpan;\n }\n Element.prototype.visit = function (visitor, context) { return visitor.visitElement(this, context); };\n return Element;\n }());\n var Comment = (function () {\n function Comment(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n Comment.prototype.visit = function (visitor, context) { return visitor.visitComment(this, context); };\n return Comment;\n }());\n function visitAll(visitor, nodes, context) {\n if (context === void 0) { context = null; }\n var result = [];\n var visit = visitor.visit ?\n function (ast) { return visitor.visit(ast, context) || ast.visit(visitor, context); } :\n function (ast) { return ast.visit(visitor, context); };\n nodes.forEach(function (ast) {\n var astResult = visit(ast);\n if (astResult) {\n result.push(astResult);\n }\n });\n return result;\n }\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var __extends$5 = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n var TokenType$1;\n (function (TokenType) {\n TokenType[TokenType[\"TAG_OPEN_START\"] = 0] = \"TAG_OPEN_START\";\n TokenType[TokenType[\"TAG_OPEN_END\"] = 1] = \"TAG_OPEN_END\";\n TokenType[TokenType[\"TAG_OPEN_END_VOID\"] = 2] = \"TAG_OPEN_END_VOID\";\n TokenType[TokenType[\"TAG_CLOSE\"] = 3] = \"TAG_CLOSE\";\n TokenType[TokenType[\"TEXT\"] = 4] = \"TEXT\";\n TokenType[TokenType[\"ESCAPABLE_RAW_TEXT\"] = 5] = \"ESCAPABLE_RAW_TEXT\";\n TokenType[TokenType[\"RAW_TEXT\"] = 6] = \"RAW_TEXT\";\n TokenType[TokenType[\"COMMENT_START\"] = 7] = \"COMMENT_START\";\n TokenType[TokenType[\"COMMENT_END\"] = 8] = \"COMMENT_END\";\n TokenType[TokenType[\"CDATA_START\"] = 9] = \"CDATA_START\";\n TokenType[TokenType[\"CDATA_END\"] = 10] = \"CDATA_END\";\n TokenType[TokenType[\"ATTR_NAME\"] = 11] = \"ATTR_NAME\";\n TokenType[TokenType[\"ATTR_VALUE\"] = 12] = \"ATTR_VALUE\";\n TokenType[TokenType[\"DOC_TYPE\"] = 13] = \"DOC_TYPE\";\n TokenType[TokenType[\"EXPANSION_FORM_START\"] = 14] = \"EXPANSION_FORM_START\";\n TokenType[TokenType[\"EXPANSION_CASE_VALUE\"] = 15] = \"EXPANSION_CASE_VALUE\";\n TokenType[TokenType[\"EXPANSION_CASE_EXP_START\"] = 16] = \"EXPANSION_CASE_EXP_START\";\n TokenType[TokenType[\"EXPANSION_CASE_EXP_END\"] = 17] = \"EXPANSION_CASE_EXP_END\";\n TokenType[TokenType[\"EXPANSION_FORM_END\"] = 18] = \"EXPANSION_FORM_END\";\n TokenType[TokenType[\"EOF\"] = 19] = \"EOF\";\n })(TokenType$1 || (TokenType$1 = {}));\n var Token$1 = (function () {\n function Token(type, parts, sourceSpan) {\n this.type = type;\n this.parts = parts;\n this.sourceSpan = sourceSpan;\n }\n return Token;\n }());\n var TokenError = (function (_super) {\n __extends$5(TokenError, _super);\n function TokenError(errorMsg, tokenType, span) {\n _super.call(this, span, errorMsg);\n this.tokenType = tokenType;\n }\n return TokenError;\n }(ParseError));\n var TokenizeResult = (function () {\n function TokenizeResult(tokens, errors) {\n this.tokens = tokens;\n this.errors = errors;\n }\n return TokenizeResult;\n }());\n function tokenize(source, url, getTagDefinition, tokenizeExpansionForms, interpolationConfig) {\n if (tokenizeExpansionForms === void 0) { tokenizeExpansionForms = false; }\n if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n return new _Tokenizer(new ParseSourceFile(source, url), getTagDefinition, tokenizeExpansionForms, interpolationConfig)\n .tokenize();\n }\n var _CR_OR_CRLF_REGEXP = /\\r\\n?/g;\n function _unexpectedCharacterErrorMsg(charCode) {\n var char = charCode === $EOF ? 'EOF' : String.fromCharCode(charCode);\n return \"Unexpected character \\\"\" + char + \"\\\"\";\n }\n function _unknownEntityErrorMsg(entitySrc) {\n return \"Unknown entity \\\"\" + entitySrc + \"\\\" - use the \\\";\\\" or \\\";\\\" syntax\";\n }\n var _ControlFlowError = (function () {\n function _ControlFlowError(error) {\n this.error = error;\n }\n return _ControlFlowError;\n }());\n // See http://www.w3.org/TR/html51/syntax.html#writing\n var _Tokenizer = (function () {\n /**\n * @param _file The html source\n * @param _getTagDefinition\n * @param _tokenizeIcu Whether to tokenize ICU messages (considered as text nodes when false)\n * @param _interpolationConfig\n */\n function _Tokenizer(_file, _getTagDefinition, _tokenizeIcu, _interpolationConfig) {\n if (_interpolationConfig === void 0) { _interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n this._file = _file;\n this._getTagDefinition = _getTagDefinition;\n this._tokenizeIcu = _tokenizeIcu;\n this._interpolationConfig = _interpolationConfig;\n // Note: this is always lowercase!\n this._peek = -1;\n this._nextPeek = -1;\n this._index = -1;\n this._line = 0;\n this._column = -1;\n this._expansionCaseStack = [];\n this._inInterpolation = false;\n this.tokens = [];\n this.errors = [];\n this._input = _file.content;\n this._length = _file.content.length;\n this._advance();\n }\n _Tokenizer.prototype._processCarriageReturns = function (content) {\n // http://www.w3.org/TR/html5/syntax.html#preprocessing-the-input-stream\n // In order to keep the original position in the source, we can not\n // pre-process it.\n // Instead CRs are processed right before instantiating the tokens.\n return content.replace(_CR_OR_CRLF_REGEXP, '\\n');\n };\n _Tokenizer.prototype.tokenize = function () {\n while (this._peek !== $EOF) {\n var start = this._getLocation();\n try {\n if (this._attemptCharCode($LT)) {\n if (this._attemptCharCode($BANG)) {\n if (this._attemptCharCode($LBRACKET)) {\n this._consumeCdata(start);\n }\n else if (this._attemptCharCode($MINUS)) {\n this._consumeComment(start);\n }\n else {\n this._consumeDocType(start);\n }\n }\n else if (this._attemptCharCode($SLASH)) {\n this._consumeTagClose(start);\n }\n else {\n this._consumeTagOpen(start);\n }\n }\n else if (!this._tokenizeIcu || !this._tokenizeExpansionForm()) {\n this._consumeText();\n }\n }\n catch (e) {\n if (e instanceof _ControlFlowError) {\n this.errors.push(e.error);\n }\n else {\n throw e;\n }\n }\n }\n this._beginToken(TokenType$1.EOF);\n this._endToken([]);\n return new TokenizeResult(mergeTextTokens(this.tokens), this.errors);\n };\n /**\n * @returns {boolean} whether an ICU token has been created\n * @internal\n */\n _Tokenizer.prototype._tokenizeExpansionForm = function () {\n if (isExpansionFormStart(this._input, this._index, this._interpolationConfig)) {\n this._consumeExpansionFormStart();\n return true;\n }\n if (isExpansionCaseStart(this._peek) && this._isInExpansionForm()) {\n this._consumeExpansionCaseStart();\n return true;\n }\n if (this._peek === $RBRACE) {\n if (this._isInExpansionCase()) {\n this._consumeExpansionCaseEnd();\n return true;\n }\n if (this._isInExpansionForm()) {\n this._consumeExpansionFormEnd();\n return true;\n }\n }\n return false;\n };\n _Tokenizer.prototype._getLocation = function () {\n return new ParseLocation(this._file, this._index, this._line, this._column);\n };\n _Tokenizer.prototype._getSpan = function (start, end) {\n if (start === void 0) { start = this._getLocation(); }\n if (end === void 0) { end = this._getLocation(); }\n return new ParseSourceSpan(start, end);\n };\n _Tokenizer.prototype._beginToken = function (type, start) {\n if (start === void 0) { start = this._getLocation(); }\n this._currentTokenStart = start;\n this._currentTokenType = type;\n };\n _Tokenizer.prototype._endToken = function (parts, end) {\n if (end === void 0) { end = this._getLocation(); }\n var token = new Token$1(this._currentTokenType, parts, new ParseSourceSpan(this._currentTokenStart, end));\n this.tokens.push(token);\n this._currentTokenStart = null;\n this._currentTokenType = null;\n return token;\n };\n _Tokenizer.prototype._createError = function (msg, span) {\n if (this._isInExpansionForm()) {\n msg += \" (Do you have an unescaped \\\"{\\\" in your template? Use \\\"{{ '{' }}\\\") to escape it.)\";\n }\n var error = new TokenError(msg, this._currentTokenType, span);\n this._currentTokenStart = null;\n this._currentTokenType = null;\n return new _ControlFlowError(error);\n };\n _Tokenizer.prototype._advance = function () {\n if (this._index >= this._length) {\n throw this._createError(_unexpectedCharacterErrorMsg($EOF), this._getSpan());\n }\n if (this._peek === $LF) {\n this._line++;\n this._column = 0;\n }\n else if (this._peek !== $LF && this._peek !== $CR) {\n this._column++;\n }\n this._index++;\n this._peek = this._index >= this._length ? $EOF : this._input.charCodeAt(this._index);\n this._nextPeek =\n this._index + 1 >= this._length ? $EOF : this._input.charCodeAt(this._index + 1);\n };\n _Tokenizer.prototype._attemptCharCode = function (charCode) {\n if (this._peek === charCode) {\n this._advance();\n return true;\n }\n return false;\n };\n _Tokenizer.prototype._attemptCharCodeCaseInsensitive = function (charCode) {\n if (compareCharCodeCaseInsensitive(this._peek, charCode)) {\n this._advance();\n return true;\n }\n return false;\n };\n _Tokenizer.prototype._requireCharCode = function (charCode) {\n var location = this._getLocation();\n if (!this._attemptCharCode(charCode)) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._peek), this._getSpan(location, location));\n }\n };\n _Tokenizer.prototype._attemptStr = function (chars) {\n var len = chars.length;\n if (this._index + len > this._length) {\n return false;\n }\n var initialPosition = this._savePosition();\n for (var i = 0; i < len; i++) {\n if (!this._attemptCharCode(chars.charCodeAt(i))) {\n // If attempting to parse the string fails, we want to reset the parser\n // to where it was before the attempt\n this._restorePosition(initialPosition);\n return false;\n }\n }\n return true;\n };\n _Tokenizer.prototype._attemptStrCaseInsensitive = function (chars) {\n for (var i = 0; i < chars.length; i++) {\n if (!this._attemptCharCodeCaseInsensitive(chars.charCodeAt(i))) {\n return false;\n }\n }\n return true;\n };\n _Tokenizer.prototype._requireStr = function (chars) {\n var location = this._getLocation();\n if (!this._attemptStr(chars)) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._peek), this._getSpan(location));\n }\n };\n _Tokenizer.prototype._attemptCharCodeUntilFn = function (predicate) {\n while (!predicate(this._peek)) {\n this._advance();\n }\n };\n _Tokenizer.prototype._requireCharCodeUntilFn = function (predicate, len) {\n var start = this._getLocation();\n this._attemptCharCodeUntilFn(predicate);\n if (this._index - start.offset < len) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._peek), this._getSpan(start, start));\n }\n };\n _Tokenizer.prototype._attemptUntilChar = function (char) {\n while (this._peek !== char) {\n this._advance();\n }\n };\n _Tokenizer.prototype._readChar = function (decodeEntities) {\n if (decodeEntities && this._peek === $AMPERSAND) {\n return this._decodeEntity();\n }\n else {\n var index = this._index;\n this._advance();\n return this._input[index];\n }\n };\n _Tokenizer.prototype._decodeEntity = function () {\n var start = this._getLocation();\n this._advance();\n if (this._attemptCharCode($HASH)) {\n var isHex = this._attemptCharCode($x) || this._attemptCharCode($X);\n var numberStart = this._getLocation().offset;\n this._attemptCharCodeUntilFn(isDigitEntityEnd);\n if (this._peek != $SEMICOLON) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._peek), this._getSpan());\n }\n this._advance();\n var strNum = this._input.substring(numberStart, this._index - 1);\n try {\n var charCode = parseInt(strNum, isHex ? 16 : 10);\n return String.fromCharCode(charCode);\n }\n catch (e) {\n var entity = this._input.substring(start.offset + 1, this._index - 1);\n throw this._createError(_unknownEntityErrorMsg(entity), this._getSpan(start));\n }\n }\n else {\n var startPosition = this._savePosition();\n this._attemptCharCodeUntilFn(isNamedEntityEnd);\n if (this._peek != $SEMICOLON) {\n this._restorePosition(startPosition);\n return '&';\n }\n this._advance();\n var name_1 = this._input.substring(start.offset + 1, this._index - 1);\n var char = NAMED_ENTITIES[name_1];\n if (!char) {\n throw this._createError(_unknownEntityErrorMsg(name_1), this._getSpan(start));\n }\n return char;\n }\n };\n _Tokenizer.prototype._consumeRawText = function (decodeEntities, firstCharOfEnd, attemptEndRest) {\n var tagCloseStart;\n var textStart = this._getLocation();\n this._beginToken(decodeEntities ? TokenType$1.ESCAPABLE_RAW_TEXT : TokenType$1.RAW_TEXT, textStart);\n var parts = [];\n while (true) {\n tagCloseStart = this._getLocation();\n if (this._attemptCharCode(firstCharOfEnd) && attemptEndRest()) {\n break;\n }\n if (this._index > tagCloseStart.offset) {\n // add the characters consumed by the previous if statement to the output\n parts.push(this._input.substring(tagCloseStart.offset, this._index));\n }\n while (this._peek !== firstCharOfEnd) {\n parts.push(this._readChar(decodeEntities));\n }\n }\n return this._endToken([this._processCarriageReturns(parts.join(''))], tagCloseStart);\n };\n _Tokenizer.prototype._consumeComment = function (start) {\n var _this = this;\n this._beginToken(TokenType$1.COMMENT_START, start);\n this._requireCharCode($MINUS);\n this._endToken([]);\n var textToken = this._consumeRawText(false, $MINUS, function () { return _this._attemptStr('->'); });\n this._beginToken(TokenType$1.COMMENT_END, textToken.sourceSpan.end);\n this._endToken([]);\n };\n _Tokenizer.prototype._consumeCdata = function (start) {\n var _this = this;\n this._beginToken(TokenType$1.CDATA_START, start);\n this._requireStr('CDATA[');\n this._endToken([]);\n var textToken = this._consumeRawText(false, $RBRACKET, function () { return _this._attemptStr(']>'); });\n this._beginToken(TokenType$1.CDATA_END, textToken.sourceSpan.end);\n this._endToken([]);\n };\n _Tokenizer.prototype._consumeDocType = function (start) {\n this._beginToken(TokenType$1.DOC_TYPE, start);\n this._attemptUntilChar($GT);\n this._advance();\n this._endToken([this._input.substring(start.offset + 2, this._index - 1)]);\n };\n _Tokenizer.prototype._consumePrefixAndName = function () {\n var nameOrPrefixStart = this._index;\n var prefix = null;\n while (this._peek !== $COLON && !isPrefixEnd(this._peek)) {\n this._advance();\n }\n var nameStart;\n if (this._peek === $COLON) {\n this._advance();\n prefix = this._input.substring(nameOrPrefixStart, this._index - 1);\n nameStart = this._index;\n }\n else {\n nameStart = nameOrPrefixStart;\n }\n this._requireCharCodeUntilFn(isNameEnd, this._index === nameStart ? 1 : 0);\n var name = this._input.substring(nameStart, this._index);\n return [prefix, name];\n };\n _Tokenizer.prototype._consumeTagOpen = function (start) {\n var savedPos = this._savePosition();\n var tagName;\n var lowercaseTagName;\n try {\n if (!isAsciiLetter(this._peek)) {\n throw this._createError(_unexpectedCharacterErrorMsg(this._peek), this._getSpan());\n }\n var nameStart = this._index;\n this._consumeTagOpenStart(start);\n tagName = this._input.substring(nameStart, this._index);\n lowercaseTagName = tagName.toLowerCase();\n this._attemptCharCodeUntilFn(isNotWhitespace);\n while (this._peek !== $SLASH && this._peek !== $GT) {\n this._consumeAttributeName();\n this._attemptCharCodeUntilFn(isNotWhitespace);\n if (this._attemptCharCode($EQ)) {\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._consumeAttributeValue();\n }\n this._attemptCharCodeUntilFn(isNotWhitespace);\n }\n this._consumeTagOpenEnd();\n }\n catch (e) {\n if (e instanceof _ControlFlowError) {\n // When the start tag is invalid, assume we want a \"<\"\n this._restorePosition(savedPos);\n // Back to back text tokens are merged at the end\n this._beginToken(TokenType$1.TEXT, start);\n this._endToken(['<']);\n return;\n }\n throw e;\n }\n var contentTokenType = this._getTagDefinition(tagName).contentType;\n if (contentTokenType === TagContentType.RAW_TEXT) {\n this._consumeRawTextWithTagClose(lowercaseTagName, false);\n }\n else if (contentTokenType === TagContentType.ESCAPABLE_RAW_TEXT) {\n this._consumeRawTextWithTagClose(lowercaseTagName, true);\n }\n };\n _Tokenizer.prototype._consumeRawTextWithTagClose = function (lowercaseTagName, decodeEntities) {\n var _this = this;\n var textToken = this._consumeRawText(decodeEntities, $LT, function () {\n if (!_this._attemptCharCode($SLASH))\n return false;\n _this._attemptCharCodeUntilFn(isNotWhitespace);\n if (!_this._attemptStrCaseInsensitive(lowercaseTagName))\n return false;\n _this._attemptCharCodeUntilFn(isNotWhitespace);\n return _this._attemptCharCode($GT);\n });\n this._beginToken(TokenType$1.TAG_CLOSE, textToken.sourceSpan.end);\n this._endToken([null, lowercaseTagName]);\n };\n _Tokenizer.prototype._consumeTagOpenStart = function (start) {\n this._beginToken(TokenType$1.TAG_OPEN_START, start);\n var parts = this._consumePrefixAndName();\n this._endToken(parts);\n };\n _Tokenizer.prototype._consumeAttributeName = function () {\n this._beginToken(TokenType$1.ATTR_NAME);\n var prefixAndName = this._consumePrefixAndName();\n this._endToken(prefixAndName);\n };\n _Tokenizer.prototype._consumeAttributeValue = function () {\n this._beginToken(TokenType$1.ATTR_VALUE);\n var value;\n if (this._peek === $SQ || this._peek === $DQ) {\n var quoteChar = this._peek;\n this._advance();\n var parts = [];\n while (this._peek !== quoteChar) {\n parts.push(this._readChar(true));\n }\n value = parts.join('');\n this._advance();\n }\n else {\n var valueStart = this._index;\n this._requireCharCodeUntilFn(isNameEnd, 1);\n value = this._input.substring(valueStart, this._index);\n }\n this._endToken([this._processCarriageReturns(value)]);\n };\n _Tokenizer.prototype._consumeTagOpenEnd = function () {\n var tokenType = this._attemptCharCode($SLASH) ? TokenType$1.TAG_OPEN_END_VOID : TokenType$1.TAG_OPEN_END;\n this._beginToken(tokenType);\n this._requireCharCode($GT);\n this._endToken([]);\n };\n _Tokenizer.prototype._consumeTagClose = function (start) {\n this._beginToken(TokenType$1.TAG_CLOSE, start);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n var prefixAndName = this._consumePrefixAndName();\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._requireCharCode($GT);\n this._endToken(prefixAndName);\n };\n _Tokenizer.prototype._consumeExpansionFormStart = function () {\n this._beginToken(TokenType$1.EXPANSION_FORM_START, this._getLocation());\n this._requireCharCode($LBRACE);\n this._endToken([]);\n this._expansionCaseStack.push(TokenType$1.EXPANSION_FORM_START);\n this._beginToken(TokenType$1.RAW_TEXT, this._getLocation());\n var condition = this._readUntil($COMMA);\n this._endToken([condition], this._getLocation());\n this._requireCharCode($COMMA);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._beginToken(TokenType$1.RAW_TEXT, this._getLocation());\n var type = this._readUntil($COMMA);\n this._endToken([type], this._getLocation());\n this._requireCharCode($COMMA);\n this._attemptCharCodeUntilFn(isNotWhitespace);\n };\n _Tokenizer.prototype._consumeExpansionCaseStart = function () {\n this._beginToken(TokenType$1.EXPANSION_CASE_VALUE, this._getLocation());\n var value = this._readUntil($LBRACE).trim();\n this._endToken([value], this._getLocation());\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._beginToken(TokenType$1.EXPANSION_CASE_EXP_START, this._getLocation());\n this._requireCharCode($LBRACE);\n this._endToken([], this._getLocation());\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._expansionCaseStack.push(TokenType$1.EXPANSION_CASE_EXP_START);\n };\n _Tokenizer.prototype._consumeExpansionCaseEnd = function () {\n this._beginToken(TokenType$1.EXPANSION_CASE_EXP_END, this._getLocation());\n this._requireCharCode($RBRACE);\n this._endToken([], this._getLocation());\n this._attemptCharCodeUntilFn(isNotWhitespace);\n this._expansionCaseStack.pop();\n };\n _Tokenizer.prototype._consumeExpansionFormEnd = function () {\n this._beginToken(TokenType$1.EXPANSION_FORM_END, this._getLocation());\n this._requireCharCode($RBRACE);\n this._endToken([]);\n this._expansionCaseStack.pop();\n };\n _Tokenizer.prototype._consumeText = function () {\n var start = this._getLocation();\n this._beginToken(TokenType$1.TEXT, start);\n var parts = [];\n do {\n if (this._interpolationConfig && this._attemptStr(this._interpolationConfig.start)) {\n parts.push(this._interpolationConfig.start);\n this._inInterpolation = true;\n }\n else if (this._interpolationConfig && this._attemptStr(this._interpolationConfig.end) &&\n this._inInterpolation) {\n parts.push(this._interpolationConfig.end);\n this._inInterpolation = false;\n }\n else {\n parts.push(this._readChar(true));\n }\n } while (!this._isTextEnd());\n this._endToken([this._processCarriageReturns(parts.join(''))]);\n };\n _Tokenizer.prototype._isTextEnd = function () {\n if (this._peek === $LT || this._peek === $EOF) {\n return true;\n }\n if (this._tokenizeIcu && !this._inInterpolation) {\n if (isExpansionFormStart(this._input, this._index, this._interpolationConfig)) {\n // start of an expansion form\n return true;\n }\n if (this._peek === $RBRACE && this._isInExpansionCase()) {\n // end of and expansion case\n return true;\n }\n }\n return false;\n };\n _Tokenizer.prototype._savePosition = function () {\n return [this._peek, this._index, this._column, this._line, this.tokens.length];\n };\n _Tokenizer.prototype._readUntil = function (char) {\n var start = this._index;\n this._attemptUntilChar(char);\n return this._input.substring(start, this._index);\n };\n _Tokenizer.prototype._restorePosition = function (position) {\n this._peek = position[0];\n this._index = position[1];\n this._column = position[2];\n this._line = position[3];\n var nbTokens = position[4];\n if (nbTokens < this.tokens.length) {\n // remove any extra tokens\n this.tokens = this.tokens.slice(0, nbTokens);\n }\n };\n _Tokenizer.prototype._isInExpansionCase = function () {\n return this._expansionCaseStack.length > 0 &&\n this._expansionCaseStack[this._expansionCaseStack.length - 1] ===\n TokenType$1.EXPANSION_CASE_EXP_START;\n };\n _Tokenizer.prototype._isInExpansionForm = function () {\n return this._expansionCaseStack.length > 0 &&\n this._expansionCaseStack[this._expansionCaseStack.length - 1] ===\n TokenType$1.EXPANSION_FORM_START;\n };\n return _Tokenizer;\n }());\n function isNotWhitespace(code) {\n return !isWhitespace(code) || code === $EOF;\n }\n function isNameEnd(code) {\n return isWhitespace(code) || code === $GT || code === $SLASH ||\n code === $SQ || code === $DQ || code === $EQ;\n }\n function isPrefixEnd(code) {\n return (code < $a || $z < code) && (code < $A || $Z < code) &&\n (code < $0 || code > $9);\n }\n function isDigitEntityEnd(code) {\n return code == $SEMICOLON || code == $EOF || !isAsciiHexDigit(code);\n }\n function isNamedEntityEnd(code) {\n return code == $SEMICOLON || code == $EOF || !isAsciiLetter(code);\n }\n function isExpansionFormStart(input, offset, interpolationConfig) {\n var isInterpolationStart = interpolationConfig ? input.indexOf(interpolationConfig.start, offset) == offset : false;\n return input.charCodeAt(offset) == $LBRACE && !isInterpolationStart;\n }\n function isExpansionCaseStart(peek) {\n return peek === $EQ || isAsciiLetter(peek);\n }\n function compareCharCodeCaseInsensitive(code1, code2) {\n return toUpperCaseCharCode(code1) == toUpperCaseCharCode(code2);\n }\n function toUpperCaseCharCode(code) {\n return code >= $a && code <= $z ? code - $a + $A : code;\n }\n function mergeTextTokens(srcTokens) {\n var dstTokens = [];\n var lastDstToken;\n for (var i = 0; i < srcTokens.length; i++) {\n var token = srcTokens[i];\n if (lastDstToken && lastDstToken.type == TokenType$1.TEXT && token.type == TokenType$1.TEXT) {\n lastDstToken.parts[0] += token.parts[0];\n lastDstToken.sourceSpan.end = token.sourceSpan.end;\n }\n else {\n lastDstToken = token;\n dstTokens.push(lastDstToken);\n }\n }\n return dstTokens;\n }\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var __extends$4 = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n var TreeError = (function (_super) {\n __extends$4(TreeError, _super);\n function TreeError(elementName, span, msg) {\n _super.call(this, span, msg);\n this.elementName = elementName;\n }\n TreeError.create = function (elementName, span, msg) {\n return new TreeError(elementName, span, msg);\n };\n return TreeError;\n }(ParseError));\n var ParseTreeResult = (function () {\n function ParseTreeResult(rootNodes, errors) {\n this.rootNodes = rootNodes;\n this.errors = errors;\n }\n return ParseTreeResult;\n }());\n var Parser$1 = (function () {\n function Parser(getTagDefinition) {\n this.getTagDefinition = getTagDefinition;\n }\n Parser.prototype.parse = function (source, url, parseExpansionForms, interpolationConfig) {\n if (parseExpansionForms === void 0) { parseExpansionForms = false; }\n if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n var tokensAndErrors = tokenize(source, url, this.getTagDefinition, parseExpansionForms, interpolationConfig);\n var treeAndErrors = new _TreeBuilder(tokensAndErrors.tokens, this.getTagDefinition).build();\n return new ParseTreeResult(treeAndErrors.rootNodes, tokensAndErrors.errors.concat(treeAndErrors.errors));\n };\n return Parser;\n }());\n var _TreeBuilder = (function () {\n function _TreeBuilder(tokens, getTagDefinition) {\n this.tokens = tokens;\n this.getTagDefinition = getTagDefinition;\n this._index = -1;\n this._rootNodes = [];\n this._errors = [];\n this._elementStack = [];\n this._advance();\n }\n _TreeBuilder.prototype.build = function () {\n while (this._peek.type !== TokenType$1.EOF) {\n if (this._peek.type === TokenType$1.TAG_OPEN_START) {\n this._consumeStartTag(this._advance());\n }\n else if (this._peek.type === TokenType$1.TAG_CLOSE) {\n this._consumeEndTag(this._advance());\n }\n else if (this._peek.type === TokenType$1.CDATA_START) {\n this._closeVoidElement();\n this._consumeCdata(this._advance());\n }\n else if (this._peek.type === TokenType$1.COMMENT_START) {\n this._closeVoidElement();\n this._consumeComment(this._advance());\n }\n else if (this._peek.type === TokenType$1.TEXT || this._peek.type === TokenType$1.RAW_TEXT ||\n this._peek.type === TokenType$1.ESCAPABLE_RAW_TEXT) {\n this._closeVoidElement();\n this._consumeText(this._advance());\n }\n else if (this._peek.type === TokenType$1.EXPANSION_FORM_START) {\n this._consumeExpansion(this._advance());\n }\n else {\n // Skip all other tokens...\n this._advance();\n }\n }\n return new ParseTreeResult(this._rootNodes, this._errors);\n };\n _TreeBuilder.prototype._advance = function () {\n var prev = this._peek;\n if (this._index < this.tokens.length - 1) {\n // Note: there is always an EOF token at the end\n this._index++;\n }\n this._peek = this.tokens[this._index];\n return prev;\n };\n _TreeBuilder.prototype._advanceIf = function (type) {\n if (this._peek.type === type) {\n return this._advance();\n }\n return null;\n };\n _TreeBuilder.prototype._consumeCdata = function (startToken) {\n this._consumeText(this._advance());\n this._advanceIf(TokenType$1.CDATA_END);\n };\n _TreeBuilder.prototype._consumeComment = function (token) {\n var text = this._advanceIf(TokenType$1.RAW_TEXT);\n this._advanceIf(TokenType$1.COMMENT_END);\n var value = isPresent(text) ? text.parts[0].trim() : null;\n this._addToParent(new Comment(value, token.sourceSpan));\n };\n _TreeBuilder.prototype._consumeExpansion = function (token) {\n var switchValue = this._advance();\n var type = this._advance();\n var cases = [];\n // read =\n while (this._peek.type === TokenType$1.EXPANSION_CASE_VALUE) {\n var expCase = this._parseExpansionCase();\n if (!expCase)\n return; // error\n cases.push(expCase);\n }\n // read the final }\n if (this._peek.type !== TokenType$1.EXPANSION_FORM_END) {\n this._errors.push(TreeError.create(null, this._peek.sourceSpan, \"Invalid ICU message. Missing '}'.\"));\n return;\n }\n var sourceSpan = new ParseSourceSpan(token.sourceSpan.start, this._peek.sourceSpan.end);\n this._addToParent(new Expansion(switchValue.parts[0], type.parts[0], cases, sourceSpan, switchValue.sourceSpan));\n this._advance();\n };\n _TreeBuilder.prototype._parseExpansionCase = function () {\n var value = this._advance();\n // read {\n if (this._peek.type !== TokenType$1.EXPANSION_CASE_EXP_START) {\n this._errors.push(TreeError.create(null, this._peek.sourceSpan, \"Invalid ICU message. Missing '{'.\"));\n return null;\n }\n // read until }\n var start = this._advance();\n var exp = this._collectExpansionExpTokens(start);\n if (!exp)\n return null;\n var end = this._advance();\n exp.push(new Token$1(TokenType$1.EOF, [], end.sourceSpan));\n // parse everything in between { and }\n var parsedExp = new _TreeBuilder(exp, this.getTagDefinition).build();\n if (parsedExp.errors.length > 0) {\n this._errors = this._errors.concat(parsedExp.errors);\n return null;\n }\n var sourceSpan = new ParseSourceSpan(value.sourceSpan.start, end.sourceSpan.end);\n var expSourceSpan = new ParseSourceSpan(start.sourceSpan.start, end.sourceSpan.end);\n return new ExpansionCase(value.parts[0], parsedExp.rootNodes, sourceSpan, value.sourceSpan, expSourceSpan);\n };\n _TreeBuilder.prototype._collectExpansionExpTokens = function (start) {\n var exp = [];\n var expansionFormStack = [TokenType$1.EXPANSION_CASE_EXP_START];\n while (true) {\n if (this._peek.type === TokenType$1.EXPANSION_FORM_START ||\n this._peek.type === TokenType$1.EXPANSION_CASE_EXP_START) {\n expansionFormStack.push(this._peek.type);\n }\n if (this._peek.type === TokenType$1.EXPANSION_CASE_EXP_END) {\n if (lastOnStack(expansionFormStack, TokenType$1.EXPANSION_CASE_EXP_START)) {\n expansionFormStack.pop();\n if (expansionFormStack.length == 0)\n return exp;\n }\n else {\n this._errors.push(TreeError.create(null, start.sourceSpan, \"Invalid ICU message. Missing '}'.\"));\n return null;\n }\n }\n if (this._peek.type === TokenType$1.EXPANSION_FORM_END) {\n if (lastOnStack(expansionFormStack, TokenType$1.EXPANSION_FORM_START)) {\n expansionFormStack.pop();\n }\n else {\n this._errors.push(TreeError.create(null, start.sourceSpan, \"Invalid ICU message. Missing '}'.\"));\n return null;\n }\n }\n if (this._peek.type === TokenType$1.EOF) {\n this._errors.push(TreeError.create(null, start.sourceSpan, \"Invalid ICU message. Missing '}'.\"));\n return null;\n }\n exp.push(this._advance());\n }\n };\n _TreeBuilder.prototype._consumeText = function (token) {\n var text = token.parts[0];\n if (text.length > 0 && text[0] == '\\n') {\n var parent_1 = this._getParentElement();\n if (isPresent(parent_1) && parent_1.children.length == 0 &&\n this.getTagDefinition(parent_1.name).ignoreFirstLf) {\n text = text.substring(1);\n }\n }\n if (text.length > 0) {\n this._addToParent(new Text(text, token.sourceSpan));\n }\n };\n _TreeBuilder.prototype._closeVoidElement = function () {\n if (this._elementStack.length > 0) {\n var el = ListWrapper.last(this._elementStack);\n if (this.getTagDefinition(el.name).isVoid) {\n this._elementStack.pop();\n }\n }\n };\n _TreeBuilder.prototype._consumeStartTag = function (startTagToken) {\n var prefix = startTagToken.parts[0];\n var name = startTagToken.parts[1];\n var attrs = [];\n while (this._peek.type === TokenType$1.ATTR_NAME) {\n attrs.push(this._consumeAttr(this._advance()));\n }\n var fullName = this._getElementFullName(prefix, name, this._getParentElement());\n var selfClosing = false;\n // Note: There could have been a tokenizer error\n // so that we don't get a token for the end tag...\n if (this._peek.type === TokenType$1.TAG_OPEN_END_VOID) {\n this._advance();\n selfClosing = true;\n var tagDef = this.getTagDefinition(fullName);\n if (!(tagDef.canSelfClose || getNsPrefix(fullName) !== null || tagDef.isVoid)) {\n this._errors.push(TreeError.create(fullName, startTagToken.sourceSpan, \"Only void and foreign elements can be self closed \\\"\" + startTagToken.parts[1] + \"\\\"\"));\n }\n }\n else if (this._peek.type === TokenType$1.TAG_OPEN_END) {\n this._advance();\n selfClosing = false;\n }\n var end = this._peek.sourceSpan.start;\n var span = new ParseSourceSpan(startTagToken.sourceSpan.start, end);\n var el = new Element(fullName, attrs, [], span, span, null);\n this._pushElement(el);\n if (selfClosing) {\n this._popElement(fullName);\n el.endSourceSpan = span;\n }\n };\n _TreeBuilder.prototype._pushElement = function (el) {\n if (this._elementStack.length > 0) {\n var parentEl = ListWrapper.last(this._elementStack);\n if (this.getTagDefinition(parentEl.name).isClosedByChild(el.name)) {\n this._elementStack.pop();\n }\n }\n var tagDef = this.getTagDefinition(el.name);\n var _a = this._getParentElementSkippingContainers(), parent = _a.parent, container = _a.container;\n if (isPresent(parent) && tagDef.requireExtraParent(parent.name)) {\n var newParent = new Element(tagDef.parentToAdd, [], [], el.sourceSpan, el.startSourceSpan, el.endSourceSpan);\n this._insertBeforeContainer(parent, container, newParent);\n }\n this._addToParent(el);\n this._elementStack.push(el);\n };\n _TreeBuilder.prototype._consumeEndTag = function (endTagToken) {\n var fullName = this._getElementFullName(endTagToken.parts[0], endTagToken.parts[1], this._getParentElement());\n if (this._getParentElement()) {\n this._getParentElement().endSourceSpan = endTagToken.sourceSpan;\n }\n if (this.getTagDefinition(fullName).isVoid) {\n this._errors.push(TreeError.create(fullName, endTagToken.sourceSpan, \"Void elements do not have end tags \\\"\" + endTagToken.parts[1] + \"\\\"\"));\n }\n else if (!this._popElement(fullName)) {\n this._errors.push(TreeError.create(fullName, endTagToken.sourceSpan, \"Unexpected closing tag \\\"\" + endTagToken.parts[1] + \"\\\"\"));\n }\n };\n _TreeBuilder.prototype._popElement = function (fullName) {\n for (var stackIndex = this._elementStack.length - 1; stackIndex >= 0; stackIndex--) {\n var el = this._elementStack[stackIndex];\n if (el.name == fullName) {\n ListWrapper.splice(this._elementStack, stackIndex, this._elementStack.length - stackIndex);\n return true;\n }\n if (!this.getTagDefinition(el.name).closedByParent) {\n return false;\n }\n }\n return false;\n };\n _TreeBuilder.prototype._consumeAttr = function (attrName) {\n var fullName = mergeNsAndName(attrName.parts[0], attrName.parts[1]);\n var end = attrName.sourceSpan.end;\n var value = '';\n var valueSpan;\n if (this._peek.type === TokenType$1.ATTR_VALUE) {\n var valueToken = this._advance();\n value = valueToken.parts[0];\n end = valueToken.sourceSpan.end;\n valueSpan = valueToken.sourceSpan;\n }\n return new Attribute$1(fullName, value, new ParseSourceSpan(attrName.sourceSpan.start, end), valueSpan);\n };\n _TreeBuilder.prototype._getParentElement = function () {\n return this._elementStack.length > 0 ? ListWrapper.last(this._elementStack) : null;\n };\n /**\n * Returns the parent in the DOM and the container.\n *\n * `` elements are skipped as they are not rendered as DOM element.\n */\n _TreeBuilder.prototype._getParentElementSkippingContainers = function () {\n var container = null;\n for (var i = this._elementStack.length - 1; i >= 0; i--) {\n if (this._elementStack[i].name !== 'ng-container') {\n return { parent: this._elementStack[i], container: container };\n }\n container = this._elementStack[i];\n }\n return { parent: ListWrapper.last(this._elementStack), container: container };\n };\n _TreeBuilder.prototype._addToParent = function (node) {\n var parent = this._getParentElement();\n if (isPresent(parent)) {\n parent.children.push(node);\n }\n else {\n this._rootNodes.push(node);\n }\n };\n /**\n * Insert a node between the parent and the container.\n * When no container is given, the node is appended as a child of the parent.\n * Also updates the element stack accordingly.\n *\n * @internal\n */\n _TreeBuilder.prototype._insertBeforeContainer = function (parent, container, node) {\n if (!container) {\n this._addToParent(node);\n this._elementStack.push(node);\n }\n else {\n if (parent) {\n // replace the container with the new node in the children\n var index = parent.children.indexOf(container);\n parent.children[index] = node;\n }\n else {\n this._rootNodes.push(node);\n }\n node.children.push(container);\n this._elementStack.splice(this._elementStack.indexOf(container), 0, node);\n }\n };\n _TreeBuilder.prototype._getElementFullName = function (prefix, localName, parentElement) {\n if (isBlank(prefix)) {\n prefix = this.getTagDefinition(localName).implicitNamespacePrefix;\n if (isBlank(prefix) && isPresent(parentElement)) {\n prefix = getNsPrefix(parentElement.name);\n }\n }\n return mergeNsAndName(prefix, localName);\n };\n return _TreeBuilder;\n }());\n function lastOnStack(stack, element) {\n return stack.length > 0 && stack[stack.length - 1] === element;\n }\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n function digestMessage(message) {\n return sha1(serializeNodes(message.nodes).join('') + (\"[\" + message.meaning + \"]\"));\n }\n /**\n * Serialize the i18n ast to something xml-like in order to generate an UID.\n *\n * The visitor is also used in the i18n parser tests\n *\n * @internal\n */\n var _SerializerVisitor = (function () {\n function _SerializerVisitor() {\n }\n _SerializerVisitor.prototype.visitText = function (text, context) { return text.value; };\n _SerializerVisitor.prototype.visitContainer = function (container, context) {\n var _this = this;\n return \"[\" + container.children.map(function (child) { return child.visit(_this); }).join(', ') + \"]\";\n };\n _SerializerVisitor.prototype.visitIcu = function (icu, context) {\n var _this = this;\n var strCases = Object.keys(icu.cases).map(function (k) { return (k + \" {\" + icu.cases[k].visit(_this) + \"}\"); });\n return \"{\" + icu.expression + \", \" + icu.type + \", \" + strCases.join(', ') + \"}\";\n };\n _SerializerVisitor.prototype.visitTagPlaceholder = function (ph, context) {\n var _this = this;\n return ph.isVoid ?\n \" \" :\n \"\" + ph.children.map(function (child) { return child.visit(_this); }).join(', ') + \" \";\n };\n _SerializerVisitor.prototype.visitPlaceholder = function (ph, context) {\n return \"\" + ph.value + \" \";\n };\n _SerializerVisitor.prototype.visitIcuPlaceholder = function (ph, context) {\n return \"\" + ph.value.visit(this) + \" \";\n };\n return _SerializerVisitor;\n }());\n var serializerVisitor = new _SerializerVisitor();\n function serializeNodes(nodes) {\n return nodes.map(function (a) { return a.visit(serializerVisitor, null); });\n }\n /**\n * Compute the SHA1 of the given string\n *\n * see http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf\n *\n * WARNING: this function has not been designed not tested with security in mind.\n * DO NOT USE IT IN A SECURITY SENSITIVE CONTEXT.\n */\n function sha1(str) {\n var utf8 = utf8Encode(str);\n var words32 = stringToWords32(utf8);\n var len = utf8.length * 8;\n var w = new Array(80);\n var _a = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0], a = _a[0], b = _a[1], c = _a[2], d = _a[3], e = _a[4];\n words32[len >> 5] |= 0x80 << (24 - len % 32);\n words32[((len + 64 >> 9) << 4) + 15] = len;\n for (var i = 0; i < words32.length; i += 16) {\n var _b = [a, b, c, d, e], h0 = _b[0], h1 = _b[1], h2 = _b[2], h3 = _b[3], h4 = _b[4];\n for (var j = 0; j < 80; j++) {\n if (j < 16) {\n w[j] = words32[i + j];\n }\n else {\n w[j] = rol32(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1);\n }\n var _c = fk(j, b, c, d), f = _c[0], k = _c[1];\n var temp = [rol32(a, 5), f, e, k, w[j]].reduce(add32);\n _d = [d, c, rol32(b, 30), a, temp], e = _d[0], d = _d[1], c = _d[2], b = _d[3], a = _d[4];\n }\n _e = [add32(a, h0), add32(b, h1), add32(c, h2), add32(d, h3), add32(e, h4)], a = _e[0], b = _e[1], c = _e[2], d = _e[3], e = _e[4];\n }\n var sha1 = words32ToString([a, b, c, d, e]);\n var hex = '';\n for (var i = 0; i < sha1.length; i++) {\n var b_1 = sha1.charCodeAt(i);\n hex += (b_1 >>> 4 & 0x0f).toString(16) + (b_1 & 0x0f).toString(16);\n }\n return hex.toLowerCase();\n var _d, _e;\n }\n function utf8Encode(str) {\n var encoded = '';\n for (var index = 0; index < str.length; index++) {\n var codePoint = decodeSurrogatePairs(str, index);\n if (codePoint <= 0x7f) {\n encoded += String.fromCharCode(codePoint);\n }\n else if (codePoint <= 0x7ff) {\n encoded += String.fromCharCode(0xc0 | codePoint >>> 6, 0x80 | codePoint & 0x3f);\n }\n else if (codePoint <= 0xffff) {\n encoded += String.fromCharCode(0xe0 | codePoint >>> 12, 0x80 | codePoint >>> 6 & 0x3f, 0x80 | codePoint & 0x3f);\n }\n else if (codePoint <= 0x1fffff) {\n encoded += String.fromCharCode(0xf0 | codePoint >>> 18, 0x80 | codePoint >>> 12 & 0x3f, 0x80 | codePoint >>> 6 & 0x3f, 0x80 | codePoint & 0x3f);\n }\n }\n return encoded;\n }\n // see https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n function decodeSurrogatePairs(str, index) {\n if (index < 0 || index >= str.length) {\n throw new Error(\"index=\" + index + \" is out of range in \\\"\" + str + \"\\\"\");\n }\n var high = str.charCodeAt(index);\n var low;\n if (high >= 0xd800 && high <= 0xdfff && str.length > index + 1) {\n low = str.charCodeAt(index + 1);\n if (low >= 0xdc00 && low <= 0xdfff) {\n return (high - 0xd800) * 0x400 + low - 0xdc00 + 0x10000;\n }\n }\n return high;\n }\n function stringToWords32(str) {\n var words32 = Array(str.length >>> 2);\n for (var i = 0; i < words32.length; i++) {\n words32[i] = 0;\n }\n for (var i = 0; i < str.length; i++) {\n words32[i >>> 2] |= (str.charCodeAt(i) & 0xff) << 8 * (3 - i & 0x3);\n }\n return words32;\n }\n function words32ToString(words32) {\n var str = '';\n for (var i = 0; i < words32.length * 4; i++) {\n str += String.fromCharCode((words32[i >>> 2] >>> 8 * (3 - i & 0x3)) & 0xff);\n }\n return str;\n }\n function fk(index, b, c, d) {\n if (index < 20) {\n return [(b & c) | (~b & d), 0x5a827999];\n }\n if (index < 40) {\n return [b ^ c ^ d, 0x6ed9eba1];\n }\n if (index < 60) {\n return [(b & c) | (b & d) | (c & d), 0x8f1bbcdc];\n }\n return [b ^ c ^ d, 0xca62c1d6];\n }\n function add32(a, b) {\n var low = (a & 0xffff) + (b & 0xffff);\n var high = (a >> 16) + (b >> 16) + (low >> 16);\n return (high << 16) | (low & 0xffff);\n }\n function rol32(a, count) {\n return (a << count) | (a >>> (32 - count));\n }\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var Message = (function () {\n /**\n * @param nodes message AST\n * @param placeholders maps placeholder names to static content\n * @param placeholderToMsgIds maps placeholder names to translatable message IDs (used for ICU\n * messages)\n * @param meaning\n * @param description\n */\n function Message(nodes, placeholders, placeholderToMsgIds, meaning, description) {\n this.nodes = nodes;\n this.placeholders = placeholders;\n this.placeholderToMsgIds = placeholderToMsgIds;\n this.meaning = meaning;\n this.description = description;\n }\n return Message;\n }());\n var Text$1 = (function () {\n function Text(value, sourceSpan) {\n this.value = value;\n this.sourceSpan = sourceSpan;\n }\n Text.prototype.visit = function (visitor, context) { return visitor.visitText(this, context); };\n return Text;\n }());\n var Container = (function () {\n function Container(children, sourceSpan) {\n this.children = children;\n this.sourceSpan = sourceSpan;\n }\n Container.prototype.visit = function (visitor, context) { return visitor.visitContainer(this, context); };\n return Container;\n }());\n var Icu = (function () {\n function Icu(expression, type, cases, sourceSpan) {\n this.expression = expression;\n this.type = type;\n this.cases = cases;\n this.sourceSpan = sourceSpan;\n }\n Icu.prototype.visit = function (visitor, context) { return visitor.visitIcu(this, context); };\n return Icu;\n }());\n var TagPlaceholder = (function () {\n function TagPlaceholder(tag, attrs, startName, closeName, children, isVoid, sourceSpan) {\n this.tag = tag;\n this.attrs = attrs;\n this.startName = startName;\n this.closeName = closeName;\n this.children = children;\n this.isVoid = isVoid;\n this.sourceSpan = sourceSpan;\n }\n TagPlaceholder.prototype.visit = function (visitor, context) { return visitor.visitTagPlaceholder(this, context); };\n return TagPlaceholder;\n }());\n var Placeholder = (function () {\n function Placeholder(value, name, sourceSpan) {\n if (name === void 0) { name = ''; }\n this.value = value;\n this.name = name;\n this.sourceSpan = sourceSpan;\n }\n Placeholder.prototype.visit = function (visitor, context) { return visitor.visitPlaceholder(this, context); };\n return Placeholder;\n }());\n var IcuPlaceholder = (function () {\n function IcuPlaceholder(value, name, sourceSpan) {\n if (name === void 0) { name = ''; }\n this.value = value;\n this.name = name;\n this.sourceSpan = sourceSpan;\n }\n IcuPlaceholder.prototype.visit = function (visitor, context) { return visitor.visitIcuPlaceholder(this, context); };\n return IcuPlaceholder;\n }());\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var TAG_TO_PLACEHOLDER_NAMES = {\n 'A': 'LINK',\n 'B': 'BOLD_TEXT',\n 'BR': 'LINE_BREAK',\n 'EM': 'EMPHASISED_TEXT',\n 'H1': 'HEADING_LEVEL1',\n 'H2': 'HEADING_LEVEL2',\n 'H3': 'HEADING_LEVEL3',\n 'H4': 'HEADING_LEVEL4',\n 'H5': 'HEADING_LEVEL5',\n 'H6': 'HEADING_LEVEL6',\n 'HR': 'HORIZONTAL_RULE',\n 'I': 'ITALIC_TEXT',\n 'LI': 'LIST_ITEM',\n 'LINK': 'MEDIA_LINK',\n 'OL': 'ORDERED_LIST',\n 'P': 'PARAGRAPH',\n 'Q': 'QUOTATION',\n 'S': 'STRIKETHROUGH_TEXT',\n 'SMALL': 'SMALL_TEXT',\n 'SUB': 'SUBSTRIPT',\n 'SUP': 'SUPERSCRIPT',\n 'TBODY': 'TABLE_BODY',\n 'TD': 'TABLE_CELL',\n 'TFOOT': 'TABLE_FOOTER',\n 'TH': 'TABLE_HEADER_CELL',\n 'THEAD': 'TABLE_HEADER',\n 'TR': 'TABLE_ROW',\n 'TT': 'MONOSPACED_TEXT',\n 'U': 'UNDERLINED_TEXT',\n 'UL': 'UNORDERED_LIST',\n };\n /**\n * Creates unique names for placeholder with different content\n *\n * @internal\n */\n var PlaceholderRegistry = (function () {\n function PlaceholderRegistry() {\n // Count the occurrence of the base name top generate a unique name\n this._placeHolderNameCounts = {};\n // Maps signature to placeholder names\n this._signatureToName = {};\n }\n PlaceholderRegistry.prototype.getStartTagPlaceholderName = function (tag, attrs, isVoid) {\n var signature = this._hashTag(tag, attrs, isVoid);\n if (this._signatureToName[signature]) {\n return this._signatureToName[signature];\n }\n var upperTag = tag.toUpperCase();\n var baseName = TAG_TO_PLACEHOLDER_NAMES[upperTag] || \"TAG_\" + upperTag;\n var name = this._generateUniqueName(isVoid ? baseName : \"START_\" + baseName);\n this._signatureToName[signature] = name;\n return name;\n };\n PlaceholderRegistry.prototype.getCloseTagPlaceholderName = function (tag) {\n var signature = this._hashClosingTag(tag);\n if (this._signatureToName[signature]) {\n return this._signatureToName[signature];\n }\n var upperTag = tag.toUpperCase();\n var baseName = TAG_TO_PLACEHOLDER_NAMES[upperTag] || \"TAG_\" + upperTag;\n var name = this._generateUniqueName(\"CLOSE_\" + baseName);\n this._signatureToName[signature] = name;\n return name;\n };\n PlaceholderRegistry.prototype.getPlaceholderName = function (name, content) {\n var upperName = name.toUpperCase();\n var signature = \"PH: \" + upperName + \"=\" + content;\n if (this._signatureToName[signature]) {\n return this._signatureToName[signature];\n }\n var uniqueName = this._generateUniqueName(upperName);\n this._signatureToName[signature] = uniqueName;\n return uniqueName;\n };\n // Generate a hash for a tag - does not take attribute order into account\n PlaceholderRegistry.prototype._hashTag = function (tag, attrs, isVoid) {\n var start = \"<\" + tag;\n var strAttrs = Object.keys(attrs).sort().map(function (name) { return (\" \" + name + \"=\" + attrs[name]); }).join('');\n var end = isVoid ? '/>' : \">\" + tag + \">\";\n return start + strAttrs + end;\n };\n PlaceholderRegistry.prototype._hashClosingTag = function (tag) { return this._hashTag(\"/\" + tag, {}, false); };\n PlaceholderRegistry.prototype._generateUniqueName = function (base) {\n var name = base;\n var next = this._placeHolderNameCounts[name];\n if (!next) {\n next = 1;\n }\n else {\n name += \"_\" + next;\n next++;\n }\n this._placeHolderNameCounts[base] = next;\n return name;\n };\n return PlaceholderRegistry;\n }());\n\n var _expParser = new Parser(new Lexer());\n /**\n * Returns a function converting html nodes to an i18n Message given an interpolationConfig\n */\n function createI18nMessageFactory(interpolationConfig) {\n var visitor = new _I18nVisitor(_expParser, interpolationConfig);\n return function (nodes, meaning, description) {\n return visitor.toI18nMessage(nodes, meaning, description);\n };\n }\n var _I18nVisitor = (function () {\n function _I18nVisitor(_expressionParser, _interpolationConfig) {\n this._expressionParser = _expressionParser;\n this._interpolationConfig = _interpolationConfig;\n }\n _I18nVisitor.prototype.toI18nMessage = function (nodes, meaning, description) {\n this._isIcu = nodes.length == 1 && nodes[0] instanceof Expansion;\n this._icuDepth = 0;\n this._placeholderRegistry = new PlaceholderRegistry();\n this._placeholderToContent = {};\n this._placeholderToIds = {};\n var i18nodes = visitAll(this, nodes, {});\n return new Message(i18nodes, this._placeholderToContent, this._placeholderToIds, meaning, description);\n };\n _I18nVisitor.prototype.visitElement = function (el, context) {\n var children = visitAll(this, el.children);\n var attrs = {};\n el.attrs.forEach(function (attr) {\n // Do not visit the attributes, translatable ones are top-level ASTs\n attrs[attr.name] = attr.value;\n });\n var isVoid = getHtmlTagDefinition(el.name).isVoid;\n var startPhName = this._placeholderRegistry.getStartTagPlaceholderName(el.name, attrs, isVoid);\n this._placeholderToContent[startPhName] = el.sourceSpan.toString();\n var closePhName = '';\n if (!isVoid) {\n closePhName = this._placeholderRegistry.getCloseTagPlaceholderName(el.name);\n this._placeholderToContent[closePhName] = \"\" + el.name + \">\";\n }\n return new TagPlaceholder(el.name, attrs, startPhName, closePhName, children, isVoid, el.sourceSpan);\n };\n _I18nVisitor.prototype.visitAttribute = function (attribute, context) {\n return this._visitTextWithInterpolation(attribute.value, attribute.sourceSpan);\n };\n _I18nVisitor.prototype.visitText = function (text, context) {\n return this._visitTextWithInterpolation(text.value, text.sourceSpan);\n };\n _I18nVisitor.prototype.visitComment = function (comment, context) { return null; };\n _I18nVisitor.prototype.visitExpansion = function (icu, context) {\n var _this = this;\n this._icuDepth++;\n var i18nIcuCases = {};\n var i18nIcu = new Icu(icu.switchValue, icu.type, i18nIcuCases, icu.sourceSpan);\n icu.cases.forEach(function (caze) {\n i18nIcuCases[caze.value] = new Container(caze.expression.map(function (node) { return node.visit(_this, {}); }), caze.expSourceSpan);\n });\n this._icuDepth--;\n if (this._isIcu || this._icuDepth > 0) {\n // If the message (vs a part of the message) is an ICU message returns it\n return i18nIcu;\n }\n // Else returns a placeholder\n // ICU placeholders should not be replaced with their original content but with the their\n // translations. We need to create a new visitor (they are not re-entrant) to compute the\n // message id.\n // TODO(vicb): add a html.Node -> i18n.Message cache to avoid having to re-create the msg\n var phName = this._placeholderRegistry.getPlaceholderName('ICU', icu.sourceSpan.toString());\n var visitor = new _I18nVisitor(this._expressionParser, this._interpolationConfig);\n this._placeholderToIds[phName] = digestMessage(visitor.toI18nMessage([icu], '', ''));\n return new IcuPlaceholder(i18nIcu, phName, icu.sourceSpan);\n };\n _I18nVisitor.prototype.visitExpansionCase = function (icuCase, context) {\n throw new Error('Unreachable code');\n };\n _I18nVisitor.prototype._visitTextWithInterpolation = function (text, sourceSpan) {\n var splitInterpolation = this._expressionParser.splitInterpolation(text, sourceSpan.start.toString(), this._interpolationConfig);\n if (!splitInterpolation) {\n // No expression, return a single text\n return new Text$1(text, sourceSpan);\n }\n // Return a group of text + expressions\n var nodes = [];\n var container = new Container(nodes, sourceSpan);\n var _a = this._interpolationConfig, sDelimiter = _a.start, eDelimiter = _a.end;\n for (var i = 0; i < splitInterpolation.strings.length - 1; i++) {\n var expression = splitInterpolation.expressions[i];\n var baseName = _extractPlaceholderName(expression) || 'INTERPOLATION';\n var phName = this._placeholderRegistry.getPlaceholderName(baseName, expression);\n if (splitInterpolation.strings[i].length) {\n // No need to add empty strings\n nodes.push(new Text$1(splitInterpolation.strings[i], sourceSpan));\n }\n nodes.push(new Placeholder(expression, phName, sourceSpan));\n this._placeholderToContent[phName] = sDelimiter + expression + eDelimiter;\n }\n // The last index contains no expression\n var lastStringIdx = splitInterpolation.strings.length - 1;\n if (splitInterpolation.strings[lastStringIdx].length) {\n nodes.push(new Text$1(splitInterpolation.strings[lastStringIdx], sourceSpan));\n }\n return container;\n };\n return _I18nVisitor;\n }());\n var _CUSTOM_PH_EXP = /\\/\\/[\\s\\S]*i18n[\\s\\S]*\\([\\s\\S]*ph[\\s\\S]*=[\\s\\S]*\"([\\s\\S]*?)\"[\\s\\S]*\\)/g;\n function _extractPlaceholderName(input) {\n return input.split(_CUSTOM_PH_EXP)[1];\n }\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var __extends$6 = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n /**\n * An i18n error.\n */\n var I18nError = (function (_super) {\n __extends$6(I18nError, _super);\n function I18nError(span, msg) {\n _super.call(this, span, msg);\n }\n return I18nError;\n }(ParseError));\n\n var _I18N_ATTR = 'i18n';\n var _I18N_ATTR_PREFIX = 'i18n-';\n var _I18N_COMMENT_PREFIX_REGEXP = /^i18n:?/;\n /**\n * Extract translatable messages from an html AST\n */\n function extractMessages(nodes, interpolationConfig, implicitTags, implicitAttrs) {\n var visitor = new _Visitor(implicitTags, implicitAttrs);\n return visitor.extract(nodes, interpolationConfig);\n }\n function mergeTranslations(nodes, translations, interpolationConfig, implicitTags, implicitAttrs) {\n var visitor = new _Visitor(implicitTags, implicitAttrs);\n return visitor.merge(nodes, translations, interpolationConfig);\n }\n var ExtractionResult = (function () {\n function ExtractionResult(messages, errors) {\n this.messages = messages;\n this.errors = errors;\n }\n return ExtractionResult;\n }());\n var _VisitorMode;\n (function (_VisitorMode) {\n _VisitorMode[_VisitorMode[\"Extract\"] = 0] = \"Extract\";\n _VisitorMode[_VisitorMode[\"Merge\"] = 1] = \"Merge\";\n })(_VisitorMode || (_VisitorMode = {}));\n /**\n * This Visitor is used:\n * 1. to extract all the translatable strings from an html AST (see `extract()`),\n * 2. to replace the translatable strings with the actual translations (see `merge()`)\n *\n * @internal\n */\n var _Visitor = (function () {\n function _Visitor(_implicitTags, _implicitAttrs) {\n this._implicitTags = _implicitTags;\n this._implicitAttrs = _implicitAttrs;\n }\n /**\n * Extracts the messages from the tree\n */\n _Visitor.prototype.extract = function (nodes, interpolationConfig) {\n var _this = this;\n this._init(_VisitorMode.Extract, interpolationConfig);\n nodes.forEach(function (node) { return node.visit(_this, null); });\n if (this._inI18nBlock) {\n this._reportError(nodes[nodes.length - 1], 'Unclosed block');\n }\n return new ExtractionResult(this._messages, this._errors);\n };\n /**\n * Returns a tree where all translatable nodes are translated\n */\n _Visitor.prototype.merge = function (nodes, translations, interpolationConfig) {\n this._init(_VisitorMode.Merge, interpolationConfig);\n this._translations = translations;\n // Construct a single fake root element\n var wrapper = new Element('wrapper', [], nodes, null, null, null);\n var translatedNode = wrapper.visit(this, null);\n if (this._inI18nBlock) {\n this._reportError(nodes[nodes.length - 1], 'Unclosed block');\n }\n return new ParseTreeResult(translatedNode.children, this._errors);\n };\n _Visitor.prototype.visitExpansionCase = function (icuCase, context) {\n // Parse cases for translatable html attributes\n var expression = visitAll(this, icuCase.expression, context);\n if (this._mode === _VisitorMode.Merge) {\n return new ExpansionCase(icuCase.value, expression, icuCase.sourceSpan, icuCase.valueSourceSpan, icuCase.expSourceSpan);\n }\n };\n _Visitor.prototype.visitExpansion = function (icu, context) {\n this._mayBeAddBlockChildren(icu);\n var wasInIcu = this._inIcu;\n if (!this._inIcu) {\n // nested ICU messages should not be extracted but top-level translated as a whole\n if (this._isInTranslatableSection) {\n this._addMessage([icu]);\n }\n this._inIcu = true;\n }\n var cases = visitAll(this, icu.cases, context);\n if (this._mode === _VisitorMode.Merge) {\n icu = new Expansion(icu.switchValue, icu.type, cases, icu.sourceSpan, icu.switchValueSourceSpan);\n }\n this._inIcu = wasInIcu;\n return icu;\n };\n _Visitor.prototype.visitComment = function (comment, context) {\n var isOpening = _isOpeningComment(comment);\n if (isOpening && this._isInTranslatableSection) {\n this._reportError(comment, 'Could not start a block inside a translatable section');\n return;\n }\n var isClosing = _isClosingComment(comment);\n if (isClosing && !this._inI18nBlock) {\n this._reportError(comment, 'Trying to close an unopened block');\n return;\n }\n if (!this._inI18nNode && !this._inIcu) {\n if (!this._inI18nBlock) {\n if (isOpening) {\n this._inI18nBlock = true;\n this._blockStartDepth = this._depth;\n this._blockChildren = [];\n this._blockMeaningAndDesc = comment.value.replace(_I18N_COMMENT_PREFIX_REGEXP, '').trim();\n this._openTranslatableSection(comment);\n }\n }\n else {\n if (isClosing) {\n if (this._depth == this._blockStartDepth) {\n this._closeTranslatableSection(comment, this._blockChildren);\n this._inI18nBlock = false;\n var message = this._addMessage(this._blockChildren, this._blockMeaningAndDesc);\n // merge attributes in sections\n var nodes = this._translateMessage(comment, message);\n return visitAll(this, nodes);\n }\n else {\n this._reportError(comment, 'I18N blocks should not cross element boundaries');\n return;\n }\n }\n }\n }\n };\n _Visitor.prototype.visitText = function (text, context) {\n if (this._isInTranslatableSection) {\n this._mayBeAddBlockChildren(text);\n }\n return text;\n };\n _Visitor.prototype.visitElement = function (el, context) {\n var _this = this;\n this._mayBeAddBlockChildren(el);\n this._depth++;\n var wasInI18nNode = this._inI18nNode;\n var wasInImplicitNode = this._inImplicitNode;\n var childNodes;\n // Extract only top level nodes with the (implicit) \"i18n\" attribute if not in a block or an ICU\n // message\n var i18nAttr = _getI18nAttr(el);\n var isImplicit = this._implicitTags.some(function (tag) { return el.name === tag; }) &&\n !this._inIcu && !this._isInTranslatableSection;\n var isTopLevelImplicit = !wasInImplicitNode && isImplicit;\n this._inImplicitNode = this._inImplicitNode || isImplicit;\n if (!this._isInTranslatableSection && !this._inIcu) {\n if (i18nAttr) {\n // explicit translation\n this._inI18nNode = true;\n var message = this._addMessage(el.children, i18nAttr.value);\n childNodes = this._translateMessage(el, message);\n }\n else if (isTopLevelImplicit) {\n // implicit translation\n this._inI18nNode = true;\n var message = this._addMessage(el.children);\n childNodes = this._translateMessage(el, message);\n }\n if (this._mode == _VisitorMode.Extract) {\n var isTranslatable = i18nAttr || isTopLevelImplicit;\n if (isTranslatable) {\n this._openTranslatableSection(el);\n }\n visitAll(this, el.children);\n if (isTranslatable) {\n this._closeTranslatableSection(el, el.children);\n }\n }\n if (this._mode === _VisitorMode.Merge && !i18nAttr && !isTopLevelImplicit) {\n childNodes = [];\n el.children.forEach(function (child) {\n var visited = child.visit(_this, context);\n if (visited && !_this._isInTranslatableSection) {\n // Do not add the children from translatable sections (= i18n blocks here)\n // They will be added when the section is close (i.e. on ``)\n childNodes = childNodes.concat(visited);\n }\n });\n }\n }\n else {\n if (i18nAttr || isTopLevelImplicit) {\n this._reportError(el, 'Could not mark an element as translatable inside a translatable section');\n }\n if (this._mode == _VisitorMode.Extract) {\n // Descend into child nodes for extraction\n visitAll(this, el.children);\n }\n if (this._mode == _VisitorMode.Merge) {\n // Translate attributes in ICU messages\n childNodes = [];\n el.children.forEach(function (child) {\n var visited = child.visit(_this, context);\n if (visited && !_this._isInTranslatableSection) {\n // Do not add the children from translatable sections (= i18n blocks here)\n // They will be added when the section is close (i.e. on ``)\n childNodes = childNodes.concat(visited);\n }\n });\n }\n }\n this._visitAttributesOf(el);\n this._depth--;\n this._inI18nNode = wasInI18nNode;\n this._inImplicitNode = wasInImplicitNode;\n if (this._mode === _VisitorMode.Merge) {\n // There are no childNodes in translatable sections - those nodes will be replace anyway\n var translatedAttrs = this._translateAttributes(el);\n return new Element(el.name, translatedAttrs, childNodes, el.sourceSpan, el.startSourceSpan, el.endSourceSpan);\n }\n };\n _Visitor.prototype.visitAttribute = function (attribute, context) {\n throw new Error('unreachable code');\n };\n _Visitor.prototype._init = function (mode, interpolationConfig) {\n this._mode = mode;\n this._inI18nBlock = false;\n this._inI18nNode = false;\n this._depth = 0;\n this._inIcu = false;\n this._msgCountAtSectionStart = void 0;\n this._errors = [];\n this._messages = [];\n this._inImplicitNode = false;\n this._createI18nMessage = createI18nMessageFactory(interpolationConfig);\n };\n // looks for translatable attributes\n _Visitor.prototype._visitAttributesOf = function (el) {\n var _this = this;\n var explicitAttrNameToValue = {};\n var implicitAttrNames = this._implicitAttrs[el.name] || [];\n el.attrs.filter(function (attr) { return attr.name.startsWith(_I18N_ATTR_PREFIX); })\n .forEach(function (attr) { return explicitAttrNameToValue[attr.name.slice(_I18N_ATTR_PREFIX.length)] =\n attr.value; });\n el.attrs.forEach(function (attr) {\n if (attr.name in explicitAttrNameToValue) {\n _this._addMessage([attr], explicitAttrNameToValue[attr.name]);\n }\n else if (implicitAttrNames.some(function (name) { return attr.name === name; })) {\n _this._addMessage([attr]);\n }\n });\n };\n // add a translatable message\n _Visitor.prototype._addMessage = function (ast, meaningAndDesc) {\n if (ast.length == 0 ||\n ast.length == 1 && ast[0] instanceof Attribute$1 && !ast[0].value) {\n // Do not create empty messages\n return;\n }\n var _a = _splitMeaningAndDesc(meaningAndDesc), meaning = _a[0], description = _a[1];\n var message = this._createI18nMessage(ast, meaning, description);\n this._messages.push(message);\n return message;\n };\n // Translates the given message given the `TranslationBundle`\n // no-op when called in extraction mode (returns [])\n _Visitor.prototype._translateMessage = function (el, message) {\n if (message && this._mode === _VisitorMode.Merge) {\n var id = digestMessage(message);\n var nodes = this._translations.get(id);\n if (nodes) {\n return nodes;\n }\n this._reportError(el, \"Translation unavailable for message id=\\\"\" + id + \"\\\"\");\n }\n return [];\n };\n // translate the attributes of an element and remove i18n specific attributes\n _Visitor.prototype._translateAttributes = function (el) {\n var _this = this;\n var attributes = el.attrs;\n var i18nAttributeMeanings = {};\n attributes.forEach(function (attr) {\n if (attr.name.startsWith(_I18N_ATTR_PREFIX)) {\n i18nAttributeMeanings[attr.name.slice(_I18N_ATTR_PREFIX.length)] =\n _splitMeaningAndDesc(attr.value)[0];\n }\n });\n var translatedAttributes = [];\n attributes.forEach(function (attr) {\n if (attr.name === _I18N_ATTR || attr.name.startsWith(_I18N_ATTR_PREFIX)) {\n // strip i18n specific attributes\n return;\n }\n if (attr.value && attr.value != '' && i18nAttributeMeanings.hasOwnProperty(attr.name)) {\n var meaning = i18nAttributeMeanings[attr.name];\n var message = _this._createI18nMessage([attr], meaning, '');\n var id = digestMessage(message);\n var nodes = _this._translations.get(id);\n if (nodes) {\n if (nodes[0] instanceof Text) {\n var value = nodes[0].value;\n translatedAttributes.push(new Attribute$1(attr.name, value, attr.sourceSpan));\n }\n else {\n _this._reportError(el, \"Unexpected translation for attribute \\\"\" + attr.name + \"\\\" (id=\\\"\" + id + \"\\\")\");\n }\n }\n else {\n _this._reportError(el, \"Translation unavailable for attribute \\\"\" + attr.name + \"\\\" (id=\\\"\" + id + \"\\\")\");\n }\n }\n else {\n translatedAttributes.push(attr);\n }\n });\n return translatedAttributes;\n };\n /**\n * Add the node as a child of the block when:\n * - we are in a block,\n * - we are not inside a ICU message (those are handled separately),\n * - the node is a \"direct child\" of the block\n */\n _Visitor.prototype._mayBeAddBlockChildren = function (node) {\n if (this._inI18nBlock && !this._inIcu && this._depth == this._blockStartDepth) {\n this._blockChildren.push(node);\n }\n };\n /**\n * Marks the start of a section, see `_endSection`\n */\n _Visitor.prototype._openTranslatableSection = function (node) {\n if (this._isInTranslatableSection) {\n this._reportError(node, 'Unexpected section start');\n }\n else {\n this._msgCountAtSectionStart = this._messages.length;\n }\n };\n Object.defineProperty(_Visitor.prototype, \"_isInTranslatableSection\", {\n /**\n * A translatable section could be:\n * - a translatable element,\n * - nodes between `` and `` comments\n */\n get: function () {\n return this._msgCountAtSectionStart !== void 0;\n },\n enumerable: true,\n configurable: true\n });\n /**\n * Terminates a section.\n *\n * If a section has only one significant children (comments not significant) then we should not\n * keep the message from this children:\n *\n * `{ICU message}
` would produce two messages:\n * - one for the content with meaning and description,\n * - another one for the ICU message.\n *\n * In this case the last message is discarded as it contains less information (the AST is\n * otherwise identical).\n *\n * Note that we should still keep messages extracted from attributes inside the section (ie in the\n * ICU message here)\n */\n _Visitor.prototype._closeTranslatableSection = function (node, directChildren) {\n if (!this._isInTranslatableSection) {\n this._reportError(node, 'Unexpected section end');\n return;\n }\n var startIndex = this._msgCountAtSectionStart;\n var significantChildren = directChildren.reduce(function (count, node) { return count + (node instanceof Comment ? 0 : 1); }, 0);\n if (significantChildren == 1) {\n for (var i = this._messages.length - 1; i >= startIndex; i--) {\n var ast = this._messages[i].nodes;\n if (!(ast.length == 1 && ast[0] instanceof Text$1)) {\n this._messages.splice(i, 1);\n break;\n }\n }\n }\n this._msgCountAtSectionStart = void 0;\n };\n _Visitor.prototype._reportError = function (node, msg) {\n this._errors.push(new I18nError(node.sourceSpan, msg));\n };\n return _Visitor;\n }());\n function _isOpeningComment(n) {\n return n instanceof Comment && n.value && n.value.startsWith('i18n');\n }\n function _isClosingComment(n) {\n return n instanceof Comment && n.value && n.value === '/i18n';\n }\n function _getI18nAttr(p) {\n return p.attrs.find(function (attr) { return attr.name === _I18N_ATTR; }) || null;\n }\n function _splitMeaningAndDesc(i18n) {\n if (!i18n)\n return ['', ''];\n var pipeIndex = i18n.indexOf('|');\n return pipeIndex == -1 ? ['', i18n] : [i18n.slice(0, pipeIndex), i18n.slice(pipeIndex + 1)];\n }\n\n /**\n * A container for message extracted from the templates.\n */\n var MessageBundle = (function () {\n function MessageBundle(_htmlParser, _implicitTags, _implicitAttrs) {\n this._htmlParser = _htmlParser;\n this._implicitTags = _implicitTags;\n this._implicitAttrs = _implicitAttrs;\n this._messageMap = {};\n }\n MessageBundle.prototype.updateFromTemplate = function (html, url, interpolationConfig) {\n var _this = this;\n var htmlParserResult = this._htmlParser.parse(html, url, true, interpolationConfig);\n if (htmlParserResult.errors.length) {\n return htmlParserResult.errors;\n }\n var i18nParserResult = extractMessages(htmlParserResult.rootNodes, interpolationConfig, this._implicitTags, this._implicitAttrs);\n if (i18nParserResult.errors.length) {\n return i18nParserResult.errors;\n }\n i18nParserResult.messages.forEach(function (message) { _this._messageMap[digestMessage(message)] = message; });\n };\n MessageBundle.prototype.getMessageMap = function () { return this._messageMap; };\n MessageBundle.prototype.write = function (serializer) { return serializer.write(this._messageMap); };\n return MessageBundle;\n }());\n\n var XmlTagDefinition = (function () {\n function XmlTagDefinition() {\n this.closedByParent = false;\n this.contentType = TagContentType.PARSABLE_DATA;\n this.isVoid = false;\n this.ignoreFirstLf = false;\n this.canSelfClose = true;\n }\n XmlTagDefinition.prototype.requireExtraParent = function (currentParent) { return false; };\n XmlTagDefinition.prototype.isClosedByChild = function (name) { return false; };\n return XmlTagDefinition;\n }());\n var _TAG_DEFINITION = new XmlTagDefinition();\n function getXmlTagDefinition(tagName) {\n return _TAG_DEFINITION;\n }\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var __extends$7 = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n var XmlParser = (function (_super) {\n __extends$7(XmlParser, _super);\n function XmlParser() {\n _super.call(this, getXmlTagDefinition);\n }\n XmlParser.prototype.parse = function (source, url, parseExpansionForms) {\n if (parseExpansionForms === void 0) { parseExpansionForms = false; }\n return _super.prototype.parse.call(this, source, url, parseExpansionForms, null);\n };\n return XmlParser;\n }(Parser$1));\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n // Generate a map of placeholder to content indexed by message ids\n function extractPlaceholders(messageBundle) {\n var messageMap = messageBundle.getMessageMap();\n var placeholders = {};\n Object.keys(messageMap).forEach(function (msgId) {\n placeholders[msgId] = messageMap[msgId].placeholders;\n });\n return placeholders;\n }\n // Generate a map of placeholder to message ids indexed by message ids\n function extractPlaceholderToIds(messageBundle) {\n var messageMap = messageBundle.getMessageMap();\n var placeholderToIds = {};\n Object.keys(messageMap).forEach(function (msgId) {\n placeholderToIds[msgId] = messageMap[msgId].placeholderToMsgIds;\n });\n return placeholderToIds;\n }\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var __extends$8 = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n var _Visitor$1 = (function () {\n function _Visitor() {\n }\n _Visitor.prototype.visitTag = function (tag) {\n var _this = this;\n var strAttrs = this._serializeAttributes(tag.attrs);\n if (tag.children.length == 0) {\n return \"<\" + tag.name + strAttrs + \"/>\";\n }\n var strChildren = tag.children.map(function (node) { return node.visit(_this); });\n return \"<\" + tag.name + strAttrs + \">\" + strChildren.join('') + \"\" + tag.name + \">\";\n };\n _Visitor.prototype.visitText = function (text) { return text.value; };\n _Visitor.prototype.visitDeclaration = function (decl) {\n return \"\";\n };\n _Visitor.prototype._serializeAttributes = function (attrs) {\n var strAttrs = Object.keys(attrs).map(function (name) { return (name + \"=\\\"\" + attrs[name] + \"\\\"\"); }).join(' ');\n return strAttrs.length > 0 ? ' ' + strAttrs : '';\n };\n _Visitor.prototype.visitDoctype = function (doctype) {\n return \"\";\n };\n return _Visitor;\n }());\n var _visitor = new _Visitor$1();\n function serialize(nodes) {\n return nodes.map(function (node) { return node.visit(_visitor); }).join('');\n }\n var Declaration = (function () {\n function Declaration(unescapedAttrs) {\n var _this = this;\n this.attrs = {};\n Object.keys(unescapedAttrs).forEach(function (k) {\n _this.attrs[k] = _escapeXml(unescapedAttrs[k]);\n });\n }\n Declaration.prototype.visit = function (visitor) { return visitor.visitDeclaration(this); };\n return Declaration;\n }());\n var Doctype = (function () {\n function Doctype(rootTag, dtd) {\n this.rootTag = rootTag;\n this.dtd = dtd;\n }\n ;\n Doctype.prototype.visit = function (visitor) { return visitor.visitDoctype(this); };\n return Doctype;\n }());\n var Tag = (function () {\n function Tag(name, unescapedAttrs, children) {\n var _this = this;\n if (unescapedAttrs === void 0) { unescapedAttrs = {}; }\n if (children === void 0) { children = []; }\n this.name = name;\n this.children = children;\n this.attrs = {};\n Object.keys(unescapedAttrs).forEach(function (k) {\n _this.attrs[k] = _escapeXml(unescapedAttrs[k]);\n });\n }\n Tag.prototype.visit = function (visitor) { return visitor.visitTag(this); };\n return Tag;\n }());\n var Text$2 = (function () {\n function Text(unescapedValue) {\n this.value = _escapeXml(unescapedValue);\n }\n ;\n Text.prototype.visit = function (visitor) { return visitor.visitText(this); };\n return Text;\n }());\n var CR = (function (_super) {\n __extends$8(CR, _super);\n function CR(ws) {\n if (ws === void 0) { ws = 0; }\n _super.call(this, \"\\n\" + new Array(ws + 1).join(' '));\n }\n return CR;\n }(Text$2));\n var _ESCAPED_CHARS = [\n [/&/g, '&'],\n [/\"/g, '"'],\n [/'/g, '''],\n [//g, '>'],\n ];\n function _escapeXml(text) {\n return _ESCAPED_CHARS.reduce(function (text, entry) { return text.replace(entry[0], entry[1]); }, text);\n }\n\n var _VERSION = '1.2';\n var _XMLNS = 'urn:oasis:names:tc:xliff:document:1.2';\n // TODO(vicb): make this a param (s/_/-/)\n var _SOURCE_LANG = 'en';\n var _PLACEHOLDER_TAG = 'x';\n var _SOURCE_TAG = 'source';\n var _TARGET_TAG = 'target';\n var _UNIT_TAG = 'trans-unit';\n // http://docs.oasis-open.org/xliff/v1.2/os/xliff-core.html\n // http://docs.oasis-open.org/xliff/v1.2/xliff-profile-html/xliff-profile-html-1.2.html\n var Xliff = (function () {\n function Xliff(_htmlParser, _interpolationConfig) {\n this._htmlParser = _htmlParser;\n this._interpolationConfig = _interpolationConfig;\n }\n Xliff.prototype.write = function (messageMap) {\n var visitor = new _WriteVisitor();\n var transUnits = [];\n Object.keys(messageMap).forEach(function (id) {\n var message = messageMap[id];\n var transUnit = new Tag(_UNIT_TAG, { id: id, datatype: 'html' });\n transUnit.children.push(new CR(8), new Tag(_SOURCE_TAG, {}, visitor.serialize(message.nodes)), new CR(8), new Tag(_TARGET_TAG));\n if (message.description) {\n transUnit.children.push(new CR(8), new Tag('note', { priority: '1', from: 'description' }, [new Text$2(message.description)]));\n }\n if (message.meaning) {\n transUnit.children.push(new CR(8), new Tag('note', { priority: '1', from: 'meaning' }, [new Text$2(message.meaning)]));\n }\n transUnit.children.push(new CR(6));\n transUnits.push(new CR(6), transUnit);\n });\n var body = new Tag('body', {}, transUnits.concat([new CR(4)]));\n var file = new Tag('file', { 'source-language': _SOURCE_LANG, datatype: 'plaintext', original: 'ng2.template' }, [new CR(4), body, new CR(2)]);\n var xliff = new Tag('xliff', { version: _VERSION, xmlns: _XMLNS }, [new CR(2), file, new CR()]);\n return serialize([\n new Declaration({ version: '1.0', encoding: 'UTF-8' }), new CR(), xliff, new CR()\n ]);\n };\n Xliff.prototype.load = function (content, url, messageBundle) {\n var _this = this;\n // Parse the xtb file into xml nodes\n var result = new XmlParser().parse(content, url);\n if (result.errors.length) {\n throw new Error(\"xtb parse errors:\\n\" + result.errors.join('\\n'));\n }\n // Replace the placeholders, messages are now string\n var _a = new _LoadVisitor().parse(result.rootNodes, messageBundle), messages = _a.messages, errors = _a.errors;\n if (errors.length) {\n throw new Error(\"xtb parse errors:\\n\" + errors.join('\\n'));\n }\n // Convert the string messages to html ast\n // TODO(vicb): map error message back to the original message in xtb\n var messageMap = {};\n var parseErrors = [];\n Object.keys(messages).forEach(function (id) {\n var res = _this._htmlParser.parse(messages[id], url, true, _this._interpolationConfig);\n parseErrors.push.apply(parseErrors, res.errors);\n messageMap[id] = res.rootNodes;\n });\n if (parseErrors.length) {\n throw new Error(\"xtb parse errors:\\n\" + parseErrors.join('\\n'));\n }\n return messageMap;\n };\n return Xliff;\n }());\n var _WriteVisitor = (function () {\n function _WriteVisitor() {\n }\n _WriteVisitor.prototype.visitText = function (text, context) { return [new Text$2(text.value)]; };\n _WriteVisitor.prototype.visitContainer = function (container, context) {\n var _this = this;\n var nodes = [];\n container.children.forEach(function (node) { return nodes.push.apply(nodes, node.visit(_this)); });\n return nodes;\n };\n _WriteVisitor.prototype.visitIcu = function (icu, context) {\n if (this._isInIcu) {\n // nested ICU is not supported\n throw new Error('xliff does not support nested ICU messages');\n }\n this._isInIcu = true;\n // TODO(vicb): support ICU messages\n // https://lists.oasis-open.org/archives/xliff/201201/msg00028.html\n // http://docs.oasis-open.org/xliff/v1.2/xliff-profile-po/xliff-profile-po-1.2-cd02.html\n var nodes = [];\n this._isInIcu = false;\n return nodes;\n };\n _WriteVisitor.prototype.visitTagPlaceholder = function (ph, context) {\n var ctype = getCtypeForTag(ph.tag);\n var startTagPh = new Tag(_PLACEHOLDER_TAG, { id: ph.startName, ctype: ctype });\n if (ph.isVoid) {\n // void tags have no children nor closing tags\n return [startTagPh];\n }\n var closeTagPh = new Tag(_PLACEHOLDER_TAG, { id: ph.closeName, ctype: ctype });\n return [startTagPh].concat(this.serialize(ph.children), [closeTagPh]);\n };\n _WriteVisitor.prototype.visitPlaceholder = function (ph, context) {\n return [new Tag(_PLACEHOLDER_TAG, { id: ph.name })];\n };\n _WriteVisitor.prototype.visitIcuPlaceholder = function (ph, context) {\n return [new Tag(_PLACEHOLDER_TAG, { id: ph.name })];\n };\n _WriteVisitor.prototype.serialize = function (nodes) {\n var _this = this;\n this._isInIcu = false;\n return ListWrapper.flatten(nodes.map(function (node) { return node.visit(_this); }));\n };\n return _WriteVisitor;\n }());\n // TODO(vicb): add error management (structure)\n // TODO(vicb): factorize (xtb) ?\n var _LoadVisitor = (function () {\n function _LoadVisitor() {\n }\n _LoadVisitor.prototype.parse = function (nodes, messageBundle) {\n var _this = this;\n this._messageNodes = [];\n this._translatedMessages = {};\n this._msgId = '';\n this._target = [];\n this._errors = [];\n // Find all messages\n visitAll(this, nodes, null);\n var messageMap = messageBundle.getMessageMap();\n var placeholders = extractPlaceholders(messageBundle);\n var placeholderToIds = extractPlaceholderToIds(messageBundle);\n this._messageNodes\n .filter(function (message) {\n // Remove any messages that is not present in the source message bundle.\n return messageMap.hasOwnProperty(message[0]);\n })\n .sort(function (a, b) {\n // Because there could be no ICU placeholders inside an ICU message,\n // we do not need to take into account the `placeholderToMsgIds` of the referenced\n // messages, those would always be empty\n // TODO(vicb): overkill - create 2 buckets and [...woDeps, ...wDeps].process()\n if (Object.keys(messageMap[a[0]].placeholderToMsgIds).length == 0) {\n return -1;\n }\n if (Object.keys(messageMap[b[0]].placeholderToMsgIds).length == 0) {\n return 1;\n }\n return 0;\n })\n .forEach(function (message) {\n var id = message[0];\n _this._placeholders = placeholders[id] || {};\n _this._placeholderToIds = placeholderToIds[id] || {};\n // TODO(vicb): make sure there is no `_TRANSLATIONS_TAG` nor `_TRANSLATION_TAG`\n _this._translatedMessages[id] = visitAll(_this, message[1]).join('');\n });\n return { messages: this._translatedMessages, errors: this._errors };\n };\n _LoadVisitor.prototype.visitElement = function (element, context) {\n switch (element.name) {\n case _UNIT_TAG:\n this._target = null;\n var msgId = element.attrs.find(function (attr) { return attr.name === 'id'; });\n if (!msgId) {\n this._addError(element, \"<\" + _UNIT_TAG + \"> misses the \\\"id\\\" attribute\");\n }\n else {\n this._msgId = msgId.value;\n }\n visitAll(this, element.children, null);\n if (this._msgId !== null) {\n this._messageNodes.push([this._msgId, this._target]);\n }\n break;\n case _SOURCE_TAG:\n // ignore source message\n break;\n case _TARGET_TAG:\n this._target = element.children;\n break;\n case _PLACEHOLDER_TAG:\n var idAttr = element.attrs.find(function (attr) { return attr.name === 'id'; });\n if (!idAttr) {\n this._addError(element, \"<\" + _PLACEHOLDER_TAG + \"> misses the \\\"id\\\" attribute\");\n }\n else {\n var id = idAttr.value;\n if (this._placeholders.hasOwnProperty(id)) {\n return this._placeholders[id];\n }\n if (this._placeholderToIds.hasOwnProperty(id) &&\n this._translatedMessages.hasOwnProperty(this._placeholderToIds[id])) {\n return this._translatedMessages[this._placeholderToIds[id]];\n }\n // TODO(vicb): better error message for when\n // !this._translatedMessages.hasOwnProperty(this._placeholderToIds[id])\n this._addError(element, \"The placeholder \\\"\" + id + \"\\\" does not exists in the source message\");\n }\n break;\n default:\n visitAll(this, element.children, null);\n }\n };\n _LoadVisitor.prototype.visitAttribute = function (attribute, context) {\n throw new Error('unreachable code');\n };\n _LoadVisitor.prototype.visitText = function (text, context) { return text.value; };\n _LoadVisitor.prototype.visitComment = function (comment, context) { return ''; };\n _LoadVisitor.prototype.visitExpansion = function (expansion, context) {\n throw new Error('unreachable code');\n };\n _LoadVisitor.prototype.visitExpansionCase = function (expansionCase, context) {\n throw new Error('unreachable code');\n };\n _LoadVisitor.prototype._addError = function (node, message) {\n this._errors.push(new I18nError(node.sourceSpan, message));\n };\n return _LoadVisitor;\n }());\n function getCtypeForTag(tag) {\n switch (tag.toLowerCase()) {\n case 'br':\n return 'lb';\n case 'img':\n return 'image';\n default:\n return \"x-\" + tag;\n }\n }\n\n var _MESSAGES_TAG = 'messagebundle';\n var _MESSAGE_TAG = 'msg';\n var _PLACEHOLDER_TAG$1 = 'ph';\n var _EXEMPLE_TAG = 'ex';\n var _DOCTYPE = \"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\";\n var Xmb = (function () {\n function Xmb() {\n }\n Xmb.prototype.write = function (messageMap) {\n var visitor = new _Visitor$2();\n var rootNode = new Tag(_MESSAGES_TAG);\n Object.keys(messageMap).forEach(function (id) {\n var message = messageMap[id];\n var attrs = { id: id };\n if (message.description) {\n attrs['desc'] = message.description;\n }\n if (message.meaning) {\n attrs['meaning'] = message.meaning;\n }\n rootNode.children.push(new CR(2), new Tag(_MESSAGE_TAG, attrs, visitor.serialize(message.nodes)));\n });\n rootNode.children.push(new CR());\n return serialize([\n new Declaration({ version: '1.0', encoding: 'UTF-8' }),\n new CR(),\n new Doctype(_MESSAGES_TAG, _DOCTYPE),\n new CR(),\n rootNode,\n new CR(),\n ]);\n };\n Xmb.prototype.load = function (content, url, messageBundle) {\n throw new Error('Unsupported');\n };\n return Xmb;\n }());\n var _Visitor$2 = (function () {\n function _Visitor() {\n }\n _Visitor.prototype.visitText = function (text, context) { return [new Text$2(text.value)]; };\n _Visitor.prototype.visitContainer = function (container, context) {\n var _this = this;\n var nodes = [];\n container.children.forEach(function (node) { return nodes.push.apply(nodes, node.visit(_this)); });\n return nodes;\n };\n _Visitor.prototype.visitIcu = function (icu, context) {\n var _this = this;\n var nodes = [new Text$2(\"{\" + icu.expression + \", \" + icu.type + \", \")];\n Object.keys(icu.cases).forEach(function (c) {\n nodes.push.apply(nodes, [new Text$2(c + \" {\")].concat(icu.cases[c].visit(_this), [new Text$2(\"} \")]));\n });\n nodes.push(new Text$2(\"}\"));\n return nodes;\n };\n _Visitor.prototype.visitTagPlaceholder = function (ph, context) {\n var startEx = new Tag(_EXEMPLE_TAG, {}, [new Text$2(\"<\" + ph.tag + \">\")]);\n var startTagPh = new Tag(_PLACEHOLDER_TAG$1, { name: ph.startName }, [startEx]);\n if (ph.isVoid) {\n // void tags have no children nor closing tags\n return [startTagPh];\n }\n var closeEx = new Tag(_EXEMPLE_TAG, {}, [new Text$2(\"\" + ph.tag + \">\")]);\n var closeTagPh = new Tag(_PLACEHOLDER_TAG$1, { name: ph.closeName }, [closeEx]);\n return [startTagPh].concat(this.serialize(ph.children), [closeTagPh]);\n };\n _Visitor.prototype.visitPlaceholder = function (ph, context) {\n return [new Tag(_PLACEHOLDER_TAG$1, { name: ph.name })];\n };\n _Visitor.prototype.visitIcuPlaceholder = function (ph, context) {\n return [new Tag(_PLACEHOLDER_TAG$1, { name: ph.name })];\n };\n _Visitor.prototype.serialize = function (nodes) {\n var _this = this;\n return ListWrapper.flatten(nodes.map(function (node) { return node.visit(_this); }));\n };\n return _Visitor;\n }());\n\n var _TRANSLATIONS_TAG = 'translationbundle';\n var _TRANSLATION_TAG = 'translation';\n var _PLACEHOLDER_TAG$2 = 'ph';\n var Xtb = (function () {\n function Xtb(_htmlParser, _interpolationConfig) {\n this._htmlParser = _htmlParser;\n this._interpolationConfig = _interpolationConfig;\n }\n Xtb.prototype.write = function (messageMap) { throw new Error('Unsupported'); };\n Xtb.prototype.load = function (content, url, messageBundle) {\n var _this = this;\n // Parse the xtb file into xml nodes\n var result = new XmlParser().parse(content, url);\n if (result.errors.length) {\n throw new Error(\"xtb parse errors:\\n\" + result.errors.join('\\n'));\n }\n // Replace the placeholders, messages are now string\n var _a = new _Visitor$3().parse(result.rootNodes, messageBundle), messages = _a.messages, errors = _a.errors;\n if (errors.length) {\n throw new Error(\"xtb parse errors:\\n\" + errors.join('\\n'));\n }\n // Convert the string messages to html ast\n // TODO(vicb): map error message back to the original message in xtb\n var messageMap = {};\n var parseErrors = [];\n Object.keys(messages).forEach(function (id) {\n var res = _this._htmlParser.parse(messages[id], url, true, _this._interpolationConfig);\n parseErrors.push.apply(parseErrors, res.errors);\n messageMap[id] = res.rootNodes;\n });\n if (parseErrors.length) {\n throw new Error(\"xtb parse errors:\\n\" + parseErrors.join('\\n'));\n }\n return messageMap;\n };\n return Xtb;\n }());\n var _Visitor$3 = (function () {\n function _Visitor() {\n }\n _Visitor.prototype.parse = function (nodes, messageBundle) {\n var _this = this;\n this._messageNodes = [];\n this._translatedMessages = {};\n this._bundleDepth = 0;\n this._translationDepth = 0;\n this._errors = [];\n // Find all messages\n visitAll(this, nodes, null);\n var messageMap = messageBundle.getMessageMap();\n var placeholders = extractPlaceholders(messageBundle);\n var placeholderToIds = extractPlaceholderToIds(messageBundle);\n this._messageNodes\n .filter(function (message) {\n // Remove any messages that is not present in the source message bundle.\n return messageMap.hasOwnProperty(message[0]);\n })\n .sort(function (a, b) {\n // Because there could be no ICU placeholders inside an ICU message,\n // we do not need to take into account the `placeholderToMsgIds` of the referenced\n // messages, those would always be empty\n // TODO(vicb): overkill - create 2 buckets and [...woDeps, ...wDeps].process()\n if (Object.keys(messageMap[a[0]].placeholderToMsgIds).length == 0) {\n return -1;\n }\n if (Object.keys(messageMap[b[0]].placeholderToMsgIds).length == 0) {\n return 1;\n }\n return 0;\n })\n .forEach(function (message) {\n var id = message[0];\n _this._placeholders = placeholders[id] || {};\n _this._placeholderToIds = placeholderToIds[id] || {};\n // TODO(vicb): make sure there is no `_TRANSLATIONS_TAG` nor `_TRANSLATION_TAG`\n _this._translatedMessages[id] = visitAll(_this, message[1]).join('');\n });\n return { messages: this._translatedMessages, errors: this._errors };\n };\n _Visitor.prototype.visitElement = function (element, context) {\n switch (element.name) {\n case _TRANSLATIONS_TAG:\n this._bundleDepth++;\n if (this._bundleDepth > 1) {\n this._addError(element, \"<\" + _TRANSLATIONS_TAG + \"> elements can not be nested\");\n }\n visitAll(this, element.children, null);\n this._bundleDepth--;\n break;\n case _TRANSLATION_TAG:\n this._translationDepth++;\n if (this._translationDepth > 1) {\n this._addError(element, \"<\" + _TRANSLATION_TAG + \"> elements can not be nested\");\n }\n var idAttr = element.attrs.find(function (attr) { return attr.name === 'id'; });\n if (!idAttr) {\n this._addError(element, \"<\" + _TRANSLATION_TAG + \"> misses the \\\"id\\\" attribute\");\n }\n else {\n // ICU placeholders are reference to other messages.\n // The referenced message might not have been decoded yet.\n // We need to have all messages available to make sure deps are decoded first.\n // TODO(vicb): report an error on duplicate id\n this._messageNodes.push([idAttr.value, element.children]);\n }\n this._translationDepth--;\n break;\n case _PLACEHOLDER_TAG$2:\n var nameAttr = element.attrs.find(function (attr) { return attr.name === 'name'; });\n if (!nameAttr) {\n this._addError(element, \"<\" + _PLACEHOLDER_TAG$2 + \"> misses the \\\"name\\\" attribute\");\n }\n else {\n var name_1 = nameAttr.value;\n if (this._placeholders.hasOwnProperty(name_1)) {\n return this._placeholders[name_1];\n }\n if (this._placeholderToIds.hasOwnProperty(name_1) &&\n this._translatedMessages.hasOwnProperty(this._placeholderToIds[name_1])) {\n return this._translatedMessages[this._placeholderToIds[name_1]];\n }\n // TODO(vicb): better error message for when\n // !this._translatedMessages.hasOwnProperty(this._placeholderToIds[name])\n this._addError(element, \"The placeholder \\\"\" + name_1 + \"\\\" does not exists in the source message\");\n }\n break;\n default:\n this._addError(element, 'Unexpected tag');\n }\n };\n _Visitor.prototype.visitAttribute = function (attribute, context) {\n throw new Error('unreachable code');\n };\n _Visitor.prototype.visitText = function (text, context) { return text.value; };\n _Visitor.prototype.visitComment = function (comment, context) { return ''; };\n _Visitor.prototype.visitExpansion = function (expansion, context) {\n var _this = this;\n var strCases = expansion.cases.map(function (c) { return c.visit(_this, null); });\n return \"{\" + expansion.switchValue + \", \" + expansion.type + \", strCases.join(' ')}\";\n };\n _Visitor.prototype.visitExpansionCase = function (expansionCase, context) {\n return expansionCase.value + \" {\" + visitAll(this, expansionCase.expression, null) + \"}\";\n };\n _Visitor.prototype._addError = function (node, message) {\n this._errors.push(new I18nError(node.sourceSpan, message));\n };\n return _Visitor;\n }());\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n /**\n * A container for translated messages\n */\n var TranslationBundle = (function () {\n function TranslationBundle(_messageMap) {\n if (_messageMap === void 0) { _messageMap = {}; }\n this._messageMap = _messageMap;\n }\n TranslationBundle.load = function (content, url, messageBundle, serializer) {\n return new TranslationBundle(serializer.load(content, url, messageBundle));\n };\n TranslationBundle.prototype.get = function (id) { return this._messageMap[id]; };\n TranslationBundle.prototype.has = function (id) { return id in this._messageMap; };\n return TranslationBundle;\n }());\n\n var I18NHtmlParser = (function () {\n // TODO(vicb): transB.load() should not need a msgB & add transB.resolve(msgB,\n // interpolationConfig)\n // TODO(vicb): remove the interpolationConfig from the Xtb serializer\n function I18NHtmlParser(_htmlParser, _translations, _translationsFormat) {\n this._htmlParser = _htmlParser;\n this._translations = _translations;\n this._translationsFormat = _translationsFormat;\n }\n I18NHtmlParser.prototype.parse = function (source, url, parseExpansionForms, interpolationConfig) {\n if (parseExpansionForms === void 0) { parseExpansionForms = false; }\n if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n var parseResult = this._htmlParser.parse(source, url, parseExpansionForms, interpolationConfig);\n if (!this._translations || this._translations === '') {\n // Do not enable i18n when no translation bundle is provided\n return parseResult;\n }\n // TODO(vicb): add support for implicit tags / attributes\n var messageBundle = new MessageBundle(this._htmlParser, [], {});\n var errors = messageBundle.updateFromTemplate(source, url, interpolationConfig);\n if (errors && errors.length) {\n return new ParseTreeResult(parseResult.rootNodes, parseResult.errors.concat(errors));\n }\n var serializer = this._createSerializer(interpolationConfig);\n var translationBundle = TranslationBundle.load(this._translations, url, messageBundle, serializer);\n return mergeTranslations(parseResult.rootNodes, translationBundle, interpolationConfig, [], {});\n };\n I18NHtmlParser.prototype._createSerializer = function (interpolationConfig) {\n var format = (this._translationsFormat || 'xlf').toLowerCase();\n switch (format) {\n case 'xmb':\n return new Xmb();\n case 'xtb':\n return new Xtb(this._htmlParser, interpolationConfig);\n case 'xliff':\n case 'xlf':\n default:\n return new Xliff(this._htmlParser, interpolationConfig);\n }\n };\n return I18NHtmlParser;\n }());\n\n var isDefaultChangeDetectionStrategy = _angular_core.__core_private__.isDefaultChangeDetectionStrategy;\n var ChangeDetectorStatus = _angular_core.__core_private__.ChangeDetectorStatus;\n var LifecycleHooks = _angular_core.__core_private__.LifecycleHooks;\n var LIFECYCLE_HOOKS_VALUES = _angular_core.__core_private__.LIFECYCLE_HOOKS_VALUES;\n var ReflectorReader = _angular_core.__core_private__.ReflectorReader;\n var AppElement = _angular_core.__core_private__.AppElement;\n var CodegenComponentFactoryResolver = _angular_core.__core_private__.CodegenComponentFactoryResolver;\n var AppView = _angular_core.__core_private__.AppView;\n var DebugAppView = _angular_core.__core_private__.DebugAppView;\n var NgModuleInjector = _angular_core.__core_private__.NgModuleInjector;\n var registerModuleFactory = _angular_core.__core_private__.registerModuleFactory;\n var ViewType = _angular_core.__core_private__.ViewType;\n var MAX_INTERPOLATION_VALUES = _angular_core.__core_private__.MAX_INTERPOLATION_VALUES;\n var checkBinding = _angular_core.__core_private__.checkBinding;\n var flattenNestedViewRenderNodes = _angular_core.__core_private__.flattenNestedViewRenderNodes;\n var interpolate = _angular_core.__core_private__.interpolate;\n var ViewUtils = _angular_core.__core_private__.ViewUtils;\n var DebugContext = _angular_core.__core_private__.DebugContext;\n var StaticNodeDebugInfo = _angular_core.__core_private__.StaticNodeDebugInfo;\n var devModeEqual = _angular_core.__core_private__.devModeEqual;\n var UNINITIALIZED = _angular_core.__core_private__.UNINITIALIZED;\n var ValueUnwrapper = _angular_core.__core_private__.ValueUnwrapper;\n var TemplateRef_ = _angular_core.__core_private__.TemplateRef_;\n var EMPTY_ARRAY = _angular_core.__core_private__.EMPTY_ARRAY;\n var EMPTY_MAP = _angular_core.__core_private__.EMPTY_MAP;\n var pureProxy1 = _angular_core.__core_private__.pureProxy1;\n var pureProxy2 = _angular_core.__core_private__.pureProxy2;\n var pureProxy3 = _angular_core.__core_private__.pureProxy3;\n var pureProxy4 = _angular_core.__core_private__.pureProxy4;\n var pureProxy5 = _angular_core.__core_private__.pureProxy5;\n var pureProxy6 = _angular_core.__core_private__.pureProxy6;\n var pureProxy7 = _angular_core.__core_private__.pureProxy7;\n var pureProxy8 = _angular_core.__core_private__.pureProxy8;\n var pureProxy9 = _angular_core.__core_private__.pureProxy9;\n var pureProxy10 = _angular_core.__core_private__.pureProxy10;\n var castByValue = _angular_core.__core_private__.castByValue;\n var Console = _angular_core.__core_private__.Console;\n var reflector = _angular_core.__core_private__.reflector;\n var Reflector = _angular_core.__core_private__.Reflector;\n var ReflectionCapabilities = _angular_core.__core_private__.ReflectionCapabilities;\n var NoOpAnimationPlayer = _angular_core.__core_private__.NoOpAnimationPlayer;\n var AnimationSequencePlayer = _angular_core.__core_private__.AnimationSequencePlayer;\n var AnimationGroupPlayer = _angular_core.__core_private__.AnimationGroupPlayer;\n var AnimationKeyframe = _angular_core.__core_private__.AnimationKeyframe;\n var AnimationStyles = _angular_core.__core_private__.AnimationStyles;\n var ANY_STATE = _angular_core.__core_private__.ANY_STATE;\n var DEFAULT_STATE = _angular_core.__core_private__.DEFAULT_STATE;\n var EMPTY_ANIMATION_STATE = _angular_core.__core_private__.EMPTY_STATE;\n var FILL_STYLE_FLAG = _angular_core.__core_private__.FILL_STYLE_FLAG;\n var prepareFinalAnimationStyles = _angular_core.__core_private__.prepareFinalAnimationStyles;\n var balanceAnimationKeyframes = _angular_core.__core_private__.balanceAnimationKeyframes;\n var clearStyles = _angular_core.__core_private__.clearStyles;\n var collectAndResolveStyles = _angular_core.__core_private__.collectAndResolveStyles;\n var renderStyles = _angular_core.__core_private__.renderStyles;\n var ComponentStillLoadingError = _angular_core.__core_private__.ComponentStillLoadingError;\n\n var APP_VIEW_MODULE_URL = assetUrl('core', 'linker/view');\n var VIEW_UTILS_MODULE_URL = assetUrl('core', 'linker/view_utils');\n var CD_MODULE_URL = assetUrl('core', 'change_detection/change_detection');\n var ANIMATION_STYLE_UTIL_ASSET_URL = assetUrl('core', 'animation/animation_style_util');\n var Identifiers = (function () {\n function Identifiers() {\n }\n Identifiers.ANALYZE_FOR_ENTRY_COMPONENTS = {\n name: 'ANALYZE_FOR_ENTRY_COMPONENTS',\n moduleUrl: assetUrl('core', 'metadata/di'),\n runtime: _angular_core.ANALYZE_FOR_ENTRY_COMPONENTS\n };\n Identifiers.ViewUtils = {\n name: 'ViewUtils',\n moduleUrl: assetUrl('core', 'linker/view_utils'),\n runtime: ViewUtils\n };\n Identifiers.AppView = { name: 'AppView', moduleUrl: APP_VIEW_MODULE_URL, runtime: AppView };\n Identifiers.DebugAppView = {\n name: 'DebugAppView',\n moduleUrl: APP_VIEW_MODULE_URL,\n runtime: DebugAppView\n };\n Identifiers.AppElement = {\n name: 'AppElement',\n moduleUrl: assetUrl('core', 'linker/element'),\n runtime: AppElement\n };\n Identifiers.ElementRef = {\n name: 'ElementRef',\n moduleUrl: assetUrl('core', 'linker/element_ref'),\n runtime: _angular_core.ElementRef\n };\n Identifiers.ViewContainerRef = {\n name: 'ViewContainerRef',\n moduleUrl: assetUrl('core', 'linker/view_container_ref'),\n runtime: _angular_core.ViewContainerRef\n };\n Identifiers.ChangeDetectorRef = {\n name: 'ChangeDetectorRef',\n moduleUrl: assetUrl('core', 'change_detection/change_detector_ref'),\n runtime: _angular_core.ChangeDetectorRef\n };\n Identifiers.RenderComponentType = {\n name: 'RenderComponentType',\n moduleUrl: assetUrl('core', 'render/api'),\n runtime: _angular_core.RenderComponentType\n };\n Identifiers.QueryList = {\n name: 'QueryList',\n moduleUrl: assetUrl('core', 'linker/query_list'),\n runtime: _angular_core.QueryList\n };\n Identifiers.TemplateRef = {\n name: 'TemplateRef',\n moduleUrl: assetUrl('core', 'linker/template_ref'),\n runtime: _angular_core.TemplateRef\n };\n Identifiers.TemplateRef_ = {\n name: 'TemplateRef_',\n moduleUrl: assetUrl('core', 'linker/template_ref'),\n runtime: TemplateRef_\n };\n Identifiers.CodegenComponentFactoryResolver = {\n name: 'CodegenComponentFactoryResolver',\n moduleUrl: assetUrl('core', 'linker/component_factory_resolver'),\n runtime: CodegenComponentFactoryResolver\n };\n Identifiers.ComponentFactoryResolver = {\n name: 'ComponentFactoryResolver',\n moduleUrl: assetUrl('core', 'linker/component_factory_resolver'),\n runtime: _angular_core.ComponentFactoryResolver\n };\n Identifiers.ComponentFactory = {\n name: 'ComponentFactory',\n runtime: _angular_core.ComponentFactory,\n moduleUrl: assetUrl('core', 'linker/component_factory')\n };\n Identifiers.NgModuleFactory = {\n name: 'NgModuleFactory',\n runtime: _angular_core.NgModuleFactory,\n moduleUrl: assetUrl('core', 'linker/ng_module_factory')\n };\n Identifiers.NgModuleInjector = {\n name: 'NgModuleInjector',\n runtime: NgModuleInjector,\n moduleUrl: assetUrl('core', 'linker/ng_module_factory')\n };\n Identifiers.RegisterModuleFactoryFn = {\n name: 'registerModuleFactory',\n runtime: registerModuleFactory,\n moduleUrl: assetUrl('core', 'linker/ng_module_factory_loader')\n };\n Identifiers.ValueUnwrapper = { name: 'ValueUnwrapper', moduleUrl: CD_MODULE_URL, runtime: ValueUnwrapper };\n Identifiers.Injector = {\n name: 'Injector',\n moduleUrl: assetUrl('core', 'di/injector'),\n runtime: _angular_core.Injector\n };\n Identifiers.ViewEncapsulation = {\n name: 'ViewEncapsulation',\n moduleUrl: assetUrl('core', 'metadata/view'),\n runtime: _angular_core.ViewEncapsulation\n };\n Identifiers.ViewType = {\n name: 'ViewType',\n moduleUrl: assetUrl('core', 'linker/view_type'),\n runtime: ViewType\n };\n Identifiers.ChangeDetectionStrategy = {\n name: 'ChangeDetectionStrategy',\n moduleUrl: CD_MODULE_URL,\n runtime: _angular_core.ChangeDetectionStrategy\n };\n Identifiers.StaticNodeDebugInfo = {\n name: 'StaticNodeDebugInfo',\n moduleUrl: assetUrl('core', 'linker/debug_context'),\n runtime: StaticNodeDebugInfo\n };\n Identifiers.DebugContext = {\n name: 'DebugContext',\n moduleUrl: assetUrl('core', 'linker/debug_context'),\n runtime: DebugContext\n };\n Identifiers.Renderer = {\n name: 'Renderer',\n moduleUrl: assetUrl('core', 'render/api'),\n runtime: _angular_core.Renderer\n };\n Identifiers.SimpleChange = { name: 'SimpleChange', moduleUrl: CD_MODULE_URL, runtime: _angular_core.SimpleChange };\n Identifiers.UNINITIALIZED = { name: 'UNINITIALIZED', moduleUrl: CD_MODULE_URL, runtime: UNINITIALIZED };\n Identifiers.ChangeDetectorStatus = {\n name: 'ChangeDetectorStatus',\n moduleUrl: CD_MODULE_URL,\n runtime: ChangeDetectorStatus\n };\n Identifiers.checkBinding = {\n name: 'checkBinding',\n moduleUrl: VIEW_UTILS_MODULE_URL,\n runtime: checkBinding\n };\n Identifiers.flattenNestedViewRenderNodes = {\n name: 'flattenNestedViewRenderNodes',\n moduleUrl: VIEW_UTILS_MODULE_URL,\n runtime: flattenNestedViewRenderNodes\n };\n Identifiers.devModeEqual = { name: 'devModeEqual', moduleUrl: CD_MODULE_URL, runtime: devModeEqual };\n Identifiers.interpolate = {\n name: 'interpolate',\n moduleUrl: VIEW_UTILS_MODULE_URL,\n runtime: interpolate\n };\n Identifiers.castByValue = {\n name: 'castByValue',\n moduleUrl: VIEW_UTILS_MODULE_URL,\n runtime: castByValue\n };\n Identifiers.EMPTY_ARRAY = {\n name: 'EMPTY_ARRAY',\n moduleUrl: VIEW_UTILS_MODULE_URL,\n runtime: EMPTY_ARRAY\n };\n Identifiers.EMPTY_MAP = { name: 'EMPTY_MAP', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: EMPTY_MAP };\n Identifiers.pureProxies = [\n null,\n { name: 'pureProxy1', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: pureProxy1 },\n { name: 'pureProxy2', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: pureProxy2 },\n { name: 'pureProxy3', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: pureProxy3 },\n { name: 'pureProxy4', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: pureProxy4 },\n { name: 'pureProxy5', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: pureProxy5 },\n { name: 'pureProxy6', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: pureProxy6 },\n { name: 'pureProxy7', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: pureProxy7 },\n { name: 'pureProxy8', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: pureProxy8 },\n { name: 'pureProxy9', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: pureProxy9 },\n { name: 'pureProxy10', moduleUrl: VIEW_UTILS_MODULE_URL, runtime: pureProxy10 },\n ];\n Identifiers.SecurityContext = {\n name: 'SecurityContext',\n moduleUrl: assetUrl('core', 'security'),\n runtime: _angular_core.SecurityContext,\n };\n Identifiers.AnimationKeyframe = {\n name: 'AnimationKeyframe',\n moduleUrl: assetUrl('core', 'animation/animation_keyframe'),\n runtime: AnimationKeyframe\n };\n Identifiers.AnimationStyles = {\n name: 'AnimationStyles',\n moduleUrl: assetUrl('core', 'animation/animation_styles'),\n runtime: AnimationStyles\n };\n Identifiers.NoOpAnimationPlayer = {\n name: 'NoOpAnimationPlayer',\n moduleUrl: assetUrl('core', 'animation/animation_player'),\n runtime: NoOpAnimationPlayer\n };\n Identifiers.AnimationGroupPlayer = {\n name: 'AnimationGroupPlayer',\n moduleUrl: assetUrl('core', 'animation/animation_group_player'),\n runtime: AnimationGroupPlayer\n };\n Identifiers.AnimationSequencePlayer = {\n name: 'AnimationSequencePlayer',\n moduleUrl: assetUrl('core', 'animation/animation_sequence_player'),\n runtime: AnimationSequencePlayer\n };\n Identifiers.prepareFinalAnimationStyles = {\n name: 'prepareFinalAnimationStyles',\n moduleUrl: ANIMATION_STYLE_UTIL_ASSET_URL,\n runtime: prepareFinalAnimationStyles\n };\n Identifiers.balanceAnimationKeyframes = {\n name: 'balanceAnimationKeyframes',\n moduleUrl: ANIMATION_STYLE_UTIL_ASSET_URL,\n runtime: balanceAnimationKeyframes\n };\n Identifiers.clearStyles = {\n name: 'clearStyles',\n moduleUrl: ANIMATION_STYLE_UTIL_ASSET_URL,\n runtime: clearStyles\n };\n Identifiers.renderStyles = {\n name: 'renderStyles',\n moduleUrl: ANIMATION_STYLE_UTIL_ASSET_URL,\n runtime: renderStyles\n };\n Identifiers.collectAndResolveStyles = {\n name: 'collectAndResolveStyles',\n moduleUrl: ANIMATION_STYLE_UTIL_ASSET_URL,\n runtime: collectAndResolveStyles\n };\n Identifiers.LOCALE_ID = {\n name: 'LOCALE_ID',\n moduleUrl: assetUrl('core', 'i18n/tokens'),\n runtime: _angular_core.LOCALE_ID\n };\n Identifiers.TRANSLATIONS_FORMAT = {\n name: 'TRANSLATIONS_FORMAT',\n moduleUrl: assetUrl('core', 'i18n/tokens'),\n runtime: _angular_core.TRANSLATIONS_FORMAT\n };\n return Identifiers;\n }());\n function resolveIdentifier(identifier) {\n return new CompileIdentifierMetadata({\n name: identifier.name,\n moduleUrl: identifier.moduleUrl,\n reference: reflector.resolveIdentifier(identifier.name, identifier.moduleUrl, identifier.runtime)\n });\n }\n function identifierToken(identifier) {\n return new CompileTokenMetadata({ identifier: identifier });\n }\n function resolveIdentifierToken(identifier) {\n return identifierToken(resolveIdentifier(identifier));\n }\n function resolveEnumIdentifier(enumType, name) {\n var resolvedEnum = reflector.resolveEnum(enumType.reference, name);\n return new CompileIdentifierMetadata({ name: enumType.name + \".\" + name, moduleUrl: enumType.moduleUrl, reference: resolvedEnum });\n }\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var __extends$9 = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n var HtmlParser = (function (_super) {\n __extends$9(HtmlParser, _super);\n function HtmlParser() {\n _super.call(this, getHtmlTagDefinition);\n }\n HtmlParser.prototype.parse = function (source, url, parseExpansionForms, interpolationConfig) {\n if (parseExpansionForms === void 0) { parseExpansionForms = false; }\n if (interpolationConfig === void 0) { interpolationConfig = DEFAULT_INTERPOLATION_CONFIG; }\n return _super.prototype.parse.call(this, source, url, parseExpansionForms, interpolationConfig);\n };\n HtmlParser.decorators = [\n { type: _angular_core.Injectable },\n ];\n /** @nocollapse */\n HtmlParser.ctorParameters = [];\n return HtmlParser;\n }(Parser$1));\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var __extends$10 = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n // http://cldr.unicode.org/index/cldr-spec/plural-rules\n var PLURAL_CASES = ['zero', 'one', 'two', 'few', 'many', 'other'];\n /**\n * Expands special forms into elements.\n *\n * For example,\n *\n * ```\n * { messages.length, plural,\n * =0 {zero}\n * =1 {one}\n * other {more than one}\n * }\n * ```\n *\n * will be expanded into\n *\n * ```\n * \n * zero \n * one
\n * more than one\n * \n * ```\n */\n function expandNodes(nodes) {\n var expander = new _Expander();\n return new ExpansionResult(visitAll(expander, nodes), expander.isExpanded, expander.errors);\n }\n var ExpansionResult = (function () {\n function ExpansionResult(nodes, expanded, errors) {\n this.nodes = nodes;\n this.expanded = expanded;\n this.errors = errors;\n }\n return ExpansionResult;\n }());\n var ExpansionError = (function (_super) {\n __extends$10(ExpansionError, _super);\n function ExpansionError(span, errorMsg) {\n _super.call(this, span, errorMsg);\n }\n return ExpansionError;\n }(ParseError));\n /**\n * Expand expansion forms (plural, select) to directives\n *\n * @internal\n */\n var _Expander = (function () {\n function _Expander() {\n this.isExpanded = false;\n this.errors = [];\n }\n _Expander.prototype.visitElement = function (element, context) {\n return new Element(element.name, element.attrs, visitAll(this, element.children), element.sourceSpan, element.startSourceSpan, element.endSourceSpan);\n };\n _Expander.prototype.visitAttribute = function (attribute, context) { return attribute; };\n _Expander.prototype.visitText = function (text, context) { return text; };\n _Expander.prototype.visitComment = function (comment, context) { return comment; };\n _Expander.prototype.visitExpansion = function (icu, context) {\n this.isExpanded = true;\n return icu.type == 'plural' ? _expandPluralForm(icu, this.errors) :\n _expandDefaultForm(icu, this.errors);\n };\n _Expander.prototype.visitExpansionCase = function (icuCase, context) {\n throw new Error('Should not be reached');\n };\n return _Expander;\n }());\n function _expandPluralForm(ast, errors) {\n var children = ast.cases.map(function (c) {\n if (PLURAL_CASES.indexOf(c.value) == -1 && !c.value.match(/^=\\d+$/)) {\n errors.push(new ExpansionError(c.valueSourceSpan, \"Plural cases should be \\\"=\\\" or one of \" + PLURAL_CASES.join(\", \")));\n }\n var expansionResult = expandNodes(c.expression);\n errors.push.apply(errors, expansionResult.errors);\n return new Element(\"template\", [new Attribute$1('ngPluralCase', \"\" + c.value, c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n });\n var switchAttr = new Attribute$1('[ngPlural]', ast.switchValue, ast.switchValueSourceSpan);\n return new Element('ng-container', [switchAttr], children, ast.sourceSpan, ast.sourceSpan, ast.sourceSpan);\n }\n function _expandDefaultForm(ast, errors) {\n var children = ast.cases.map(function (c) {\n var expansionResult = expandNodes(c.expression);\n errors.push.apply(errors, expansionResult.errors);\n return new Element(\"template\", [new Attribute$1('ngSwitchCase', \"\" + c.value, c.valueSourceSpan)], expansionResult.nodes, c.sourceSpan, c.sourceSpan, c.sourceSpan);\n });\n var switchAttr = new Attribute$1('[ngSwitch]', ast.switchValue, ast.switchValueSourceSpan);\n return new Element('ng-container', [switchAttr], children, ast.sourceSpan, ast.sourceSpan, ast.sourceSpan);\n }\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var __extends$11 = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n var ProviderError = (function (_super) {\n __extends$11(ProviderError, _super);\n function ProviderError(message, span) {\n _super.call(this, span, message);\n }\n return ProviderError;\n }(ParseError));\n var ProviderViewContext = (function () {\n function ProviderViewContext(component, sourceSpan) {\n var _this = this;\n this.component = component;\n this.sourceSpan = sourceSpan;\n this.errors = [];\n this.viewQueries = _getViewQueries(component);\n this.viewProviders = new Map();\n _normalizeProviders(component.viewProviders, sourceSpan, this.errors).forEach(function (provider) {\n if (isBlank(_this.viewProviders.get(provider.token.reference))) {\n _this.viewProviders.set(provider.token.reference, true);\n }\n });\n }\n return ProviderViewContext;\n }());\n var ProviderElementContext = (function () {\n function ProviderElementContext(viewContext, _parent, _isViewRoot, _directiveAsts, attrs, refs, _sourceSpan) {\n var _this = this;\n this.viewContext = viewContext;\n this._parent = _parent;\n this._isViewRoot = _isViewRoot;\n this._directiveAsts = _directiveAsts;\n this._sourceSpan = _sourceSpan;\n this._transformedProviders = new Map();\n this._seenProviders = new Map();\n this._hasViewContainer = false;\n this._attrs = {};\n attrs.forEach(function (attrAst) { return _this._attrs[attrAst.name] = attrAst.value; });\n var directivesMeta = _directiveAsts.map(function (directiveAst) { return directiveAst.directive; });\n this._allProviders =\n _resolveProvidersFromDirectives(directivesMeta, _sourceSpan, viewContext.errors);\n this._contentQueries = _getContentQueries(directivesMeta);\n var queriedTokens = new Map();\n MapWrapper.values(this._allProviders).forEach(function (provider) {\n _this._addQueryReadsTo(provider.token, queriedTokens);\n });\n refs.forEach(function (refAst) {\n _this._addQueryReadsTo(new CompileTokenMetadata({ value: refAst.name }), queriedTokens);\n });\n if (isPresent(queriedTokens.get(resolveIdentifierToken(Identifiers.ViewContainerRef).reference))) {\n this._hasViewContainer = true;\n }\n // create the providers that we know are eager first\n MapWrapper.values(this._allProviders).forEach(function (provider) {\n var eager = provider.eager || isPresent(queriedTokens.get(provider.token.reference));\n if (eager) {\n _this._getOrCreateLocalProvider(provider.providerType, provider.token, true);\n }\n });\n }\n ProviderElementContext.prototype.afterElement = function () {\n var _this = this;\n // collect lazy providers\n MapWrapper.values(this._allProviders).forEach(function (provider) {\n _this._getOrCreateLocalProvider(provider.providerType, provider.token, false);\n });\n };\n Object.defineProperty(ProviderElementContext.prototype, \"transformProviders\", {\n get: function () { return MapWrapper.values(this._transformedProviders); },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ProviderElementContext.prototype, \"transformedDirectiveAsts\", {\n get: function () {\n var sortedProviderTypes = this.transformProviders.map(function (provider) { return provider.token.identifier; });\n var sortedDirectives = ListWrapper.clone(this._directiveAsts);\n ListWrapper.sort(sortedDirectives, function (dir1, dir2) { return sortedProviderTypes.indexOf(dir1.directive.type) -\n sortedProviderTypes.indexOf(dir2.directive.type); });\n return sortedDirectives;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ProviderElementContext.prototype, \"transformedHasViewContainer\", {\n get: function () { return this._hasViewContainer; },\n enumerable: true,\n configurable: true\n });\n ProviderElementContext.prototype._addQueryReadsTo = function (token, queryReadTokens) {\n this._getQueriesFor(token).forEach(function (query) {\n var queryReadToken = query.read || token;\n if (isBlank(queryReadTokens.get(queryReadToken.reference))) {\n queryReadTokens.set(queryReadToken.reference, true);\n }\n });\n };\n ProviderElementContext.prototype._getQueriesFor = function (token) {\n var result = [];\n var currentEl = this;\n var distance = 0;\n var queries;\n while (currentEl !== null) {\n queries = currentEl._contentQueries.get(token.reference);\n if (isPresent(queries)) {\n ListWrapper.addAll(result, queries.filter(function (query) { return query.descendants || distance <= 1; }));\n }\n if (currentEl._directiveAsts.length > 0) {\n distance++;\n }\n currentEl = currentEl._parent;\n }\n queries = this.viewContext.viewQueries.get(token.reference);\n if (isPresent(queries)) {\n ListWrapper.addAll(result, queries);\n }\n return result;\n };\n ProviderElementContext.prototype._getOrCreateLocalProvider = function (requestingProviderType, token, eager) {\n var _this = this;\n var resolvedProvider = this._allProviders.get(token.reference);\n if (!resolvedProvider || ((requestingProviderType === exports.ProviderAstType.Directive ||\n requestingProviderType === exports.ProviderAstType.PublicService) &&\n resolvedProvider.providerType === exports.ProviderAstType.PrivateService) ||\n ((requestingProviderType === exports.ProviderAstType.PrivateService ||\n requestingProviderType === exports.ProviderAstType.PublicService) &&\n resolvedProvider.providerType === exports.ProviderAstType.Builtin)) {\n return null;\n }\n var transformedProviderAst = this._transformedProviders.get(token.reference);\n if (isPresent(transformedProviderAst)) {\n return transformedProviderAst;\n }\n if (isPresent(this._seenProviders.get(token.reference))) {\n this.viewContext.errors.push(new ProviderError(\"Cannot instantiate cyclic dependency! \" + token.name, this._sourceSpan));\n return null;\n }\n this._seenProviders.set(token.reference, true);\n var transformedProviders = resolvedProvider.providers.map(function (provider) {\n var transformedUseValue = provider.useValue;\n var transformedUseExisting = provider.useExisting;\n var transformedDeps;\n if (isPresent(provider.useExisting)) {\n var existingDiDep = _this._getDependency(resolvedProvider.providerType, new CompileDiDependencyMetadata({ token: provider.useExisting }), eager);\n if (isPresent(existingDiDep.token)) {\n transformedUseExisting = existingDiDep.token;\n }\n else {\n transformedUseExisting = null;\n transformedUseValue = existingDiDep.value;\n }\n }\n else if (isPresent(provider.useFactory)) {\n var deps = provider.deps || provider.useFactory.diDeps;\n transformedDeps =\n deps.map(function (dep) { return _this._getDependency(resolvedProvider.providerType, dep, eager); });\n }\n else if (isPresent(provider.useClass)) {\n var deps = provider.deps || provider.useClass.diDeps;\n transformedDeps =\n deps.map(function (dep) { return _this._getDependency(resolvedProvider.providerType, dep, eager); });\n }\n return _transformProvider(provider, {\n useExisting: transformedUseExisting,\n useValue: transformedUseValue,\n deps: transformedDeps\n });\n });\n transformedProviderAst =\n _transformProviderAst(resolvedProvider, { eager: eager, providers: transformedProviders });\n this._transformedProviders.set(token.reference, transformedProviderAst);\n return transformedProviderAst;\n };\n ProviderElementContext.prototype._getLocalDependency = function (requestingProviderType, dep, eager) {\n if (eager === void 0) { eager = null; }\n if (dep.isAttribute) {\n var attrValue = this._attrs[dep.token.value];\n return new CompileDiDependencyMetadata({ isValue: true, value: normalizeBlank(attrValue) });\n }\n if (isPresent(dep.query) || isPresent(dep.viewQuery)) {\n return dep;\n }\n if (isPresent(dep.token)) {\n // access builtints\n if ((requestingProviderType === exports.ProviderAstType.Directive ||\n requestingProviderType === exports.ProviderAstType.Component)) {\n if (dep.token.reference === resolveIdentifierToken(Identifiers.Renderer).reference ||\n dep.token.reference === resolveIdentifierToken(Identifiers.ElementRef).reference ||\n dep.token.reference ===\n resolveIdentifierToken(Identifiers.ChangeDetectorRef).reference ||\n dep.token.reference === resolveIdentifierToken(Identifiers.TemplateRef).reference) {\n return dep;\n }\n if (dep.token.reference ===\n resolveIdentifierToken(Identifiers.ViewContainerRef).reference) {\n this._hasViewContainer = true;\n }\n }\n // access the injector\n if (dep.token.reference === resolveIdentifierToken(Identifiers.Injector).reference) {\n return dep;\n }\n // access providers\n if (isPresent(this._getOrCreateLocalProvider(requestingProviderType, dep.token, eager))) {\n return dep;\n }\n }\n return null;\n };\n ProviderElementContext.prototype._getDependency = function (requestingProviderType, dep, eager) {\n if (eager === void 0) { eager = null; }\n var currElement = this;\n var currEager = eager;\n var result = null;\n if (!dep.isSkipSelf) {\n result = this._getLocalDependency(requestingProviderType, dep, eager);\n }\n if (dep.isSelf) {\n if (!result && dep.isOptional) {\n result = new CompileDiDependencyMetadata({ isValue: true, value: null });\n }\n }\n else {\n // check parent elements\n while (!result && isPresent(currElement._parent)) {\n var prevElement = currElement;\n currElement = currElement._parent;\n if (prevElement._isViewRoot) {\n currEager = false;\n }\n result = currElement._getLocalDependency(exports.ProviderAstType.PublicService, dep, currEager);\n }\n // check @Host restriction\n if (!result) {\n if (!dep.isHost || this.viewContext.component.type.isHost ||\n this.viewContext.component.type.reference === dep.token.reference ||\n isPresent(this.viewContext.viewProviders.get(dep.token.reference))) {\n result = dep;\n }\n else {\n result = dep.isOptional ?\n result = new CompileDiDependencyMetadata({ isValue: true, value: null }) :\n null;\n }\n }\n }\n if (!result) {\n this.viewContext.errors.push(new ProviderError(\"No provider for \" + dep.token.name, this._sourceSpan));\n }\n return result;\n };\n return ProviderElementContext;\n }());\n var NgModuleProviderAnalyzer = (function () {\n function NgModuleProviderAnalyzer(ngModule, extraProviders, sourceSpan) {\n var _this = this;\n this._transformedProviders = new Map();\n this._seenProviders = new Map();\n this._errors = [];\n this._allProviders = new Map();\n var ngModuleTypes = ngModule.transitiveModule.modules.map(function (moduleMeta) { return moduleMeta.type; });\n ngModuleTypes.forEach(function (ngModuleType) {\n var ngModuleProvider = new CompileProviderMetadata({ token: new CompileTokenMetadata({ identifier: ngModuleType }), useClass: ngModuleType });\n _resolveProviders([ngModuleProvider], exports.ProviderAstType.PublicService, true, sourceSpan, _this._errors, _this._allProviders);\n });\n _resolveProviders(_normalizeProviders(ngModule.transitiveModule.providers.concat(extraProviders), sourceSpan, this._errors), exports.ProviderAstType.PublicService, false, sourceSpan, this._errors, this._allProviders);\n }\n NgModuleProviderAnalyzer.prototype.parse = function () {\n var _this = this;\n MapWrapper.values(this._allProviders).forEach(function (provider) {\n _this._getOrCreateLocalProvider(provider.token, provider.eager);\n });\n if (this._errors.length > 0) {\n var errorString = this._errors.join('\\n');\n throw new Error(\"Provider parse errors:\\n\" + errorString);\n }\n return MapWrapper.values(this._transformedProviders);\n };\n NgModuleProviderAnalyzer.prototype._getOrCreateLocalProvider = function (token, eager) {\n var _this = this;\n var resolvedProvider = this._allProviders.get(token.reference);\n if (!resolvedProvider) {\n return null;\n }\n var transformedProviderAst = this._transformedProviders.get(token.reference);\n if (isPresent(transformedProviderAst)) {\n return transformedProviderAst;\n }\n if (isPresent(this._seenProviders.get(token.reference))) {\n this._errors.push(new ProviderError(\"Cannot instantiate cyclic dependency! \" + token.name, resolvedProvider.sourceSpan));\n return null;\n }\n this._seenProviders.set(token.reference, true);\n var transformedProviders = resolvedProvider.providers.map(function (provider) {\n var transformedUseValue = provider.useValue;\n var transformedUseExisting = provider.useExisting;\n var transformedDeps;\n if (isPresent(provider.useExisting)) {\n var existingDiDep = _this._getDependency(new CompileDiDependencyMetadata({ token: provider.useExisting }), eager, resolvedProvider.sourceSpan);\n if (isPresent(existingDiDep.token)) {\n transformedUseExisting = existingDiDep.token;\n }\n else {\n transformedUseExisting = null;\n transformedUseValue = existingDiDep.value;\n }\n }\n else if (isPresent(provider.useFactory)) {\n var deps = provider.deps || provider.useFactory.diDeps;\n transformedDeps =\n deps.map(function (dep) { return _this._getDependency(dep, eager, resolvedProvider.sourceSpan); });\n }\n else if (isPresent(provider.useClass)) {\n var deps = provider.deps || provider.useClass.diDeps;\n transformedDeps =\n deps.map(function (dep) { return _this._getDependency(dep, eager, resolvedProvider.sourceSpan); });\n }\n return _transformProvider(provider, {\n useExisting: transformedUseExisting,\n useValue: transformedUseValue,\n deps: transformedDeps\n });\n });\n transformedProviderAst =\n _transformProviderAst(resolvedProvider, { eager: eager, providers: transformedProviders });\n this._transformedProviders.set(token.reference, transformedProviderAst);\n return transformedProviderAst;\n };\n NgModuleProviderAnalyzer.prototype._getDependency = function (dep, eager, requestorSourceSpan) {\n if (eager === void 0) { eager = null; }\n var foundLocal = false;\n if (!dep.isSkipSelf && isPresent(dep.token)) {\n // access the injector\n if (dep.token.reference === resolveIdentifierToken(Identifiers.Injector).reference ||\n dep.token.reference ===\n resolveIdentifierToken(Identifiers.ComponentFactoryResolver).reference) {\n foundLocal = true;\n }\n else if (isPresent(this._getOrCreateLocalProvider(dep.token, eager))) {\n foundLocal = true;\n }\n }\n var result = dep;\n if (dep.isSelf && !foundLocal) {\n if (dep.isOptional) {\n result = new CompileDiDependencyMetadata({ isValue: true, value: null });\n }\n else {\n this._errors.push(new ProviderError(\"No provider for \" + dep.token.name, requestorSourceSpan));\n }\n }\n return result;\n };\n return NgModuleProviderAnalyzer;\n }());\n function _transformProvider(provider, _a) {\n var useExisting = _a.useExisting, useValue = _a.useValue, deps = _a.deps;\n return new CompileProviderMetadata({\n token: provider.token,\n useClass: provider.useClass,\n useExisting: useExisting,\n useFactory: provider.useFactory,\n useValue: useValue,\n deps: deps,\n multi: provider.multi\n });\n }\n function _transformProviderAst(provider, _a) {\n var eager = _a.eager, providers = _a.providers;\n return new ProviderAst(provider.token, provider.multiProvider, provider.eager || eager, providers, provider.providerType, provider.lifecycleHooks, provider.sourceSpan);\n }\n function _normalizeProviders(providers, sourceSpan, targetErrors, targetProviders) {\n if (targetProviders === void 0) { targetProviders = null; }\n if (!targetProviders) {\n targetProviders = [];\n }\n if (isPresent(providers)) {\n providers.forEach(function (provider) {\n if (isArray(provider)) {\n _normalizeProviders(provider, sourceSpan, targetErrors, targetProviders);\n }\n else {\n var normalizeProvider = void 0;\n if (provider instanceof CompileProviderMetadata) {\n normalizeProvider = provider;\n }\n else if (provider instanceof CompileTypeMetadata) {\n normalizeProvider = new CompileProviderMetadata({ token: new CompileTokenMetadata({ identifier: provider }), useClass: provider });\n }\n else {\n targetErrors.push(new ProviderError(\"Unknown provider type \" + provider, sourceSpan));\n }\n if (isPresent(normalizeProvider)) {\n targetProviders.push(normalizeProvider);\n }\n }\n });\n }\n return targetProviders;\n }\n function _resolveProvidersFromDirectives(directives, sourceSpan, targetErrors) {\n var providersByToken = new Map();\n directives.forEach(function (directive) {\n var dirProvider = new CompileProviderMetadata({ token: new CompileTokenMetadata({ identifier: directive.type }), useClass: directive.type });\n _resolveProviders([dirProvider], directive.isComponent ? exports.ProviderAstType.Component : exports.ProviderAstType.Directive, true, sourceSpan, targetErrors, providersByToken);\n });\n // Note: directives need to be able to overwrite providers of a component!\n var directivesWithComponentFirst = directives.filter(function (dir) { return dir.isComponent; }).concat(directives.filter(function (dir) { return !dir.isComponent; }));\n directivesWithComponentFirst.forEach(function (directive) {\n _resolveProviders(_normalizeProviders(directive.providers, sourceSpan, targetErrors), exports.ProviderAstType.PublicService, false, sourceSpan, targetErrors, providersByToken);\n _resolveProviders(_normalizeProviders(directive.viewProviders, sourceSpan, targetErrors), exports.ProviderAstType.PrivateService, false, sourceSpan, targetErrors, providersByToken);\n });\n return providersByToken;\n }\n function _resolveProviders(providers, providerType, eager, sourceSpan, targetErrors, targetProvidersByToken) {\n providers.forEach(function (provider) {\n var resolvedProvider = targetProvidersByToken.get(provider.token.reference);\n if (isPresent(resolvedProvider) && resolvedProvider.multiProvider !== provider.multi) {\n targetErrors.push(new ProviderError(\"Mixing multi and non multi provider is not possible for token \" + resolvedProvider.token.name, sourceSpan));\n }\n if (!resolvedProvider) {\n var lifecycleHooks = provider.token.identifier && provider.token.identifier instanceof CompileTypeMetadata ?\n provider.token.identifier.lifecycleHooks :\n [];\n resolvedProvider = new ProviderAst(provider.token, provider.multi, eager || lifecycleHooks.length > 0, [provider], providerType, lifecycleHooks, sourceSpan);\n targetProvidersByToken.set(provider.token.reference, resolvedProvider);\n }\n else {\n if (!provider.multi) {\n ListWrapper.clear(resolvedProvider.providers);\n }\n resolvedProvider.providers.push(provider);\n }\n });\n }\n function _getViewQueries(component) {\n var viewQueries = new Map();\n if (isPresent(component.viewQueries)) {\n component.viewQueries.forEach(function (query) { return _addQueryToTokenMap(viewQueries, query); });\n }\n component.type.diDeps.forEach(function (dep) {\n if (isPresent(dep.viewQuery)) {\n _addQueryToTokenMap(viewQueries, dep.viewQuery);\n }\n });\n return viewQueries;\n }\n function _getContentQueries(directives) {\n var contentQueries = new Map();\n directives.forEach(function (directive) {\n if (isPresent(directive.queries)) {\n directive.queries.forEach(function (query) { return _addQueryToTokenMap(contentQueries, query); });\n }\n directive.type.diDeps.forEach(function (dep) {\n if (isPresent(dep.query)) {\n _addQueryToTokenMap(contentQueries, dep.query);\n }\n });\n });\n return contentQueries;\n }\n function _addQueryToTokenMap(map, query) {\n query.selectors.forEach(function (token) {\n var entry = map.get(token.reference);\n if (!entry) {\n entry = [];\n map.set(token.reference, entry);\n }\n entry.push(query);\n });\n }\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var ElementSchemaRegistry = (function () {\n function ElementSchemaRegistry() {\n }\n return ElementSchemaRegistry;\n }());\n\n var StyleWithImports = (function () {\n function StyleWithImports(style, styleUrls) {\n this.style = style;\n this.styleUrls = styleUrls;\n }\n return StyleWithImports;\n }());\n function isStyleUrlResolvable(url) {\n if (isBlank(url) || url.length === 0 || url[0] == '/')\n return false;\n var schemeMatch = url.match(_urlWithSchemaRe);\n return schemeMatch === null || schemeMatch[1] == 'package' || schemeMatch[1] == 'asset';\n }\n /**\n * Rewrites stylesheets by resolving and removing the @import urls that\n * are either relative or don't have a `package:` scheme\n */\n function extractStyleUrls(resolver, baseUrl, cssText) {\n var foundUrls = [];\n var modifiedCssText = cssText.replace(_cssImportRe, function () {\n var m = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n m[_i - 0] = arguments[_i];\n }\n var url = m[1] || m[2];\n if (!isStyleUrlResolvable(url)) {\n // Do not attempt to resolve non-package absolute URLs with URI scheme\n return m[0];\n }\n foundUrls.push(resolver.resolve(baseUrl, url));\n return '';\n });\n return new StyleWithImports(modifiedCssText, foundUrls);\n }\n var _cssImportRe = /@import\\s+(?:url\\()?\\s*(?:(?:['\"]([^'\"]*))|([^;\\)\\s]*))[^;]*;?/g;\n var _urlWithSchemaRe = /^([^:/?#]+):/;\n\n var NG_CONTENT_SELECT_ATTR = 'select';\n var NG_CONTENT_ELEMENT = 'ng-content';\n var LINK_ELEMENT = 'link';\n var LINK_STYLE_REL_ATTR = 'rel';\n var LINK_STYLE_HREF_ATTR = 'href';\n var LINK_STYLE_REL_VALUE = 'stylesheet';\n var STYLE_ELEMENT = 'style';\n var SCRIPT_ELEMENT = 'script';\n var NG_NON_BINDABLE_ATTR = 'ngNonBindable';\n var NG_PROJECT_AS = 'ngProjectAs';\n function preparseElement(ast) {\n var selectAttr = null;\n var hrefAttr = null;\n var relAttr = null;\n var nonBindable = false;\n var projectAs = null;\n ast.attrs.forEach(function (attr) {\n var lcAttrName = attr.name.toLowerCase();\n if (lcAttrName == NG_CONTENT_SELECT_ATTR) {\n selectAttr = attr.value;\n }\n else if (lcAttrName == LINK_STYLE_HREF_ATTR) {\n hrefAttr = attr.value;\n }\n else if (lcAttrName == LINK_STYLE_REL_ATTR) {\n relAttr = attr.value;\n }\n else if (attr.name == NG_NON_BINDABLE_ATTR) {\n nonBindable = true;\n }\n else if (attr.name == NG_PROJECT_AS) {\n if (attr.value.length > 0) {\n projectAs = attr.value;\n }\n }\n });\n selectAttr = normalizeNgContentSelect(selectAttr);\n var nodeName = ast.name.toLowerCase();\n var type = PreparsedElementType.OTHER;\n if (splitNsName(nodeName)[1] == NG_CONTENT_ELEMENT) {\n type = PreparsedElementType.NG_CONTENT;\n }\n else if (nodeName == STYLE_ELEMENT) {\n type = PreparsedElementType.STYLE;\n }\n else if (nodeName == SCRIPT_ELEMENT) {\n type = PreparsedElementType.SCRIPT;\n }\n else if (nodeName == LINK_ELEMENT && relAttr == LINK_STYLE_REL_VALUE) {\n type = PreparsedElementType.STYLESHEET;\n }\n return new PreparsedElement(type, selectAttr, hrefAttr, nonBindable, projectAs);\n }\n var PreparsedElementType;\n (function (PreparsedElementType) {\n PreparsedElementType[PreparsedElementType[\"NG_CONTENT\"] = 0] = \"NG_CONTENT\";\n PreparsedElementType[PreparsedElementType[\"STYLE\"] = 1] = \"STYLE\";\n PreparsedElementType[PreparsedElementType[\"STYLESHEET\"] = 2] = \"STYLESHEET\";\n PreparsedElementType[PreparsedElementType[\"SCRIPT\"] = 3] = \"SCRIPT\";\n PreparsedElementType[PreparsedElementType[\"OTHER\"] = 4] = \"OTHER\";\n })(PreparsedElementType || (PreparsedElementType = {}));\n var PreparsedElement = (function () {\n function PreparsedElement(type, selectAttr, hrefAttr, nonBindable, projectAs) {\n this.type = type;\n this.selectAttr = selectAttr;\n this.hrefAttr = hrefAttr;\n this.nonBindable = nonBindable;\n this.projectAs = projectAs;\n }\n return PreparsedElement;\n }());\n function normalizeNgContentSelect(selectAttr) {\n if (selectAttr === null || selectAttr.length === 0) {\n return '*';\n }\n return selectAttr;\n }\n\n /**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n // Group 1 = \"bind-\"\n // Group 2 = \"let-\"\n // Group 3 = \"ref-/#\"\n // Group 4 = \"on-\"\n // Group 5 = \"bindon-\"\n // Group 6 = \"@\"\n // Group 7 = the identifier after \"bind-\", \"let-\", \"ref-/#\", \"on-\", \"bindon-\" or \"@\"\n // Group 8 = identifier inside [()]\n // Group 9 = identifier inside []\n // Group 10 = identifier inside ()\n var BIND_NAME_REGEXP = /^(?:(?:(?:(bind-)|(let-)|(ref-|#)|(on-)|(bindon-)|(@))(.+))|\\[\\(([^\\)]+)\\)\\]|\\[([^\\]]+)\\]|\\(([^\\)]+)\\))$/;\n var KW_BIND_IDX = 1;\n var KW_LET_IDX = 2;\n var KW_REF_IDX = 3;\n var KW_ON_IDX = 4;\n var KW_BINDON_IDX = 5;\n var KW_AT_IDX = 6;\n var IDENT_KW_IDX = 7;\n var IDENT_BANANA_BOX_IDX = 8;\n var IDENT_PROPERTY_IDX = 9;\n var IDENT_EVENT_IDX = 10;\n var ANIMATE_PROP_PREFIX = 'animate-';\n var TEMPLATE_ELEMENT = 'template';\n var TEMPLATE_ATTR = 'template';\n var TEMPLATE_ATTR_PREFIX = '*';\n var CLASS_ATTR = 'class';\n var PROPERTY_PARTS_SEPARATOR = '.';\n var ATTRIBUTE_PREFIX = 'attr';\n var CLASS_PREFIX = 'class';\n var STYLE_PREFIX = 'style';\n var TEXT_CSS_SELECTOR = CssSelector.parse('*')[0];\n /**\n * Provides an array of {@link TemplateAstVisitor}s which will be used to transform\n * parsed templates before compilation is invoked, allowing custom expression syntax\n * and other advanced transformations.\n *\n * This is currently an internal-only feature and not meant for general use.\n */\n var TEMPLATE_TRANSFORMS = new _angular_core.OpaqueToken('TemplateTransforms');\n var TemplateParseError = (function (_super) {\n __extends(TemplateParseError, _super);\n function TemplateParseError(message, span, level) {\n _super.call(this, span, message, level);\n }\n return TemplateParseError;\n }(ParseError));\n var TemplateParseResult = (function () {\n function TemplateParseResult(templateAst, errors) {\n this.templateAst = templateAst;\n this.errors = errors;\n }\n return TemplateParseResult;\n }());\n var TemplateParser = (function () {\n function TemplateParser(_exprParser, _schemaRegistry, _htmlParser, _console, transforms) {\n this._exprParser = _exprParser;\n this._schemaRegistry = _schemaRegistry;\n this._htmlParser = _htmlParser;\n this._console = _console;\n this.transforms = transforms;\n }\n TemplateParser.prototype.parse = function (component, template, directives, pipes, schemas, templateUrl) {\n var result = this.tryParse(component, template, directives, pipes, schemas, templateUrl);\n var warnings = result.errors.filter(function (error) { return error.level === ParseErrorLevel.WARNING; });\n var errors = result.errors.filter(function (error) { return error.level === ParseErrorLevel.FATAL; });\n if (warnings.length > 0) {\n this._console.warn(\"Template parse warnings:\\n\" + warnings.join('\\n'));\n }\n if (errors.length > 0) {\n var errorString = errors.join('\\n');\n throw new Error(\"Template parse errors:\\n\" + errorString);\n }\n return result.templateAst;\n };\n TemplateParser.prototype.tryParse = function (component, template, directives, pipes, schemas, templateUrl) {\n return this.tryParseHtml(this.expandHtml(this._htmlParser.parse(template, templateUrl, true, this.getInterpolationConfig(component))), component, template, directives, pipes, schemas, templateUrl);\n };\n TemplateParser.prototype.tryParseHtml = function (htmlAstWithErrors, component, template, directives, pipes, schemas, templateUrl) {\n var result;\n var errors = htmlAstWithErrors.errors;\n if (htmlAstWithErrors.rootNodes.length > 0) {\n var uniqDirectives = removeIdentifierDuplicates(directives);\n var uniqPipes = removeIdentifierDuplicates(pipes);\n var providerViewContext = new ProviderViewContext(component, htmlAstWithErrors.rootNodes[0].sourceSpan);\n var parseVisitor = new TemplateParseVisitor(providerViewContext, uniqDirectives, uniqPipes, schemas, this._exprParser, this._schemaRegistry);\n result = visitAll(parseVisitor, htmlAstWithErrors.rootNodes, EMPTY_ELEMENT_CONTEXT);\n errors.push.apply(errors, parseVisitor.errors.concat(providerViewContext.errors));\n }\n else {\n result = [];\n }\n this._assertNoReferenceDuplicationOnTemplate(result, errors);\n if (errors.length > 0) {\n return new TemplateParseResult(result, errors);\n }\n if (isPresent(this.transforms)) {\n this.transforms.forEach(function (transform) { result = templateVisitAll(transform, result); });\n }\n return new TemplateParseResult(result, errors);\n };\n TemplateParser.prototype.expandHtml = function (htmlAstWithErrors, forced) {\n if (forced === void 0) { forced = false; }\n var errors = htmlAstWithErrors.errors;\n if (errors.length == 0 || forced) {\n // Transform ICU messages to angular directives\n var expandedHtmlAst = expandNodes(htmlAstWithErrors.rootNodes);\n errors.push.apply(errors, expandedHtmlAst.errors);\n htmlAstWithErrors = new ParseTreeResult(expandedHtmlAst.nodes, errors);\n }\n return htmlAstWithErrors;\n };\n TemplateParser.prototype.getInterpolationConfig = function (component) {\n if (component.template) {\n return InterpolationConfig.fromArray(component.template.interpolation);\n }\n };\n /** @internal */\n TemplateParser.prototype._assertNoReferenceDuplicationOnTemplate = function (result, errors) {\n var existingReferences = [];\n result.filter(function (element) { return !!element.references; })\n .forEach(function (element) { return element.references.forEach(function (reference) {\n var name = reference.name;\n if (existingReferences.indexOf(name) < 0) {\n existingReferences.push(name);\n }\n else {\n var error = new TemplateParseError(\"Reference \\\"#\" + name + \"\\\" is defined several times\", reference.sourceSpan, ParseErrorLevel.FATAL);\n errors.push(error);\n }\n }); });\n };\n TemplateParser.decorators = [\n { type: _angular_core.Injectable },\n ];\n /** @nocollapse */\n TemplateParser.ctorParameters = [\n { type: Parser, },\n { type: ElementSchemaRegistry, },\n { type: I18NHtmlParser, },\n { type: Console, },\n { type: Array, decorators: [{ type: _angular_core.Optional }, { type: _angular_core.Inject, args: [TEMPLATE_TRANSFORMS,] },] },\n ];\n return TemplateParser;\n }());\n var TemplateParseVisitor = (function () {\n function TemplateParseVisitor(providerViewContext, directives, pipes, _schemas, _exprParser, _schemaRegistry) {\n var _this = this;\n this.providerViewContext = providerViewContext;\n this._schemas = _schemas;\n this._exprParser = _exprParser;\n this._schemaRegistry = _schemaRegistry;\n this.selectorMatcher = new SelectorMatcher();\n this.errors = [];\n this.directivesIndex = new Map();\n this.ngContentCount = 0;\n this.pipesByName = new Map();\n var tempMeta = providerViewContext.component.template;\n if (tempMeta && tempMeta.interpolation) {\n this._interpolationConfig = {\n start: tempMeta.interpolation[0],\n end: tempMeta.interpolation[1]\n };\n }\n directives.forEach(function (directive, index) {\n var selector = CssSelector.parse(directive.selector);\n _this.selectorMatcher.addSelectables(selector, directive);\n _this.directivesIndex.set(directive, index);\n });\n pipes.forEach(function (pipe) { return _this.pipesByName.set(pipe.name, pipe); });\n }\n TemplateParseVisitor.prototype._reportError = function (message, sourceSpan, level) {\n if (level === void 0) { level = ParseErrorLevel.FATAL; }\n this.errors.push(new TemplateParseError(message, sourceSpan, level));\n };\n TemplateParseVisitor.prototype._reportParserErrors = function (errors, sourceSpan) {\n for (var _i = 0, errors_1 = errors; _i < errors_1.length; _i++) {\n var error = errors_1[_i];\n this._reportError(error.message, sourceSpan);\n }\n };\n TemplateParseVisitor.prototype._parseInterpolation = function (value, sourceSpan) {\n var sourceInfo = sourceSpan.start.toString();\n try {\n var ast = this._exprParser.parseInterpolation(value, sourceInfo, this._interpolationConfig);\n if (ast)\n this._reportParserErrors(ast.errors, sourceSpan);\n this._checkPipes(ast, sourceSpan);\n if (isPresent(ast) &&\n ast.ast.expressions.length > MAX_INTERPOLATION_VALUES) {\n throw new Error(\"Only support at most \" + MAX_INTERPOLATION_VALUES + \" interpolation values!\");\n }\n return ast;\n }\n catch (e) {\n this._reportError(\"\" + e, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);\n }\n };\n TemplateParseVisitor.prototype._parseAction = function (value, sourceSpan) {\n var sourceInfo = sourceSpan.start.toString();\n try {\n var ast = this._exprParser.parseAction(value, sourceInfo, this._interpolationConfig);\n if (ast) {\n this._reportParserErrors(ast.errors, sourceSpan);\n }\n if (!ast || ast.ast instanceof EmptyExpr) {\n this._reportError(\"Empty expressions are not allowed\", sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);\n }\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(\"\" + e, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);\n }\n };\n TemplateParseVisitor.prototype._parseBinding = function (value, sourceSpan) {\n var sourceInfo = sourceSpan.start.toString();\n try {\n var ast = this._exprParser.parseBinding(value, sourceInfo, this._interpolationConfig);\n if (ast)\n this._reportParserErrors(ast.errors, sourceSpan);\n this._checkPipes(ast, sourceSpan);\n return ast;\n }\n catch (e) {\n this._reportError(\"\" + e, sourceSpan);\n return this._exprParser.wrapLiteralPrimitive('ERROR', sourceInfo);\n }\n };\n TemplateParseVisitor.prototype._parseTemplateBindings = function (value, sourceSpan) {\n var _this = this;\n var sourceInfo = sourceSpan.start.toString();\n try {\n var bindingsResult = this._exprParser.parseTemplateBindings(value, sourceInfo);\n this._reportParserErrors(bindingsResult.errors, sourceSpan);\n bindingsResult.templateBindings.forEach(function (binding) {\n if (isPresent(binding.expression)) {\n _this._checkPipes(binding.expression, sourceSpan);\n }\n });\n bindingsResult.warnings.forEach(function (warning) { _this._reportError(warning, sourceSpan, ParseErrorLevel.WARNING); });\n return bindingsResult.templateBindings;\n }\n catch (e) {\n this._reportError(\"\" + e, sourceSpan);\n return [];\n }\n };\n TemplateParseVisitor.prototype._checkPipes = function (ast, sourceSpan) {\n var _this = this;\n if (isPresent(ast)) {\n var collector = new PipeCollector();\n ast.visit(collector);\n collector.pipes.forEach(function (pipeName) {\n if (!_this.pipesByName.has(pipeName)) {\n _this._reportError(\"The pipe '\" + pipeName + \"' could not be found\", sourceSpan);\n }\n });\n }\n };\n TemplateParseVisitor.prototype.visitExpansion = function (expansion, context) { return null; };\n TemplateParseVisitor.prototype.visitExpansionCase = function (expansionCase, context) { return null; };\n TemplateParseVisitor.prototype.visitText = function (text, parent) {\n var ngContentIndex = parent.findNgContentIndex(TEXT_CSS_SELECTOR);\n var expr = this._parseInterpolation(text.value, text.sourceSpan);\n if (isPresent(expr)) {\n return new BoundTextAst(expr, ngContentIndex, text.sourceSpan);\n }\n else {\n return new TextAst(text.value, ngContentIndex, text.sourceSpan);\n }\n };\n TemplateParseVisitor.prototype.visitAttribute = function (attribute, context) {\n return new AttrAst(attribute.name, attribute.value, attribute.sourceSpan);\n };\n TemplateParseVisitor.prototype.visitComment = function (comment, context) { return null; };\n TemplateParseVisitor.prototype.visitElement = function (element, parent) {\n var _this = this;\n var nodeName = element.name;\n var preparsedElement = preparseElement(element);\n if (preparsedElement.type === PreparsedElementType.SCRIPT ||\n preparsedElement.type === PreparsedElementType.STYLE) {\n // Skipping