@player-ui/common-expressions-plugin 0.4.0-next.4 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -4686,8 +4686,8 @@ var __async = (__this, __arguments, generator) => {
|
|
|
4686
4686
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
4687
4687
|
});
|
|
4688
4688
|
};
|
|
4689
|
-
const PLAYER_VERSION = "0.4.0
|
|
4690
|
-
const COMMIT = "
|
|
4689
|
+
const PLAYER_VERSION = "0.4.0";
|
|
4690
|
+
const COMMIT = "39b851fc45e4903eae2f5b0697dea142c890443c";
|
|
4691
4691
|
const _Player = class {
|
|
4692
4692
|
constructor(config) {
|
|
4693
4693
|
this.logger = new TapableLogger();
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! For license information please see common-expressions-plugin.prod.js.LICENSE.txt */
|
|
2
|
-
!function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t():"function"===typeof define&&define.amd?define([],t):"object"===typeof exports?exports.CommonExpressionsPlugin=t():e.CommonExpressionsPlugin=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=30)}([function(e,t,r){"use strict";function n(e,t,r){return e.context?e.callback(r,...t):e.callback(...t)}r.d(t,"a",(function(){return s})),r.d(t,"b",(function(){return a})),r.d(t,"c",(function(){return l}));class o{constructor(){this.interceptions=[],this.interceptionKeySet=new Set}isUsed(){return this.interceptions.length>0}intercept(e){this.interceptions.push(e),Object.keys(e).forEach((e=>{this.interceptionKeySet.add(e)}))}tap(e){this.interceptionKeySet.has("tap")&&this.interceptions.forEach((t=>{var r;null==(r=t.tap)||r.call(t,e)}))}call(e,...t){this.interceptionKeySet.has("call")&&this.interceptions.forEach((r=>{var n,o;r.context?null==(n=r.call)||n.call(r,e,...t):null==(o=r.call)||o.call(r,...t)}))}loop(...e){this.interceptionKeySet.has("loop")&&this.interceptions.forEach((t=>{var r;null==(r=t.loop)||r.call(t,...e)}))}error(e){if(this.interceptionKeySet.has("error")&&e instanceof Error){const t=e;this.interceptions.forEach((e=>{var r;null==(r=e.error)||r.call(e,t)}))}}result(e){this.interceptionKeySet.has("result")&&this.interceptions.forEach((t=>{var r;null==(r=t.result)||r.call(t,e)}))}done(){this.interceptionKeySet.has("done")&&this.interceptions.forEach((e=>{var t;null==(t=e.done)||t.call(e)}))}}class i{constructor(){this.taps=[],this.interceptions=new o}tap(e,t){const r="string"===typeof e?{name:e,context:!1}:{context:!1,...e},n={key:Symbol(r.name),...r,callback:t};if(n.before){let e=this.taps.length;const t=new Set(Array.isArray(n.before)?n.before:[n.before]);for(;e>0&&t.size>0;e--){const r=this.taps[e-1];if(t.has(r.name)&&t.delete(r.name),r.before&&(o=n.name,i=r.before,Array.isArray(i)?i.includes(o):i===o))break}this.taps.splice(e,0,n)}else this.taps.push(n);var o,i;return this.interceptions.tap(n),n}untap(e){this.taps=this.taps.filter((t=>t.key!==e.key))}isUsed(){return this.taps.length>0||this.interceptions.isUsed()}intercept(e){this.interceptions.intercept(e)}}class a extends i{call(...e){if(!this.isUsed())return;const t={};this.interceptions.call(t,...e);try{this.taps.forEach((r=>{n(r,e,t)}))}catch(r){throw this.interceptions.error(r),r}this.interceptions.done()}}class s extends i{call(...e){if(!this.isUsed())return;const t={};this.interceptions.call(t,...e);for(let r=0;r<this.taps.length;r+=1){const o=n(this.taps[r],e,t);if(void 0!==o)return this.interceptions.result(o),o}this.interceptions.done()}}class l extends i{call(...e){const t={};this.interceptions.call(t,...e);let[r,...o]=e;for(let i=0;i<this.taps.length;i+=1){const e=n(this.taps[i],[r,...o],t);void 0!==e&&(r=e)}return this.interceptions.result(r),r}}},function(e,t,r){(function(t){"undefined"!=typeof self&&self,e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,r,n){"use strict";function o(e){if(!(this instanceof o))return new o(e);this._=e}var i=o.prototype;function a(e,t){for(var r=0;r<e;r++)t(r)}function s(e,t,r){return function(e,t){a(t.length,(function(r){e(t[r],r,t)}))}((function(r,n,o){t=e(t,r,n,o)}),r),t}function l(e,t){return s((function(t,r,n,o){return t.concat([e(r,n,o)])}),[],t)}function u(e,r){var n={v:0,buf:r};return a(e,(function(){var e;n={v:n.v<<1|(e=n.buf,e[0]>>7),buf:function(e){var r=s((function(e,r,n,o){return e.concat(n===o.length-1?t.from([r,0]).readUInt16BE(0):o.readUInt16BE(n))}),[],e);return t.from(l((function(e){return(e<<1&65535)>>8}),r))}(n.buf)}})),n}function c(){return"undefined"!=typeof t}function f(){if(!c())throw new Error("Buffer global does not exist; please use webpack if you need to parse Buffers in the browser.")}function h(e){f();var t=s((function(e,t){return e+t}),0,e);if(t%8!=0)throw new Error("The bits ["+e.join(", ")+"] add up to "+t+" which is not an even number of bytes; the total should be divisible by 8");var r,n=t/8,i=(r=function(e){return e>48},s((function(e,t){return e||(r(t)?t:e)}),null,e));if(i)throw new Error(i+" bit range requested exceeds 48 bit (6 byte) Number max.");return new o((function(t,r){var o=n+r;return o>t.length?O(r,n.toString()+" bytes"):S(o,s((function(e,t){var r=u(t,e.buf);return{coll:e.coll.concat(r.v),buf:r.buf}}),{coll:[],buf:t.slice(r,o)},e).coll)}))}function p(e,t){return new o((function(r,n){return f(),n+t>r.length?O(n,t+" bytes for "+e):S(n+t,r.slice(n,n+t))}))}function d(e,t){if("number"!=typeof(r=t)||Math.floor(r)!==r||t<0||t>6)throw new Error(e+" requires integer length in range [0, 6].");var r}function g(e){return d("uintBE",e),p("uintBE("+e+")",e).map((function(t){return t.readUIntBE(0,e)}))}function y(e){return d("uintLE",e),p("uintLE("+e+")",e).map((function(t){return t.readUIntLE(0,e)}))}function v(e){return d("intBE",e),p("intBE("+e+")",e).map((function(t){return t.readIntBE(0,e)}))}function m(e){return d("intLE",e),p("intLE("+e+")",e).map((function(t){return t.readIntLE(0,e)}))}function b(e){return e instanceof o}function w(e){return"[object Array]"==={}.toString.call(e)}function E(e){return c()&&t.isBuffer(e)}function S(e,t){return{status:!0,index:e,value:t,furthest:-1,expected:[]}}function O(e,t){return w(t)||(t=[t]),{status:!1,index:-1,value:null,furthest:e,expected:t}}function x(e,t){if(!t)return e;if(e.furthest>t.furthest)return e;var r=e.furthest===t.furthest?function(e,t){if(function(){if(void 0!==o._supportsSet)return o._supportsSet;var e="undefined"!=typeof Set;return o._supportsSet=e,e}()&&Array.from){for(var r=new Set(e),n=0;n<t.length;n++)r.add(t[n]);var i=Array.from(r);return i.sort(),i}for(var a={},s=0;s<e.length;s++)a[e[s]]=!0;for(var l=0;l<t.length;l++)a[t[l]]=!0;var u=[];for(var c in a)({}).hasOwnProperty.call(a,c)&&u.push(c);return u.sort(),u}(e.expected,t.expected):t.expected;return{status:e.status,index:e.index,value:e.value,furthest:t.furthest,expected:r}}var A={};function P(e,t){if(E(e))return{offset:t,line:-1,column:-1};e in A||(A[e]={});for(var r=A[e],n=0,o=0,i=0,a=t;a>=0;){if(a in r){n=r[a].line,0===i&&(i=r[a].lineStart);break}("\n"===e.charAt(a)||"\r"===e.charAt(a)&&"\n"!==e.charAt(a+1))&&(o++,0===i&&(i=a+1)),a--}var s=n+o,l=t-i;return r[t]={line:s,lineStart:i},{offset:t,line:s+1,column:l+1}}function R(e){if(!b(e))throw new Error("not a parser: "+e)}function _(e,t){return"string"==typeof e?e.charAt(t):e[t]}function k(e){if("number"!=typeof e)throw new Error("not a number: "+e)}function T(e){if("function"!=typeof e)throw new Error("not a function: "+e)}function C(e){if("string"!=typeof e)throw new Error("not a string: "+e)}var j=2,U=3,L=8,B=5*L,N=4*L,I=" ";function D(e,t){return new Array(t+1).join(e)}function M(e,t,r){var n=t-e.length;return n<=0?e:D(r,n)+e}function V(e,t,r,n){return{from:e-t>0?e-t:0,to:e+r>n?n:e+r}}function F(e,t){var r,n,o,i,a,u=t.index,c=u.offset,f=1;if(c===e.length)return"Got the end of the input";if(E(e)){var h=c-c%L,p=c-h,d=V(h,B,N+L,e.length),g=l((function(e){return l((function(e){return M(e.toString(16),2,"0")}),e)}),function(e,t){var r=e.length,n=[],o=0;if(r<=t)return[e.slice()];for(var i=0;i<r;i++)n[o]||n.push([]),n[o].push(e[i]),(i+1)%t==0&&o++;return n}(e.slice(d.from,d.to).toJSON().data,L));i=function(e){return 0===e.from&&1===e.to?{from:e.from,to:e.to}:{from:e.from/L,to:Math.floor(e.to/L)}}(d),n=h/L,r=3*p,p>=4&&(r+=1),f=2,o=l((function(e){return e.length<=4?e.join(" "):e.slice(0,4).join(" ")+" "+e.slice(4).join(" ")}),g),(a=(8*(i.to>0?i.to-1:i.to)).toString(16).length)<2&&(a=2)}else{var y=e.split(/\r\n|[\n\r\u2028\u2029]/);r=u.column-1,n=u.line-1,i=V(n,j,U,y.length),o=y.slice(i.from,i.to),a=i.to.toString().length}var v=n-i.from;return E(e)&&(a=(8*(i.to>0?i.to-1:i.to)).toString(16).length)<2&&(a=2),s((function(t,n,o){var s,l=o===v,u=l?"> ":I;return s=E(e)?M((8*(i.from+o)).toString(16),a,"0"):M((i.from+o+1).toString(),a," "),[].concat(t,[u+s+" | "+n],l?[I+D(" ",a)+" | "+M("",r," ")+D("^",f)]:[])}),[],o).join("\n")}function z(e,t){return["\n","-- PARSING FAILED "+D("-",50),"\n\n",F(e,t),"\n\n",(r=t.expected,1===r.length?"Expected:\n\n"+r[0]:"Expected one of the following: \n\n"+r.join(", ")),"\n"].join("");var r}function $(e){return void 0!==e.flags?e.flags:[e.global?"g":"",e.ignoreCase?"i":"",e.multiline?"m":"",e.unicode?"u":"",e.sticky?"y":""].join("")}function H(){for(var e=[].slice.call(arguments),t=e.length,r=0;r<t;r+=1)R(e[r]);return o((function(r,n){for(var o,i=new Array(t),a=0;a<t;a+=1){if(!(o=x(e[a]._(r,n),o)).status)return o;i[a]=o.value,n=o.index}return x(S(n,i),o)}))}function W(){var e=[].slice.call(arguments);if(0===e.length)throw new Error("seqMap needs at least one argument");var t=e.pop();return T(t),H.apply(null,e).map((function(e){return t.apply(null,e)}))}function Y(){var e=[].slice.call(arguments),t=e.length;if(0===t)return Q("zero alternates");for(var r=0;r<t;r+=1)R(e[r]);return o((function(t,r){for(var n,o=0;o<e.length;o+=1)if((n=x(e[o]._(t,r),n)).status)return n;return n}))}function q(e,t){return Z(e,t).or(J([]))}function Z(e,t){return R(e),R(t),W(e,t.then(e).many(),(function(e,t){return[e].concat(t)}))}function G(e){C(e);var t="'"+e+"'";return o((function(r,n){var o=n+e.length,i=r.slice(n,o);return i===e?S(o,i):O(n,t)}))}function K(e,t){!function(e){if(!(e instanceof RegExp))throw new Error("not a regexp: "+e);for(var t=$(e),r=0;r<t.length;r++){var n=t.charAt(r);if("i"!==n&&"m"!==n&&"u"!==n&&"s"!==n)throw new Error('unsupported regexp flag "'+n+'": '+e)}}(e),arguments.length>=2?k(t):t=0;var r=function(e){return RegExp("^(?:"+e.source+")",$(e))}(e),n=""+e;return o((function(e,o){var i=r.exec(e.slice(o));if(i){if(0<=t&&t<=i.length){var a=i[0],s=i[t];return S(o+a.length,s)}return O(o,"valid match group (0 to "+i.length+") in "+n)}return O(o,n)}))}function J(e){return o((function(t,r){return S(r,e)}))}function Q(e){return o((function(t,r){return O(r,e)}))}function X(e){if(b(e))return o((function(t,r){var n=e._(t,r);return n.index=r,n.value="",n}));if("string"==typeof e)return X(G(e));if(e instanceof RegExp)return X(K(e));throw new Error("not a string, regexp, or parser: "+e)}function ee(e){return R(e),o((function(t,r){var n=e._(t,r),o=t.slice(r,n.index);return n.status?O(r,'not "'+o+'"'):S(r,null)}))}function te(e){return T(e),o((function(t,r){var n=_(t,r);return r<t.length&&e(n)?S(r+1,n):O(r,"a character/byte matching "+e)}))}function re(e,t){arguments.length<2&&(t=e,e=void 0);var r=o((function(e,n){return r._=t()._,r._(e,n)}));return e?r.desc(e):r}function ne(){return Q("fantasy-land/empty")}i.parse=function(e){if("string"!=typeof e&&!E(e))throw new Error(".parse must be called with a string or Buffer as its argument");var t,r=this.skip(se)._(e,0);return t=r.status?{status:!0,value:r.value}:{status:!1,index:P(e,r.furthest),expected:r.expected},delete A[e],t},i.tryParse=function(e){var t=this.parse(e);if(t.status)return t.value;var r=z(e,t),n=new Error(r);throw n.type="ParsimmonError",n.result=t,n},i.assert=function(e,t){return this.chain((function(r){return e(r)?J(r):Q(t)}))},i.or=function(e){return Y(this,e)},i.trim=function(e){return this.wrap(e,e)},i.wrap=function(e,t){return W(e,this,t,(function(e,t){return t}))},i.thru=function(e){return e(this)},i.then=function(e){return R(e),H(this,e).map((function(e){return e[1]}))},i.many=function(){var e=this;return o((function(t,r){for(var n=[],o=void 0;;){if(!(o=x(e._(t,r),o)).status)return x(S(r,n),o);if(r===o.index)throw new Error("infinite loop detected in .many() parser --- calling .many() on a parser which can accept zero characters is usually the cause");r=o.index,n.push(o.value)}}))},i.tieWith=function(e){return C(e),this.map((function(t){if(function(e){if(!w(e))throw new Error("not an array: "+e)}(t),t.length){C(t[0]);for(var r=t[0],n=1;n<t.length;n++)C(t[n]),r+=e+t[n];return r}return""}))},i.tie=function(){return this.tieWith("")},i.times=function(e,t){var r=this;return arguments.length<2&&(t=e),k(e),k(t),o((function(n,o){for(var i=[],a=void 0,s=void 0,l=0;l<e;l+=1){if(s=x(a=r._(n,o),s),!a.status)return s;o=a.index,i.push(a.value)}for(;l<t&&(s=x(a=r._(n,o),s),a.status);l+=1)o=a.index,i.push(a.value);return x(S(o,i),s)}))},i.result=function(e){return this.map((function(){return e}))},i.atMost=function(e){return this.times(0,e)},i.atLeast=function(e){return W(this.times(e),this.many(),(function(e,t){return e.concat(t)}))},i.map=function(e){T(e);var t=this;return o((function(r,n){var o=t._(r,n);return o.status?x(S(o.index,e(o.value)),o):o}))},i.contramap=function(e){T(e);var t=this;return o((function(r,n){var o=t.parse(e(r.slice(n)));return o.status?S(n+r.length,o.value):o}))},i.promap=function(e,t){return T(e),T(t),this.contramap(e).map(t)},i.skip=function(e){return H(this,e).map((function(e){return e[0]}))},i.mark=function(){return W(oe,this,oe,(function(e,t,r){return{start:e,value:t,end:r}}))},i.node=function(e){return W(oe,this,oe,(function(t,r,n){return{name:e,value:r,start:t,end:n}}))},i.sepBy=function(e){return q(this,e)},i.sepBy1=function(e){return Z(this,e)},i.lookahead=function(e){return this.skip(X(e))},i.notFollowedBy=function(e){return this.skip(ee(e))},i.desc=function(e){w(e)||(e=[e]);var t=this;return o((function(r,n){var o=t._(r,n);return o.status||(o.expected=e),o}))},i.fallback=function(e){return this.or(J(e))},i.ap=function(e){return W(e,this,(function(e,t){return e(t)}))},i.chain=function(e){var t=this;return o((function(r,n){var o=t._(r,n);return o.status?x(e(o.value)._(r,o.index),o):o}))},i.concat=i.or,i.empty=ne,i.of=J,i["fantasy-land/ap"]=i.ap,i["fantasy-land/chain"]=i.chain,i["fantasy-land/concat"]=i.concat,i["fantasy-land/empty"]=i.empty,i["fantasy-land/of"]=i.of,i["fantasy-land/map"]=i.map;var oe=o((function(e,t){return S(t,P(e,t))})),ie=o((function(e,t){return t>=e.length?O(t,"any character/byte"):S(t+1,_(e,t))})),ae=o((function(e,t){return S(e.length,e.slice(t))})),se=o((function(e,t){return t<e.length?O(t,"EOF"):S(t,null)})),le=K(/[0-9]/).desc("a digit"),ue=K(/[0-9]*/).desc("optional digits"),ce=K(/[a-z]/i).desc("a letter"),fe=K(/[a-z]*/i).desc("optional letters"),he=K(/\s*/).desc("optional whitespace"),pe=K(/\s+/).desc("whitespace"),de=G("\r"),ge=G("\n"),ye=G("\r\n"),ve=Y(ye,ge,de).desc("newline"),me=Y(ve,se);o.all=ae,o.alt=Y,o.any=ie,o.cr=de,o.createLanguage=function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&function(r){t[r]=re((function(){return e[r](t)}))}(r);return t},o.crlf=ye,o.custom=function(e){return o(e(S,O))},o.digit=le,o.digits=ue,o.empty=ne,o.end=me,o.eof=se,o.fail=Q,o.formatError=z,o.index=oe,o.isParser=b,o.lazy=re,o.letter=ce,o.letters=fe,o.lf=ge,o.lookahead=X,o.makeFailure=O,o.makeSuccess=S,o.newline=ve,o.noneOf=function(e){return te((function(t){return e.indexOf(t)<0})).desc("none of '"+e+"'")},o.notFollowedBy=ee,o.of=J,o.oneOf=function(e){for(var t=e.split(""),r=0;r<t.length;r++)t[r]="'"+t[r]+"'";return te((function(t){return e.indexOf(t)>=0})).desc(t)},o.optWhitespace=he,o.Parser=o,o.range=function(e,t){return te((function(r){return e<=r&&r<=t})).desc(e+"-"+t)},o.regex=K,o.regexp=K,o.sepBy=q,o.sepBy1=Z,o.seq=H,o.seqMap=W,o.seqObj=function(){for(var e,t={},r=0,n=(e=arguments,Array.prototype.slice.call(e)),i=n.length,a=0;a<i;a+=1){var s=n[a];if(!b(s)){if(w(s)&&2===s.length&&"string"==typeof s[0]&&b(s[1])){var l=s[0];if(Object.prototype.hasOwnProperty.call(t,l))throw new Error("seqObj: duplicate key "+l);t[l]=!0,r++;continue}throw new Error("seqObj arguments must be parsers or [string, parser] array pairs.")}}if(0===r)throw new Error("seqObj expects at least one named parser, found zero");return o((function(e,t){for(var r,o={},a=0;a<i;a+=1){var s,l;if(w(n[a])?(s=n[a][0],l=n[a][1]):(s=null,l=n[a]),!(r=x(l._(e,t),r)).status)return r;s&&(o[s]=r.value),t=r.index}return x(S(t,o),r)}))},o.string=G,o.succeed=J,o.takeWhile=function(e){return T(e),o((function(t,r){for(var n=r;n<t.length&&e(_(t,n));)n++;return S(n,t.slice(r,n))}))},o.test=te,o.whitespace=pe,o["fantasy-land/empty"]=ne,o["fantasy-land/of"]=J,o.Binary={bitSeq:h,bitSeqObj:function(e){f();var t={},r=0,n=l((function(e){if(w(e)){var n=e;if(2!==n.length)throw new Error("["+n.join(", ")+"] should be length 2, got length "+n.length);if(C(n[0]),k(n[1]),Object.prototype.hasOwnProperty.call(t,n[0]))throw new Error("duplicate key in bitSeqObj: "+n[0]);return t[n[0]]=!0,r++,n}return k(e),[null,e]}),e);if(r<1)throw new Error("bitSeqObj expects at least one named pair, got ["+e.join(", ")+"]");var o=l((function(e){return e[0]}),n);return h(l((function(e){return e[1]}),n)).map((function(e){return s((function(e,t){return null!==t[0]&&(e[t[0]]=t[1]),e}),{},l((function(t,r){return[t,e[r]]}),o))}))},byte:function(e){if(f(),k(e),e>255)throw new Error("Value specified to byte constructor ("+e+"=0x"+e.toString(16)+") is larger in value than a single byte.");var t=(e>15?"0x":"0x0")+e.toString(16);return o((function(r,n){var o=_(r,n);return o===e?S(n+1,o):O(n,t)}))},buffer:function(e){return p("buffer",e).map((function(e){return t.from(e)}))},encodedString:function(e,t){return p("string",t).map((function(t){return t.toString(e)}))},uintBE:g,uint8BE:g(1),uint16BE:g(2),uint32BE:g(4),uintLE:y,uint8LE:y(1),uint16LE:y(2),uint32LE:y(4),intBE:v,int8BE:v(1),int16BE:v(2),int32BE:v(4),intLE:m,int8LE:m(1),int16LE:m(2),int32LE:m(4),floatBE:p("floatBE",4).map((function(e){return e.readFloatBE(0)})),floatLE:p("floatLE",4).map((function(e){return e.readFloatLE(0)})),doubleBE:p("doubleBE",8).map((function(e){return e.readDoubleBE(0)})),doubleLE:p("doubleLE",8).map((function(e){return e.readDoubleLE(0)}))},e.exports=o}])}).call(this,r(21).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.clone=s,t.addLast=u,t.addFirst=c,t.removeLast=f,t.removeFirst=h,t.insert=p,t.removeAt=d,t.replaceAt=g,t.getIn=y,t.set=v,t.setIn=m,t.update=w,t.updateIn=E,t.merge=S,t.mergeDeep=O,t.mergeIn=x,t.omit=A,t.addDefaults=P,t.default=void 0;const n="INVALID_ARGS";function o(e){throw new Error(e)}function i(e){const t=Object.keys(e);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t}const a={}.hasOwnProperty;function s(e){if(Array.isArray(e))return e.slice();const t=e,r=i(t),n={};for(let o=0;o<r.length;o++){const e=r[o];n[e]=t[e]}return n}function l(e){return null!=e&&"object"===typeof e}function u(e,t){return Array.isArray(t)?e.concat(t):e.concat([t])}function c(e,t){return Array.isArray(t)?t.concat(e):[t].concat(e)}function f(e){return e.length?e.slice(0,e.length-1):e}function h(e){return e.length?e.slice(1):e}function p(e,t,r){return e.slice(0,t).concat(Array.isArray(r)?r:[r]).concat(e.slice(t))}function d(e,t){return t>=e.length||t<0?e:e.slice(0,t).concat(e.slice(t+1))}function g(e,t,r){if(e[t]===r)return e;const n=e.length,o=Array(n);for(let i=0;i<n;i++)o[i]=e[i];return o[t]=r,o}function y(e,t){if(Array.isArray(t)||o(n),null==e)return;let r=e;for(let n=0;n<t.length;n++){const e=t[n];if(r=null!=r?r[e]:void 0,void 0===r)return r}return r}function v(e,t,r){let n=e;if(null==n&&(n="number"===typeof t?[]:{}),n[t]===r)return n;const o=s(n);return o[t]=r,o}function m(e,t,r){return t.length?b(e,t,r,0):r}function b(e,t,r,n){let o;const i=t[n];if(n===t.length-1)o=r;else{o=b(l(e)&&l(e[i])?e[i]:"number"===typeof t[n+1]?[]:{},t,r,n+1)}return v(e,i,o)}function w(e,t,r){return v(e,t,r(null==e?void 0:e[t]))}function E(e,t,r){return m(e,t,r(y(e,t)))}function S(e,t,r,n,o,i,...a){return a.length?R.call(null,!1,!1,e,t,r,n,o,i,...a):R(!1,!1,e,t,r,n,o,i)}function O(e,t,r,n,o,i,...a){return a.length?R.call(null,!1,!0,e,t,r,n,o,i,...a):R(!1,!0,e,t,r,n,o,i)}function x(e,t,r,n,o,i,a,...s){let l,u=y(e,t);return null==u&&(u={}),l=s.length?R.call(null,!1,!1,u,r,n,o,i,a,...s):R(!1,!1,u,r,n,o,i,a),m(e,t,l)}function A(e,t){const r=Array.isArray(t)?t:[t];let n=!1;for(let i=0;i<r.length;i++)if(a.call(e,r[i])){n=!0;break}if(!n)return e;const o={},s=i(e);for(let i=0;i<s.length;i++){const t=s[i];r.indexOf(t)>=0||(o[t]=e[t])}return o}function P(e,t,r,n,o,i,...a){return a.length?R.call(null,!0,!1,e,t,r,n,o,i,...a):R(!0,!1,e,t,r,n,o,i)}function R(e,t,r,...a){let u=r;null==u&&o(n);let c=!1;for(let n=0;n<a.length;n++){const r=a[n];if(null==r)continue;const o=i(r);if(o.length)for(let n=0;n<=o.length;n++){const i=o[n];if(e&&void 0!==u[i])continue;let a=r[i];t&&l(u[i])&&l(a)&&(a=R(e,t,u[i],a)),void 0!==a&&a!==u[i]&&(c||(c=!0,u=s(u)),u[i]=a)}}return u}var _={clone:s,addLast:u,addFirst:c,removeLast:f,removeFirst:h,insert:p,removeAt:d,replaceAt:g,getIn:y,set:v,setIn:m,update:w,updateIn:E,merge:S,mergeDeep:O,mergeIn:x,omit:A,addDefaults:P};t.default=_},function(e,t,r){"use strict";r.d(t,"withoutContext",(function(){return Ge}));var n=r(0),o=r(6),i=r.n(o),a=r(9),s=r.n(a),l=r(1),u=r.n(l),c=r(13),f=r(4),h=r.n(f),p=r(2),d=r(7),g=r(10),y=r.n(g),v=r(11),m=r.n(v),b=r(14);const w=e=>({name:"Value",value:e}),E=e=>({name:"Expression",value:e}),S=e=>({name:"PathNode",path:e}),O=(e,t)=>({name:"Query",key:e,value:t}),x=e=>1===e.length?e[0]:{name:"Concatenated",value:e},A=u.a.string('"'),P=u.a.string("'"),R=u.a.string("`"),_=u.a.regex(/[\w\-@]+/).desc("identifier").map(w);let k;const T=u.a.lazy((()=>k)).trim(u.a.optWhitespace).wrap(u.a.string("{{"),u.a.string("}}")).map(S),C=u.a.regex(/[^`]*/).wrap(R,R).map(E),j=u.a.alt(_,T,C).atLeast(1).map(s.a).map(x),U=u.a.alt(u.a.regex(/[^"]*/).wrap(A,A).map(w),u.a.regex(/[^']*/).wrap(P,P).map(w),j),L=u.a.seq(U,u.a.string("=").times(1,3).trim(u.a.optWhitespace),U).map((([e,,t])=>O(e,t))),B=u.a.alt(L,U).trim(u.a.optWhitespace).wrap(u.a.string("["),u.a.string("]")).many(),N=u.a.seqMap(j,B,((e,t)=>[e,...t]));k=u.a.sepBy(N,u.a.string(".")).map(s.a),new c.Grammars.W3C.Parser('\nvalue ::= segment_and_bracket (SEGMENT_SEPARATOR segment_and_bracket)*\nsegment ::= concatenated | expression | modelRef | identifier \nconcatenated ::= (expression | modelRef | identifier)+ \nmodelRef ::= OPEN_CURL OPEN_CURL value CLOSE_CURL CLOSE_CURL \nidentifier ::= [\\w\\-@]+\nquery ::= WHITESPACE* optionally_quoted_segment WHITESPACE* EQUALS EQUALS? EQUALS? WHITESPACE* optionally_quoted_segment WHITESPACE*\nbrackets ::= OPEN_BRACKET WHITESPACE* (query | optionally_quoted_segment) WHITESPACE* CLOSE_BRACKET \nsegment_and_bracket ::= segment brackets*\nquoted_value ::= [^"\']*\noptionally_quoted_segment ::= WHITESPACE* SINGLE_QUOTE quoted_value SINGLE_QUOTE WHITESPACE* | WHITESPACE* DOUBLE_QUOTE quoted_value DOUBLE_QUOTE WHITESPACE* | WHITESPACE* segment WHITESPACE*\nexpression_value ::= [^`]*\nexpression ::= BACK_TICK expression_value BACK_TICK\n\nEQUALS ::= "="\nSEGMENT_SEPARATOR ::= "."\nSINGLE_QUOTE ::= "\'"\nDOUBLE_QUOTE ::= \'"\'\nWHITESPACE ::= " "\nOPEN_CURL ::= "{"\nCLOSE_CURL ::= "}" \nOPEN_BRACKET ::= "[" \nCLOSE_BRACKET ::= "]"\nBACK_TICK ::= "`" \n');const I="{",D="'",M="`",V=e=>{if(!e)return!1;const t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122||95===t||45===t||64===t},F=e=>{let t=1,r=e.charAt(0);const n=n=>{if(n&&r!==n)throw new Error(`Expected char: ${n} but got: ${r}`);return r=e.charAt(t),t+=1,r},o=()=>{for(;" "===r;)n()},i=()=>{var e,t;return null!=(t=null!=(e=(()=>{if(r===I&&(n(I),r===I)){n(I);const e=u();return n("}"),n("}"),e}})())?e:(()=>{if(r===M){n(M);let e=r;for(;n()&&r!==M;)e+=r;if(n(M),e)return E(e)}})())?t:(()=>{if(!V(r))return;let e=r;for(;n()&&V(r);)e+=r;return e?w(e):void 0})()},a=()=>{if(o(),r===D||'"'===r){const e=r===D;n(e?D:'"');const t=(e=>{if(!(null==r?void 0:r.match(e)))return;let t=r;for(;n()&&(null==r?void 0:r.match(e));)t+=r;return t?w(t):void 0})(/[^'"]+/);return n(e?D:'"'),t}return i()},s=()=>{if("["===r){n("["),o();let e=a();if(!e)throw new Error("Expected identifier");if(o(),(()=>{if("="!==r)return!1;for(;"="===r;)n();return!0})()){o();const t=a();e=O(e,t),o()}return e&&n("]"),e}},l=()=>{const e=[],t=(()=>{const e=[];let t=i();for(;void 0!==t;)e.push(t),t=i();if(0!==e.length)return x(e)})();if(t){e.push(t);let r=s();for(;void 0!==r;)e.push(r),r=s()}return e},u=()=>{const e=[];let t=l();for(;void 0!==t&&(e.push(...t),r&&"}"!==r);){if(0===t.length&&r)throw new Error(`Unexpected character: ${r}`);n("."),t=l()}return S(e)};try{return{status:!0,path:u()}}catch(c){return{status:!1,error:c.message}}};function z(e){return!("string"===typeof e||Array.isArray(e))}class ${constructor(e,t=(e=>new $(e))){const r=Array.isArray(e)?e:e.split(".");this.split=r.map((e=>{if("number"===typeof e)return e;const t=Number(e);return isNaN(t)?e:t})),Object.freeze(this.split),this.joined=this.split.join("."),this.factory=t}asArray(){return this.split}asString(){return this.joined}contains(e){const t=e.asArray();if(t.length<this.split.length)return!1;for(let r=0;r<this.split.length;r++)if(this.split[r]!==t[r])return!1;return!0}relative(e){return this.asArray().slice(e.asArray().length)}parent(){return this.factory(this.split.slice(0,-1))}key(){return this.split[this.split.length-1]}descendent(e){const t=(r=e,Array.isArray(r)?r:"string"===typeof r?r.split("."):r.asArray());var r;return this.factory(this.split.concat(t))}}var H=Object.defineProperty,W=Object.getOwnPropertySymbols,Y=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable,Z=(e,t,r)=>t in e?H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,G=(e,t)=>{for(var r in t||(t={}))Y.call(t,r)&&Z(e,r,t[r]);if(W)for(var r of W(t))q.call(t,r)&&Z(e,r,t[r]);return e};function K(e,t,r){var n;const o={updates:{},path:[]};function a(e){if("Value"===e.name)return e.value;if("PathNode"===e.name){const n=K(e,t);n.updates&&(o.updates=G(G({},o.updates),n.updates));try{return t.convertToPath(t.getValue(n.path))}catch(r){throw new i.a(`Unable to resolve path segment: ${n.path}`,r)}}if("Expression"===e.name)try{const r=t.evaluate(e.value);return t.convertToPath(r)}catch(r){throw new i.a(`Unable to resolve path: ${e.value}`,r)}throw new Error(`Unable to resolve value for node: ${e.name}`)}function s(e){"string"===typeof e&&e.indexOf(".")>-1?e.split(".").forEach((e=>{o.path.push(function(e){const t=parseInt(e,10);return isNaN(t)?e:t}(e))})):o.path.push(e)}return e.path.forEach((function(e){var n,i;const l=null!=(n=null==r?void 0:r.beforeResolveNode.call(e,G(G({},o),t)))?n:e;switch(l.name){case"Expression":case"PathNode":s(a(l));break;case"Value":s(l.value);break;case"Query":{const e=null!=(i=t.getValue(o.path))?i:[],{key:r,value:n}=l,s=a(r),u=n&&a(n),c=function(e,t,r){return e.findIndex((e=>!(!e||"object"!==typeof e)&&e[t]==r))}(e,s,u);void 0===c||-1===c?(o.updates[[...o.path,e.length,s].join(".")]=u,o.path.push(e.length)):o.path.push(c);break}case"Concatenated":o.path.push(l.value.map(a).join(""));break;default:throw new Error(`Unsupported node type: ${l.name}`)}})),{path:o.path,updates:Object.keys(null!=(n=o.updates)?n:{}).length>0?o.updates:void 0}}var J=Object.defineProperty,Q=Object.getOwnPropertySymbols,X=Object.prototype.hasOwnProperty,ee=Object.prototype.propertyIsEnumerable,te=(e,t,r)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,re=(e,t)=>{for(var r in t||(t={}))X.call(t,r)&&te(e,r,t[r]);if(Q)for(var r of Q(t))ee.call(t,r)&&te(e,r,t[r]);return e};const ne=/^[\w\-@]+(\.[\w\-@]+)*$/,oe={get:()=>{throw new Error("Not Implemented")},set:()=>{throw new Error("Not Implemented")},evaluate:()=>{throw new Error("Not Implemented")}};class ie{constructor(e){this.hooks={skipOptimization:new n.a,beforeResolveNode:new n.c},this.parserOptions=re(re({},oe),e),this.cache={},this.parseCache={},this.parse=this.parse.bind(this)}normalizePath(e,t){var r,n;if(e.match(ne)&&!0!==this.hooks.skipOptimization.call(e))return{path:e.split("."),updates:void 0};const o=null!=(r=this.parseCache[e])?r:F(e);if(this.parseCache[e]=o,"object"!==typeof o||!(null==o?void 0:o.status))throw new TypeError(`Cannot normalize path "${e}": ${null!=(n=null==o?void 0:o.error)?n:"Unknown Error."}`);try{return K(o.path,t,this.hooks)}catch(a){throw new i.a(`Cannot resolve binding: ${e}`,a)}}getBindingForNormalizedResult(e){const t=e.path.join(".");if(this.cache[t])return this.cache[t];const r=new $(""===t?[]:e.path,this.parse);return this.cache[t]=r,r}parse(e,t={}){if(z(e))return e;const r=re(re({},this.parserOptions),t);let n={};const o=Array.isArray(e)?e.join("."):String(e),i={getValue:e=>{const t=this.normalizePath(e.join("."),i);return r.get(this.getBindingForNormalizedResult(t))},evaluate:e=>r.evaluate(e),convertToPath:e=>{if(void 0===e)throw new Error("Attempted to convert undefined value to binding path");if("string"!==typeof e&&"number"!==typeof e&&"boolean"!==typeof e)throw new Error(`Attempting to convert ${typeof e} to a binding path.`);const t=this.normalizePath(String(e),i);t.updates&&(n=re(re({},n),t.updates));const r=t.path.join(".");if(""===r)throw new Error("Nested path resolved to an empty path");return r}},a=this.normalizePath(o,i);a.updates&&(n=re(re({},n),a.updates));const s=Object.keys(n);if(s.length>0){const e=s.map((e=>[this.parse(e),n[e]]));r.set(e)}return this.getBindingForNormalizedResult(a)}}class ae{constructor(){this.readDeps=new Set,this.writeDeps=new Set,this.namedDependencySets={},this.namedSet="core",this.createSubset("core"),this.createSubset("children")}createSubset(e,t=!1){!t&&this.namedDependencySets[e]||(this.namedDependencySets[e]={readDeps:new Set,writeDeps:new Set})}getDependencies(e){var t,r,n;return void 0!==e?null!=(n=null==(r=null==(t=this.namedDependencySets)?void 0:t[e])?void 0:r.readDeps)?n:new Set:this.readDeps}trackSubset(e){this.createSubset(e),this.namedSet=e}trackDefault(){this.namedSet="core"}getModified(e){var t,r,n;return void 0!==e?null!=(n=null==(r=null==(t=this.namedDependencySets)?void 0:t[e])?void 0:r.writeDeps)?n:new Set:this.writeDeps}readsBinding(e){return this.readDeps.has(e)}writesBinding(e){return this.writeDeps.has(e)}reset(){this.readDeps=new Set,this.writeDeps=new Set,this.namedDependencySets={},this.namedSet="core",this.createSubset("core",!0),this.createSubset("children",!0)}addReadDep(e,t=this.namedSet){var r,n;t&&(null==(n=null==(r=this.namedDependencySets)?void 0:r[t])||n.readDeps.add(e)),this.readDeps.add(e)}addWriteDep(e,t=this.namedSet){var r,n;t&&(null==(n=null==(r=this.namedDependencySets)?void 0:r[t])||n.writeDeps.add(e)),this.writeDeps.add(e)}addChildReadDep(e){this.addReadDep(e,"children")}}class se extends ae{constructor(e){super(),this.rootModel=e,this.set=this.set.bind(this),this.get=this.get.bind(this)}set(e,t){return e.forEach((([e])=>this.addWriteDep(e))),this.rootModel.set(e,t)}get(e,t){return this.addReadDep(e),this.rootModel.get(e,t)}}const le=new class{get(){}set(){return[]}},ue=new $([]);function ce(e,t,r){return r?{get:(n,o)=>e.get(n,null!=o?o:t,r),set:(n,o)=>e.set(n,null!=o?o:t,r)}:e}function fe(e){if(0===e.length)return le;if(1===e.length)return e[0];function t(t){var r;return null!=(r=e.reduce(((e,r)=>ce(r,t,e)),void 0))?r:le}return{get:(e,r)=>{var n;return null==(n=t(r))?void 0:n.get(e,r)},set:(e,r)=>{var n;return null==(n=t(r))?void 0:n.set(e,r)}}}class he{constructor(e=[]){this.hooks={onSet:new n.b},this.pipeline=e,this.effectiveDataModel=fe(this.pipeline)}setMiddleware(e){this.pipeline=e,this.effectiveDataModel=fe(e)}addMiddleware(e){this.pipeline=[...this.pipeline,e],this.effectiveDataModel=fe(this.pipeline)}reset(e={}){this.pipeline.forEach((e=>{var t;"reset"in e&&(null==(t=e.reset)||t.call(e))})),this.set([[ue,e]])}set(e,t){const r=this.effectiveDataModel.set(e,t);return this.hooks.onSet.call(e),r}get(e,t){return this.effectiveDataModel.get(e,t)}}class pe{constructor(e={}){this.model=e,this.get=this.get.bind(this),this.set=this.set.bind(this)}reset(e={}){this.model=e}get(e){return e&&e.asString()?h()(this.model,e.asArray()):this.model}set(e){const t=[];return e.forEach((([e,r])=>{const n=this.get(e);this.model=Object(p.setIn)(this.model,e.asArray(),r),t.push({binding:e,oldValue:n,newValue:r})})),t}}const de=Symbol("Expression Node ID");const ge=46,ye=40,ve=123,me=125,be=!0,we={"-":be,"!":be,"~":be,"+":be},Ee={"=":3,"+=":3,"-=":3,"&=":3,"|=":3,"||":5,"&&":6,"|":7,"^":8,"&":9,"==":10,"!=":10,"===":10,"!==":10,"<":11,">":11,"<=":11,">=":11,"<<":12,">>":12,">>>":12,"+":13,"-":13,"*":14,"/":14,"%":14};function Se(e,t){const r=new Error(`${e} at character ${t}`);throw r.index=t,r.description=e,r}function Oe(e,t){if(e&&t)return{start:e.start,end:t.end}}function xe(e){let t=0;return Object.keys(e).forEach((r=>{r.length>t&&Object.prototype.hasOwnProperty.call(e,r)&&(t=r.length)})),t}const Ae=xe(we),Pe=xe(Ee),Re={true:!0,false:!1,null:null,undefined:void 0};function _e(e){return Ee[e]||0}function ke(e,t,r,n){let o;return o="||"===e||"&&"===e?"LogicalExpression":"="===e?"Assignment":"+="===e||"-="===e||"&="===e||"|="===e?"Modification":"BinaryExpression",{__id:de,type:o,operator:e,left:t,right:r,location:n}}function Te(e){return e>=48&&e<=57}function Ce(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122}function je(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57}function Ue(e){const t=e.charAt,r=e.charCodeAt,{length:n}=e;let o=0;const i=e=>({start:{character:e},end:{character:o}});function a(r){return t.call(e,r)}function s(t){return r.call(e,t)}function l(){let e=s(o);for(;32===e||9===e;)e=s(++o)}function u(){const e=function(){let e,t,r,n=f(),i=c();if(!i)return n;let a={value:i,prec:_e(i)},s=f();s||Se(`Expected expression after ${i}`,o);const l=[n,a,s];i=c();for(;i&&(t=_e(i),0!==t);){for(a={value:i,prec:t};l.length>2&&t<=l[l.length-2].prec;)s=l.pop(),i=l.pop().value,n=l.pop(),e=ke(i,n,s,Oe(n.location,s.location)),l.push(e);e=f(),e||Se(`Expected expression after ${i}`,o),l.push(a,e),i=c()}r=l.length-1,e=l[r];for(;r>1;)e=ke(l[r-1].value,l[r-2],e,Oe(l[r-2].location,e.location)),r-=2;return e}();l();const t=o;if(o<n&&63===s(o)){o++;const r=u();if(r||Se("Expected expression",o),l(),58===s(o)){o++;const n=u();return n||Se("Expected expression",o),{__id:de,type:"ConditionalExpression",test:e,consequent:r,alternate:n,location:i(t)}}Se("Expected :",o)}return e}function c(){l();let t=e.substr(o,Pe),r=t.length;for(;r>0;){if(Object.prototype.hasOwnProperty.call(Ee,t))return o+=r,t;t=t.substr(0,--r)}return!1}function f(){l();const t=s(o),r=o;if(Te(t)||46===t)return function(){let e="";const t=o;for(;Te(s(o));)e+=a(o++);if(s(o)===ge)for(e+=a(o++);Te(s(o));)e+=a(o++);let r=a(o);if("e"===r||"E"===r){for(e+=a(o++),r=a(o),"+"!==r&&"-"!==r||(e+=a(o++));Te(s(o));)e+=a(o++);Te(s(o-1))||Se(`Expected exponent (${e}${a(o)})`,o)}const n=s(o);Ce(n)?Se(`Variable names cannot start with a number (${e}${a(o)})`,o):n===ge&&Se("Unexpected period",o);return{__id:de,type:"Literal",value:parseFloat(e),raw:e,location:i(t)}}();if(39===t||34===t)return h();if(Ce(t)||40===t)return function(){let e=s(o),t=e===ye?function(){o++;const e=u();if(l(),41===s(o))return o++,e;Se("Unclosed (",o)}():p();const r=o;l(),e=s(o);for(;e===ge||91===e||e===ye;)o++,e===ge?(l(),t={__id:de,type:"MemberExpression",computed:!1,object:t,property:p(),location:i(r)}):91===e?(t={__id:de,type:"MemberExpression",computed:!0,object:t,property:u(),location:i(r)},l(),e=s(o),93!==e&&Se("Unclosed [",o),o++):e===ye&&(t={__id:de,type:"CallExpression",args:d(41),callTarget:t,location:i(r)}),l(),e=s(o);return t}();if(91===t)return function(){const e=o;return o++,{__id:de,type:"ArrayExpression",elements:d(93),location:i(e)}}();if(c=t,g=s(o+1),c===ve&&g===ve)return function(){let e="",t=!1,r=1;const l=o;o+=2;for(;o<n;){const n=a(o++);if("}"===n&&s(o)===me){if(o++,r--,0===r){t=!0;break}e+="}}"}else"{"===n&&s(o)===ve?(r++,e+="{{",o++):e+=n}t||Se(`Unclosed brace after "${e}"`,o);return{__id:de,type:"ModelRef",ref:e,location:i(l)}}();var c,g;if(t===ve)return function(){const e=[];let t,r,a,c=!1,f=!0;const p=o;for(++o;o<n;){if(l(),a=s(o),125===a){t&&Se("A key was defined but a value was not",o),o++,c=!0;break}f?(39!==a&&34!==a&&Se("An object must start wtih a key",o),t=h(),l(),58===s(o)?(o++,f=!1):Se("A colon must follow an object key",o)):(r=u(),e.push({key:t,value:r}),l(),a=s(o),44===a?o++:125!==a&&Se("Please add a comma to add another key",o),f=!0,t=void 0,r=void 0),a=s(o)}return c||Se("Unclosed brace in object",o),{__id:de,type:"Object",attributes:e,location:i(p)}}();let y=e.substr(o,Ae),v=y.length;for(;v>0;){if(Object.prototype.hasOwnProperty.call(we,y))return o+=v,{__id:de,type:"UnaryExpression",operator:y,argument:f(),prefix:!0,location:i(r)};y=y.substr(0,--v)}return!1}function h(){const e=a(o++);let t="",r=!1;const s=o;for(;o<n;){let n=a(o++);if(n===e){r=!0;break}if("\\"===n)switch(n=a(o++),n){case"n":t+="\n";break;case"r":t+="\r";break;case"t":t+="\t";break;case"b":t+="\b";break;case"f":t+="\f";break;case"v":t+="\v"}else t+=n}return r||Se(`Unclosed quote after "${t}"`,o),{__id:de,type:"Literal",value:t,raw:`${e}${t}${e}`,location:i(s)}}function p(){const t=o;let r=s(t);for(Ce(r)?o++:Se(`Unexpected ${a(o)}`,o);o<n&&(r=s(o),je(r));)o++;const l=e.slice(t,o);return Object.prototype.hasOwnProperty.call(Re,l)?{__id:de,type:"Literal",value:Re[l],raw:l,location:i(t)}:"this"===l?{__id:de,type:"ThisExpression",location:i(t)}:{__id:de,type:"Identifier",name:l,location:i(t)}}function d(e){const t=[];let r,i;for(;o<n;){if(l(),r=s(o),r===e){o++;break}44!==r?(i=u(),i&&"Compound"!==i.type||Se("Expected comma",o),t.push(i)):o++}return t}const g=[];for(;o<n;){const e=s(o);if(59===e||44===e){o++;continue}const t=u();t?g.push(t):o<n&&Se(`Unexpected "${a(o)}"`,o)}return 1===g.length?g[0]:{__id:de,type:"Compound",body:g,location:i(0)}}var Le=Object.freeze({__proto__:null,setDataVal:(e,t,r)=>{e.model.set([[t,r]])},getDataVal:(e,t)=>e.model.get(t),deleteDataVal:(e,t)=>e.model.set([[t,void 0]])}),Be=Object.defineProperty,Ne=Object.defineProperties,Ie=Object.getOwnPropertyDescriptors,De=Object.getOwnPropertySymbols,Me=Object.prototype.hasOwnProperty,Ve=Object.prototype.propertyIsEnumerable,Fe=(e,t,r)=>t in e?Be(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ze=(e,t)=>{for(var r in t||(t={}))Me.call(t,r)&&Fe(e,r,t[r]);if(De)for(var r of De(t))Ve.call(t,r)&&Fe(e,r,t[r]);return e},$e=(e,t)=>Ne(e,Ie(t));const He=(e,t,r)=>e.evaluate(t)&&e.evaluate(r);He.resolveParams=!1;const We=(e,t,r)=>e.evaluate(t)||e.evaluate(r);We.resolveParams=!1;const Ye={"+":(e,t)=>e+t,"-":(e,t)=>e-t,"*":(e,t)=>e*t,"/":(e,t)=>e/t,"%":(e,t)=>e%t,"==":(e,t)=>e==t,"!=":(e,t)=>e!=t,">":(e,t)=>e>t,">=":(e,t)=>e>=t,"<":(e,t)=>e<t,"<=":(e,t)=>e<=t,"&&":He,"||":We,"!==":(e,t)=>e!==t,"===":(e,t)=>e===t,"|":(e,t)=>e|t,"&":(e,t)=>e&t,"+=":(e,t)=>e+t,"-=":(e,t)=>e-t,"&=":(e,t)=>e&t,"|=":(e,t)=>e|t},qe={"-":e=>-e,"+":e=>Number(e),"!":e=>!e};class Ze{constructor(e){this.vars={},this.hooks={resolve:new n.c,onError:new n.a},this.expressionsCache=new Map,this.operators={binary:new Map(Object.entries(Ye)),unary:new Map(Object.entries(qe)),expressions:new Map(Object.entries(Le))},this.defaultHookOptions=$e(ze({},e),{evaluate:e=>this.evaluate(e,this.defaultHookOptions),resolveNode:e=>this._execAST(e,this.defaultHookOptions)}),this.hooks.resolve.tap("ExpressionEvaluator",this._resolveNode.bind(this)),this.evaluate=this.evaluate.bind(this)}reset(){this.expressionsCache.clear()}evaluate(e,t){const r=$e(ze(ze({},this.defaultHookOptions),t),{resolveNode:e=>this._execAST(e,r)});if("number"===typeof e||"boolean"===typeof e||void 0===e||null===e)return e;if("object"===typeof(n=e)&&n.__id===de)return this._execAST(e,r);var n;if("object"===typeof e){return(Array.isArray(e)?e:Object.values(e)).reduce(((e,r)=>this.evaluate(r,t)),null)}return this._execString(String(e),r)}addExpressionFunction(e,t){this.operators.expressions.set(e,t)}addBinaryOperator(e,t){this.operators.binary.set(e,t)}addUnaryOperator(e,t){this.operators.unary.set(e,t)}setExpressionVariable(e,t){this.vars[e]=t}getExpressionVariable(e){return this.vars[e]}_execAST(e,t){return this.hooks.resolve.call(void 0,e,t)}_execString(e,t){if(""===e)return e;const r=e.match(/^@\[(.*)\]@$/);let n=e;r&&([,n]=Array.from(r));try{const e=this.expressionsCache.get(n);if(e)return this._execAST(e,t);const r=Ue(n);return this.expressionsCache.set(n,r),this._execAST(r,t)}catch(o){if(!this.hooks.onError.call(o))throw o}}_resolveNode(e,t,r){const{resolveNode:n,model:o}=r,i=$e(ze({},r),{evaluate:e=>this.evaluate(e,r)});if("Literal"===t.type)return t.value;if("Identifier"===t.type)return this.vars[t.name];if("Compound"===t.type||"ThisExpression"===t.type)throw new Error(`Expression type: ${t.type} is not supported`);if("BinaryExpression"===t.type||"LogicalExpression"===t.type){const e=this.operators.binary.get(t.operator);return e?"resolveParams"in e?!1===e.resolveParams?e(i,t.left,t.right):e(i,n(t.left),n(t.right)):e(n(t.left),n(t.right)):void 0}if("UnaryExpression"===t.type){const e=this.operators.unary.get(t.operator);return e?"resolveParams"in e?e(i,!1===e.resolveParams?t.argument:n(t.argument)):e(n(t.argument)):void 0}if("Object"===t.type){const{attributes:e}=t,r={};return e.forEach((e=>{const t=n(e.key),o=n(e.value);r[t]=o})),r}if("CallExpression"===t.type){const e=t.callTarget.name;if("conditional"===e){return n(t.args[0])?n(t.args[1]):t.args[2]?n(t.args[2]):null}const r=this.operators.expressions.get(e);if(!r)throw new Error(`Unknown expression function: ${e}`);return r(i,...t.args.map((e=>n(e))))}if("ModelRef"===t.type)return o.get(t.ref);if("MemberExpression"===t.type){return n(t.object)[n(t.property)]}if("Assignment"!==t.type){if("ConditionalExpression"===t.type){const e=n(t.test)?t.consequent:t.alternate;return n(e)}if("ArrayExpression"===t.type)return t.elements.map((e=>n(e)));if("Modification"===t.type){const e=this.operators.binary.get(t.operator);if(e){let r;return r="resolveParams"in e?!1===e.resolveParams?e(i,t.left,t.right):e(i,n(t.left),n(t.right)):e(n(t.left),n(t.right)),"ModelRef"===t.left.type?o.set([[t.left.ref,r]]):"Identifier"===t.left.type&&(this.vars[t.left.name]=r),r}return n(t.left)}}else{if("ModelRef"===t.left.type){const e=n(t.right);return o.set([[t.left.ref,e]]),e}if("Identifier"===t.left.type){const e=n(t.right);return this.vars[t.left.name]=e,e}}}}function Ge(e){return(t,...r)=>e(...r)}class Ke{constructor(){this.hooks={trace:new n.b,debug:new n.b,info:new n.b,warn:new n.b,error:new n.b,log:new n.b},this.logHandlers=new Set,this.trace=this.createHandler("trace"),this.debug=this.createHandler("debug"),this.info=this.createHandler("info"),this.warn=this.createHandler("warn"),this.error=this.createHandler("error")}createHandler(e){return(...t)=>{this.hooks[e].call(t),this.hooks.log.call(e,t),this.logHandlers.forEach((r=>r[e](...t)))}}addHandler(e){this.logHandlers.add(e)}removeHandler(e){this.logHandlers.delete(e)}}class Je{constructor(e){this.trace=this.createHandler("trace"),this.debug=this.createHandler("debug"),this.info=this.createHandler("info"),this.warn=this.createHandler("warn"),this.error=this.createHandler("error"),this.proxiedLoggerProvider=e}createHandler(e){return(...t)=>{const r=this.proxiedLoggerProvider();null==r||r[e](...t)}}}var Qe=Object.defineProperty,Xe=Object.defineProperties,et=Object.getOwnPropertyDescriptors,tt=Object.getOwnPropertySymbols,rt=Object.prototype.hasOwnProperty,nt=Object.prototype.propertyIsEnumerable,ot=(e,t,r)=>t in e?Qe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,it=(e,t)=>{for(var r in t||(t={}))rt.call(t,r)&&ot(e,r,t[r]);if(tt)for(var r of tt(t))nt.call(t,r)&&ot(e,r,t[r]);return e};const at=e=>e;class st{constructor(e){this.formatters=new Map,this.types=new Map,this.schema=new Map,this.bindingSchemaNormalizedCache=new Map,this.hooks={resolveTypeForBinding:new n.c},this.schema=e?function(e){const t=new Map;if(!e.ROOT)return t;const r=[{node:e.ROOT,path:[],visited:new Set}];for(;r.length>0;){const n=r.shift();if(!n)break;const{node:o,path:i,visited:a}=n;Object.entries(o).forEach((([n,o])=>{const s=[...i,n],l=s.join(".");if(t.has(l))throw new Error("Path has already been processed. There's either a loop somewhere or a bug");if(a.has(o.type))throw new Error(`Path already contained type: ${o.type}. This likely indicates a loop in the schema`);t.set(l,o),o.isArray&&s.push("[]"),o.type&&e[o.type]&&r.push({path:s,node:e[o.type],visited:new Set([...a,o.type])})}))}return t}(e):new Map}addFormatters(e){e.forEach((e=>{this.formatters.set(e.name,e)}))}addDataTypes(e){e.forEach((e=>{this.types.set(e.type,e)}))}getValidationsForBinding(e){var t;const r=this.getApparentType(e);if(null==(t=null==r?void 0:r.validation)?void 0:t.length)return r.validation.map((e=>it({severity:"error",trigger:"change"},e)))}normalizeBinding(e){const t=this.bindingSchemaNormalizedCache.get(e);if(t)return t;const r=e.asArray().map((e=>"number"===typeof e?"[]":e)).join(".");return this.bindingSchemaNormalizedCache.set(e,r),r}getType(e){return this.hooks.resolveTypeForBinding.call(this.schema.get(this.normalizeBinding(e)),e)}getApparentType(e){var t,r;const n=this.getType(e);if(void 0===n)return;const o=this.getTypeDefinition(null==n?void 0:n.type);return void 0===o?n:(i=it(it({},o),n),a={validation:[...null!=(t=n.validation)?t:[],...null!=(r=o.validation)?r:[]]},Xe(i,et(a)));var i,a}getTypeDefinition(e){return this.types.get(e)}getFormatterForType(e){const t=e,{type:r}=t,n=((e,t)=>{var r={};for(var n in e)rt.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&tt)for(var n of tt(e))t.indexOf(n)<0&&nt.call(e,n)&&(r[n]=e[n]);return r})(t,["type"]),o=this.formatters.get(r);if(o)return{format:o.format?e=>{var t;return null==(t=o.format)?void 0:t.call(o,e,n)}:at,deformat:o.deformat?e=>{var t;return null==(t=o.deformat)?void 0:t.call(o,e,n)}:at}}getFormatter(e){const t=this.getApparentType(e);if(null==t?void 0:t.format)return this.getFormatterForType(t.format)}}const lt="{{",ut="}}";function ct(e){const t=e.indexOf(lt);if(-1===t)return;let r=1,n=t+lt.length,o=e.substring(t+lt.length);for(;r>0&&o.length>0;){const e=o.indexOf(ut);if(-1===e)break;const t=o.indexOf(lt);-1!==t&&t<e?(r++,o=o.substring(t+lt.length),n+=t+lt.length):(r--,o=o.substring(e+ut.length),n+=e+ut.length)}if(0!==r)throw new Error(`Unbalanced {{ and }} in exp: ${e}`);return{start:t,end:n}}function ft(e,t){const{model:r}=t;let n=function(e,{evaluate:t}){const r=/@\[.*?\]@/;let n=e,o=n.match(r);for(;null!==o;){const i=o[0],a=n.indexOf(i),s=t(i.substr("@[".length,i.length-"@[".length-"]@".length));if(0===a&&i===e&&"string"!==typeof s)return s;n=n.substr(0,a)+s+n.substr(a+i.length),o=n.match(r)}return n}(e,t);if("string"!==typeof n||-1===n.indexOf(lt))return n;for(;-1!==n.indexOf(lt);){const e=ct(n);if(!e)return n;const{start:t,end:o}=e,i=n.substring(t+lt.length,o-lt.length).trim(),a=r.get(i,{formatted:!0});if(0===t&&o===n.length&&"string"!==typeof a)return a;n=n.substr(0,t)+a+n.substr(o)}return n}function ht(e,t){switch(typeof e){case"string":return ft(e,t);case"object":{if(!e)return e;const r=Object.keys(e);let n=e;if(r.length>0)for(const o of r)n=Object(p.setIn)(n,[o],ht(e[o],t));return n}default:return e}}function pt(e,t){return ht(e,t)}var dt,gt,yt=Object.defineProperty,vt=Object.defineProperties,mt=Object.getOwnPropertyDescriptors,bt=Object.getOwnPropertySymbols,wt=Object.prototype.hasOwnProperty,Et=Object.prototype.propertyIsEnumerable,St=(e,t,r)=>t in e?yt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class Ot{constructor(e,t){this.validator=e,this.shadowModelPaths=new Map,this.logger=null==t?void 0:t.logger}set(e,t,r){const n=ce(this,(o=((e,t)=>{for(var r in t||(t={}))wt.call(t,r)&&St(e,r,t[r]);if(bt)for(var r of bt(t))Et.call(t,r)&&St(e,r,t[r]);return e})({},t),vt(o,mt({includeInvalid:!0}))),r);var o;const i=[];e.forEach((([e,t])=>{this.shadowModelPaths.set(e,t)}));const a=[];if(this.shadowModelPaths.forEach(((e,t)=>{var r;const o=this.validator(t,n);void 0===o?i.push([t,e]):o instanceof Set?o.forEach((t=>{a.push(t.binding),t.isStrong||i.push([t.binding,e])})):null==(r=this.logger)||r.debug(`Invalid value for path: ${t.asString()} - ${o.severity} - ${o.message}`)})),r&&i.length>0){i.forEach((([e])=>this.shadowModelPaths.delete(e)));const e=r.set(i,t);if(0===a.length)return e}return a.map((e=>({binding:e,oldValue:n.get(e),newValue:n.get(e),force:!0})))}get(e,t,r){let n=null==r?void 0:r.get(e,t);return!0===(null==t?void 0:t.includeInvalid)&&this.shadowModelPaths.forEach(((t,r)=>{r!==e?e.contains(r)&&(n=Object(p.setIn)(n,r.relative(e),t)):n=t})),n}}class xt{constructor(){this.registry=new Map}get(e){return this.registry.get(e)}register(e,t){this.registry.set(e,t)}}(gt=dt||(dt={})).Asset="asset",gt.View="view",gt.Applicability="applicability",gt.Template="template",gt.Value="value",gt.MultiNode="multi-node",gt.Switch="switch",gt.Unknown="unknown",gt.Empty="empty";var At=Object.defineProperty,Pt=Object.defineProperties,Rt=Object.getOwnPropertyDescriptors,_t=Object.getOwnPropertySymbols,kt=Object.prototype.hasOwnProperty,Tt=Object.prototype.propertyIsEnumerable,Ct=(e,t,r)=>t in e?At(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,jt=(e,t)=>{for(var r in t||(t={}))kt.call(t,r)&&Ct(e,r,t[r]);if(_t)for(var r of _t(t))Tt.call(t,r)&&Ct(e,r,t[r]);return e},Ut=(e,t)=>Pt(e,Rt(t));const Lt={type:dt.Empty};class Bt{constructor(){this.hooks={onParseObject:new n.c,onCreateASTNode:new n.c,determineNodeType:new n.a,parseNode:new n.a}}parseView(e){const t=this.parseObject(e,dt.View);if(!t)throw new Error("Unable to parse object into a view");return t}createASTNode(e,t){const r=this.hooks.onCreateASTNode.call(e,t);return void 0===r?e:r}parseObject(e,t=dt.Value,r={templateDepth:0}){var n;const o=this.hooks.determineNodeType.call(e);if(void 0!==o){const n=this.hooks.parseNode.call(e,t,r,o);if(n)return n}const i=(e,n,o=[])=>{if("object"!==typeof n||null===n)return{value:n,children:[]};const a=this.hooks.onParseObject.call(n,t);if(!a)return e;const s={children:[],value:e};return(Array.isArray(a)?a.map(((e,t)=>[t,e])):Object.entries(a)).reduce(((e,n)=>{const a=e,{children:s}=a,l=((e,t)=>{var r={};for(var n in e)kt.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&_t)for(var n of _t(e))t.indexOf(n)<0&&Tt.call(e,n)&&(r[n]=e[n]);return r})(a,["children"]),[u,c]=n;if("asset"===u&&"object"===typeof c){const e=this.parseObject(c,dt.Asset,r);if(e)return Ut(jt({},l),{children:[...s,{path:[...o,"asset"],value:e}]})}else{if(this.hooks.determineNodeType.call(u)===dt.Template&&Array.isArray(c)){const e=c.map((e=>{var t,n;const i=this.hooks.onCreateASTNode.call({type:dt.Template,depth:null!=(t=r.templateDepth)?t:0,data:e.data,template:e.value,dynamic:null!=(n=e.dynamic)&&n},e);if(i)return{path:[...o,e.output],value:i}})).filter((e=>!!e));return Ut(jt({},l),{children:[...s,...e]})}if(c&&this.hooks.determineNodeType.call(c)===dt.Switch){const e=this.hooks.parseNode.call(c,dt.Value,r,dt.Switch);if(e)return Ut(jt({},l),{children:[...s,{path:[...o,u],value:e}]})}else if(c&&Array.isArray(c)){const e=c.map((e=>this.parseObject(e,dt.Value,r))).filter((e=>!!e));if(e.length>0){const t=this.hooks.onCreateASTNode.call({type:dt.MultiNode,override:!0,values:e},c);if((null==t?void 0:t.type)===dt.MultiNode&&t.values.forEach((e=>{e.parent=t})),t)return Ut(jt({},l),{children:[...s,{path:[...o,u],value:t}]})}}else{if(!c||"object"!==typeof c){return{children:s,value:Object(p.setIn)(e.value,[...o,u],c)}}{const n=this.hooks.determineNodeType.call(c);if(n!==dt.Applicability){const t=i(e.value,c,[...o,u]);return{value:t.value,children:[...s,...t.children]}}{const e=this.hooks.parseNode.call(c,t,r,n);if(e)return Ut(jt({},l),{children:[...s,{path:[...o,u],value:e}]})}}}}return e}),s)},{value:a,children:s}=i(void 0,e),l=void 0===a&&0===s.length?void 0:{type:t,value:a};if(void 0!==l&&s.length>0){const e=l;e.children=s,s.forEach((t=>{t.value.parent=e}))}return null!=(n=this.hooks.onCreateASTNode.call(l,e))?n:null}}var Nt=Object.defineProperty,It=Object.defineProperties,Dt=Object.getOwnPropertyDescriptors,Mt=Object.getOwnPropertySymbols,Vt=Object.prototype.hasOwnProperty,Ft=Object.prototype.propertyIsEnumerable,zt=(e,t,r)=>t in e?Nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;function $t(e,t){if(!e||!t)return!0;const r=Array.from(t.values()),n=Array.from(e.values());return void 0!==r.find((e=>!!n.find((t=>t===e||t.contains(e)||e.contains(t)))))}function Ht(e){return t=((e,t)=>{for(var r in t||(t={}))Vt.call(t,r)&&zt(e,r,t[r]);if(Mt)for(var r of Mt(t))Ft.call(t,r)&&zt(e,r,t[r]);return e})({},e),r={data:{model:e.model,formatValue:(t,r)=>e.formatValue?e.formatValue(t,r):r,format:(t,r)=>e.format?e.format(z(t)?t:e.parseBinding(t),r):r},evaluate:t=>e.evaluator.evaluate(t,e)},It(t,Dt(r));var t,r}var Wt=Object.defineProperty,Yt=Object.defineProperties,qt=Object.getOwnPropertyDescriptors,Zt=Object.getOwnPropertySymbols,Gt=Object.prototype.hasOwnProperty,Kt=Object.prototype.propertyIsEnumerable,Jt=(e,t,r)=>t in e?Wt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Qt=(e,t)=>{for(var r in t||(t={}))Gt.call(t,r)&&Jt(e,r,t[r]);if(Zt)for(var r of Zt(t))Kt.call(t,r)&&Jt(e,r,t[r]);return e},Xt=(e,t)=>Yt(e,qt(t));class er{constructor(e,t){this.hooks={skipResolve:new n.c,beforeUpdate:new n.b,afterUpdate:new n.b,resolveOptions:new n.c,beforeResolve:new n.c,resolve:new n.c,afterResolve:new n.c,afterNodeUpdate:new n.b},this.root=e,this.options=t,this.resolveCache=new Map,this.ASTMap=new Map,this.logger=t.logger,this.idCache=new Set}getSourceNode(e){return this.ASTMap.get(e)}update(e){this.hooks.beforeUpdate.call(e);const t=new Map;this.idCache.clear(),this.ASTMap.clear();const r=this.computeTree(this.root,void 0,e,t,Ht(this.options));return this.resolveCache=t,this.hooks.afterUpdate.call(r.value),r.value}getNodeID(e){var t;if(e)return e.type!==dt.Asset&&e.type!==dt.View&&e.type!==dt.Value||"object"!==typeof e.value||"string"!==typeof(null==(t=e.value)?void 0:t.id)?void 0:e.value.id}getPreviousResult(e){var t,r;if(!e)return;const n=0===this.resolveCache.size,o=this.getNodeID(e);if(o){if(this.idCache.has(o))return void(n&&(e.type===dt.Asset||e.type===dt.View?null==(t=this.logger)||t.error(`Cache conflict: Found Asset/View nodes that have conflicting ids: ${o}, may cause cache issues.`):e.type===dt.Value&&(null==(r=this.logger)||r.info(`Cache conflict: Found Value nodes that have conflicting ids: ${o}, may cause cache issues. To improve performance make value node IDs globally unique.`))));this.idCache.add(o)}return this.resolveCache.get(e)}computeTree(e,t,r,n,o){var i,a;const s=new se(o.data.model);s.trackSubset("core");const l=(u=function(e,t){function r(r){const n=z(r)?r:t(r,{get:e.get,set:e.set});if(!n)throw new Error("Unable to parse binding");return n}return{get:(t,n)=>e.get(r(t),n),set:(t,n)=>e.set(t.map((([e,t])=>[r(e),t])),n)}}(s,this.options.parseBinding),{get:(e,t)=>u.get(e,Qt({context:{model:u}},t)),set:(e,t)=>u.set(e,Qt({context:{model:u}},t))});var u;const c=this.hooks.resolveOptions.call(Xt(Qt({},o),{data:Xt(Qt({},o.data),{model:l}),evaluate:e=>this.options.evaluator.evaluate(e,{model:l}),node:e}),e),f=this.getPreviousResult(e),g=null==f?void 0:f.dependencies,y=$t(r,g);if(this.hooks.skipResolve.call(!y,e,c)&&f){const r=Xt(Qt({},f),{updated:!1});n.set(e,r);const o=(e,t)=>{var r;this.ASTMap.set(e,t),"children"in e&&(null==(r=e.children)||r.forEach((({value:e})=>{const{node:t}=this.getPreviousResult(e)||{};t&&(o(t,e),t.type===dt.MultiNode&&t.values.forEach((e=>{const{node:t}=this.getPreviousResult(e)||{};t&&o(t,e)})))})))},i=f.node;return o(i,e),this.hooks.afterNodeUpdate.call(e,t,r),r}const v=null!=(i=this.hooks.beforeResolve.call(e,c))?i:{type:dt.Empty};c.node=v,this.ASTMap.set(v,e);let m=this.hooks.resolve.call(void 0,v,c),b=!Object(d.a)(null==f?void 0:f.value,m);f&&!b&&(m=null==f?void 0:f.value);const w=new Set;s.trackSubset("children"),"children"in v&&(null==(a=v.children)||a.forEach((t=>{const o=this.computeTree(t.value,e,r,n,c);let{updated:i,value:a}=o;const{node:s,dependencies:l}=o;if(l.forEach((e=>w.add(e))),s.type===dt.MultiNode&&(a=[],s.values.forEach((t=>{const o=this.computeTree(t,e,r,n,c);void 0!==o.value&&null!==o.value&&a.push(o.value),o.dependencies.forEach((e=>w.add(e))),i=i||o.updated}))),a)if(s.type!==dt.MultiNode||s.override)m=Object(p.setIn)(m,t.path,a);else{const e=Object(p.addLast)(h()(m,t.path,[]),a);m=Object(p.setIn)(m,t.path,e)}b=b||i}))),w.forEach((e=>s.addChildReadDep(e))),s.trackSubset("core"),f&&!b&&(m=null==f?void 0:f.value),m=this.hooks.afterResolve.call(m,v,Xt(Qt({},c),{getDependencies:e=>s.getDependencies(e)}));const E={node:v,updated:b,value:m,dependencies:new Set([...s.getDependencies(),...w])};return this.hooks.afterNodeUpdate.call(e,t,E),n.set(e,E),E}}class tr{constructor(e){this.hooks={resolveTemplateSubstitutions:new n.c},this.options=e}parseTemplate(e,t,r){const{template:n,depth:o}=t,i=r.data.model.get(t.data);if(!i)return null;if(!Array.isArray(i))throw new Error(`Template using '${t.data}' but is not an array`);const a=[];i.forEach(((r,i)=>{const s=this.hooks.resolveTemplateSubstitutions.call([{expression:new RegExp(`_index${o||""}_`),value:String(i)}],{depth:o,data:r,index:i});let l=JSON.stringify(n);for(const{expression:e,value:t}of s){let r="g";"object"===typeof e&&(r=`${e.flags}${e.global?"":"g"}`),l=l.replace(new RegExp(e,r),t)}const u=e(JSON.parse(l),dt.Value,{templateDepth:t.depth+1});u&&a.push(u)}));const s={parent:t.parent,type:dt.MultiNode,values:a};return s.values.forEach((e=>{e.parent=s})),s}applyParser(e){e.hooks.onCreateASTNode.tap("template",(t=>t&&t.type===dt.Template&&!t.dynamic?this.parseTemplate(e.parseObject.bind(e),t,this.options):t)),e.hooks.determineNodeType.tap("template",(e=>{if("template"===e)return dt.Template})),e.hooks.parseNode.tap("template",((t,r,n,o)=>{var i,a;if(o===dt.Template){const r=e.createASTNode({type:dt.Template,depth:null!=(i=n.templateDepth)?i:0,data:t.data,template:t.value,dynamic:null!=(a=t.dynamic)&&a},t);if(r)return r}}))}applyResolverHooks(e){e.hooks.beforeResolve.tap("template",((e,t)=>e&&e.type===dt.Template&&e.dynamic?this.parseTemplate(t.parseNode,e,t):e))}apply(e){e.hooks.parser.tap("template",this.applyParser.bind(this)),e.hooks.resolver.tap("template",this.applyResolverHooks.bind(this))}}const rr=(e,t)=>r=>{const n=r.indexOf(e);if(-1===n)return!1;const o=r.indexOf(t);return-1!==o&&n<o},nr=rr("{{","}}"),or=rr("@[","]@");function ir(e,t){return function(e){return nr(e)||or(e)}(e)?pt(e,{model:t.data.model,evaluate:t.evaluate}):e}function ar(e,t,r){if(null===e||void 0===e||"object"!==typeof e&&"string"!==typeof e)return e;if("string"===typeof e)return ir(e,t);let n=e;return Object.keys(e).forEach((o=>{if(r.has(o))return;const i=e[o];let a=i;"object"===typeof i?a=ar(i,t,r):"string"===typeof i&&(a=ir(i,t)),a!==i&&(n=Object(p.set)(n,o,a))})),n}const sr=e=>{var t,r,n;const o=e.parent;return o?"children"in o?null!=(n=null==(r=null==(t=o.children)?void 0:t.find((t=>t.value===e)))?void 0:r.path)?n:[]:o.type!==dt.MultiNode?[]:sr(o):[]};class lr{constructor(){this.propertiesToSkipCache=new Map}applyResolver(e){e.hooks.resolve.tap("string-resolver",((e,t,r)=>{var n,o,i,a,s,l,u,c,f,h;if(t.type===dt.Empty||t.type===dt.Unknown)return null;if(t.type===dt.Value||t.type===dt.Asset||t.type===dt.View){let e;t.type===dt.Asset||t.type===dt.View?(e=new Set(null!=(i=null==(o=null==(n=t.plugins)?void 0:n.stringResolver)?void 0:o.propertiesToSkip)?i:["exp"]),(null==(a=t.value)?void 0:a.id)&&this.propertiesToSkipCache.set(t.value.id,e)):e=(null==(s=t.parent)?void 0:s.type)===dt.MultiNode&&((null==(u=null==(l=t.parent)?void 0:l.parent)?void 0:u.type)===dt.Asset||(null==(f=null==(c=t.parent)?void 0:c.parent)?void 0:f.type)===dt.View)&&(null==(h=t.parent.parent.value)?void 0:h.id)&&this.propertiesToSkipCache.has(t.parent.parent.value.id)?this.propertiesToSkipCache.get(t.parent.parent.value.id):new Set(["exp"]);const p=sr(t);return p.length>0&&p.some((t=>e.has(t.toString())))?t.value:ar(t.value,r,e)}return e}))}apply(e){e.hooks.resolver.tap("string-resolver",this.applyResolver.bind(this))}}class ur{applyResolver(e){e.hooks.beforeResolve.tap("applicability",((e,t)=>{let r=e;if((null==e?void 0:e.type)===dt.Applicability){if(!t.evaluate(e.expression))return null;r=e.value}return r}))}applyParser(e){e.hooks.determineNodeType.tap("applicability",(e=>{if(Object.prototype.hasOwnProperty.call(e,"applicability"))return dt.Applicability})),e.hooks.parseNode.tap("applicability",((t,r,n,o)=>{if(o===dt.Applicability){const o=e.parseObject(Object(p.omit)(t,"applicability"),r,n);if(null!==o){const r=e.createASTNode({type:dt.Applicability,expression:t.applicability,value:o},t);return(null==r?void 0:r.type)===dt.Applicability&&(r.value.parent=r),r}}}))}apply(e){e.hooks.resolver.tap("applicability",this.applyResolver.bind(this)),e.hooks.parser.tap("applicability",this.applyParser.bind(this))}}var cr=Object.getOwnPropertySymbols,fr=Object.prototype.hasOwnProperty,hr=Object.prototype.propertyIsEnumerable;class pr{constructor(e){this.options=e}resolveSwitch(e,t){for(const r of e.cases){if(t.evaluate(r.case))return r.value}return Lt}applyParser(e){e.hooks.onCreateASTNode.tap("switch",(e=>e&&e.type===dt.Switch&&!e.dynamic?this.resolveSwitch(e,this.options):e)),e.hooks.determineNodeType.tap("switch",(e=>{if(Object.prototype.hasOwnProperty.call(e,"dynamicSwitch")||Object.prototype.hasOwnProperty.call(e,"staticSwitch"))return dt.Switch})),e.hooks.parseNode.tap("switch",((t,r,n,o)=>{if(o===dt.Switch){const r="dynamicSwitch"in t,o="dynamicSwitch"in t?t.dynamicSwitch:t.staticSwitch,i=[];o.forEach((t=>{const r=t,{case:o}=r,a=((e,t)=>{var r={};for(var n in e)fr.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&cr)for(var n of cr(e))t.indexOf(n)<0&&hr.call(e,n)&&(r[n]=e[n]);return r})(r,["case"]),s=e.parseObject(a,dt.Value,n);s&&i.push({case:o,value:s})}));const a=e.hooks.onCreateASTNode.call({type:dt.Switch,dynamic:r,cases:i},t);return(null==a?void 0:a.type)===dt.Switch&&a.cases.forEach((e=>{e.value.parent=a})),(null==a?void 0:a.type)===dt.Empty?null:null!=a?a:null}}))}applyResolver(e){e.hooks.beforeResolve.tap("switch",((e,t)=>e&&e.type===dt.Switch&&e.dynamic?this.resolveSwitch(e,t):e))}apply(e){e.hooks.parser.tap("switch",this.applyParser.bind(this)),e.hooks.resolver.tap("switch",this.applyResolver.bind(this))}}var dr=Object.defineProperty,gr=Object.defineProperties,yr=Object.getOwnPropertyDescriptors,vr=Object.getOwnPropertySymbols,mr=Object.prototype.hasOwnProperty,br=Object.prototype.propertyIsEnumerable,wr=(e,t,r)=>t in e?dr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Er=(e,t)=>{for(var r in t||(t={}))mr.call(t,r)&&wr(e,r,t[r]);if(vr)for(var r of vr(t))br.call(t,r)&&wr(e,r,t[r]);return e};class Sr{constructor(e,t,r){this.allValidations=new Set,this.byBinding=new Map,this.logger=r,this.parse(e,t)}parse(e,t){var r;const n=e.validation;void 0!==n&&(Array.isArray(n)?n.forEach((e=>{var r;const n=Er({trigger:"navigation",severity:"error"},e);this.allValidations.add(n);const{ref:o}=e;if(o){const e=t(o);this.byBinding.has(e)?null==(r=this.byBinding.get(e))||r.push(n):this.byBinding.set(e,[n])}})):null==(r=this.logger)||r.warn(`Unable to register view validations for id: ${e.id}. 'validation' property must be an Array.`))}getValidationsForBinding(e){return this.byBinding.get(e)}}class Or{constructor(e,t){this.hooks={onUpdate:new n.b,parser:new n.b,resolver:new n.b,templatePlugin:new n.b},this.initialView=e,this.resolverOptions=t;const r=Ht(t);new pr(r).apply(this),(new ur).apply(this),(new lr).apply(this),this.templatePlugin=new tr(r),this.templatePlugin.apply(this)}update(e){var t,r,n;if(void 0===this.rootNode){this.validationProvider=new Sr(this.initialView,this.resolverOptions.parseBinding,this.resolverOptions.logger),this.hooks.templatePlugin.call(this.templatePlugin);const e=new Bt;this.hooks.parser.call(e),this.rootNode=e.parseView(this.initialView),this.resolver=new er(this.rootNode,(r=Er({},this.resolverOptions),n={parseNode:e.parseObject.bind(e)},gr(r,yr(n)))),this.hooks.resolver.call(this.resolver)}const o=null==(t=this.resolver)?void 0:t.update(e);return this.lastUpdate===o?this.lastUpdate:(this.lastUpdate=o,this.hooks.onUpdate.call(o),o)}getValidationsForBinding(e){var t;return null==(t=this.validationProvider)?void 0:t.getValidationsForBinding(e)}}var xr=Object.defineProperty,Ar=Object.getOwnPropertySymbols,Pr=Object.prototype.hasOwnProperty,Rr=Object.prototype.propertyIsEnumerable,_r=(e,t,r)=>t in e?xr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,kr=(e,t,r)=>new Promise(((n,o)=>{var i=e=>{try{s(r.next(e))}catch(t){o(t)}},a=e=>{try{s(r.throw(e))}catch(t){o(t)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(i,a);s((r=r.apply(e,t)).next())}));class Tr{constructor(e,t,r){this.hooks={beforeStart:new n.a,onStart:new n.b,onEnd:new n.b,skipTransition:new n.a,beforeTransition:new n.c,resolveTransitionNode:new n.c,transition:new n.b},this.id=e,this.flow=t,this.log=null==r?void 0:r.logger,this.history=[],this.hooks.transition.tap("startPromise",((e,t)=>kr(this,null,(function*(){const e=t.value;this.flowPromise&&"END"===e.state_type&&this.flowPromise.resolve(e)}))))}start(){return kr(this,null,(function*(){var e;if(this.flowPromise)return null==(e=this.log)||e.warn("Already called start for flow"),this.flowPromise.promise;this.flow=this.hooks.beforeStart.call(this.flow)||this.flow,this.flow.onStart&&this.hooks.onStart.call(this.flow.onStart);const t=this.flow.startState;return t?(this.flowPromise=y()(),this.pushHistory(t),this.flowPromise.promise):Promise.reject(new Error("No 'startState' defined for flow"))}))}transition(e,t){var r,n,o,i,a,s;if("END"===(null==(r=this.currentState)?void 0:r.value.state_type))return void(null==(n=this.log)||n.warn(`Skipping transition using ${e}. Already at and END state`));if(void 0===this.currentState)throw new Error("Cannot transition when there's no current state");if(null==t?void 0:t.force)null==(o=this.log)||o.debug("Forced transition. Skipping validation checks");else{if(this.hooks.skipTransition.call(this.currentState))return void(null==(i=this.log)||i.debug(`Skipping transition from ${this.currentState} b/c hook told us to`))}const l=this.hooks.beforeTransition.call(this.currentState.value,e);if(!("transitions"in l))throw new Error(`No transitions defined for ${this.currentState.value}`);const{transitions:u}=l,c=u[e]||u["*"];if(void 0!==c)return null==(s=this.log)||s.debug(`Transitioning from ${this.currentState.name} to ${c} using ${e} `),this.pushHistory(c,t);null==(a=this.log)||a.warn(`No transition from ${this.currentState.name} using ${e} or *`)}pushHistory(e,t){var r;if(!Object.prototype.hasOwnProperty.call(this.flow,e))throw new Error(`No flow definition for: ${e} was found.`);let n=this.flow[e];if(!this.flow[e]||"object"!==typeof n||!("state_type"in n))return void(null==(r=this.log)||r.error(`Flow doesn't contain any states named: ${e}`));const o=this.currentState;n=this.hooks.resolveTransitionNode.call(n);const i={name:e,value:n};this.currentState=i,this.history.push(e),"END"===i.value.state_type&&this.flow.onEnd&&this.hooks.onEnd.call(this.flow.onEnd),this.hooks.transition.call(o,((e,t)=>{for(var r in t||(t={}))Pr.call(t,r)&&_r(e,r,t[r]);if(Ar)for(var r of Ar(t))Rr.call(t,r)&&_r(e,r,t[r]);return e})({},i))}}var Cr=(e,t,r)=>new Promise(((n,o)=>{var i=e=>{try{s(r.next(e))}catch(t){o(t)}},a=e=>{try{s(r.throw(e))}catch(t){o(t)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(i,a);s((r=r.apply(e,t)).next())}));class jr{constructor(e,t){this.hooks={flow:new n.b},this.navigation=e,this.navStack=[],this.log=null==t?void 0:t.logger,this.start=this.start.bind(this),this.run=this.run.bind(this),this.transition=this.transition.bind(this)}transition(e,t){if(void 0===this.current)throw new Error("Not currently in a flow. Cannot transition.");this.current.transition(e,t)}addNewFlow(e){return Cr(this,null,(function*(){this.navStack.push(e),this.current=e,e.hooks.transition.tap("flow-controller",((t,r)=>Cr(this,null,(function*(){var t,n;if("FLOW"===r.value.state_type){null==(t=this.log)||t.debug(`Got FLOW state. Loading flow ${r.value.ref}`);const o=yield this.run(r.value.ref);null==(n=this.log)||n.debug(`Flow ended. Using outcome: ${o.outcome}`),e.transition(o.outcome)}})))),this.hooks.flow.call(e)}))}run(e){return Cr(this,null,(function*(){var t;if(!Object.prototype.hasOwnProperty.call(this.navigation,e))return Promise.reject(new Error(`No flow defined for: ${e}`));const r=this.navigation[e];if(null===r||"object"!==typeof r)return Promise.reject(new Error(`Flow: ${e} needs to be an object`));null==(t=this.log)||t.debug(`Starting flow: ${e}`);const n=new Tr(e,r,{logger:this.log});this.addNewFlow(n);const o=yield n.start();if(this.navStack.pop(),this.navStack.length>0){const e=0;this.current=this.navStack[e]}return o}))}start(){return Cr(this,null,(function*(){return this.navigation.BEGIN?this.run(this.navigation.BEGIN):Promise.reject(new Error("Must supply a BEGIN state"))}))}}const Ur=/%([a-zA-Z]+)/g;var Lr=Object.defineProperty,Br=Object.defineProperties,Nr=Object.getOwnPropertyDescriptors,Ir=Object.getOwnPropertySymbols,Dr=Object.prototype.hasOwnProperty,Mr=Object.prototype.propertyIsEnumerable,Vr=(e,t,r)=>t in e?Lr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Fr=(e,t)=>{for(var r in t||(t={}))Dr.call(t,r)&&Vr(e,r,t[r]);if(Ir)for(var r of Ir(t))Mr.call(t,r)&&Vr(e,r,t[r]);return e},zr=(e,t)=>Br(e,Nr(t));const $r="validation-binding-tracker";class Hr{constructor(e){this.trackedBindings=new Set,this.options=e}getBindings(){return this.trackedBindings}applyResolver(e){this.trackedBindings.clear();const t=new Map,r=new Map,n=new Set;let o;const i=new Map;let a=new Map,s=new Map;const l=new Map;e.hooks.beforeUpdate.tap($r,(e=>{o=e})),e.hooks.skipResolve.tap($r,((e,t)=>{const r=a.get(t);if(!e||!o||!r)return e;return 0===new Set([...o].filter((e=>r.has(e)))).size})),e.hooks.resolveOptions.tap($r,((e,o)=>{if(void 0===e.validation)return e;t.delete(o);const i=e=>{var i,a,s,l;const u=z(e)?e:this.options.parseBinding(e);t.has(o)?null==(i=t.get(o))||i.add(u):t.set(o,new Set([u]));let{parent:c}=o;for(;c;){if(r.has(c)){null==(a=r.get(c))||a.add(o);break}c=c.parent}n.has(u)||(n.add(u),null==(l=null==(s=this.options.callbacks)?void 0:s.onAdd)||l.call(s,u))};return zr(Fr({},e),{validation:zr(Fr({},e.validation),{get:(t,r)=>{var n;(null==r?void 0:r.track)&&i(t);const o=null==(n=e.validation)?void 0:n._getValidationForBinding(t);if(void 0===(null==o?void 0:o.displayTarget)||"field"===(null==o?void 0:o.displayTarget))return o},getChildren:t=>{var r;const n=new Array;return null==(r=a.get(o))||r.forEach((r=>{var o;const i=null==(o=e.validation)?void 0:o._getValidationForBinding(r);i&&t===i.displayTarget&&n.push(i)})),n},getValidationsForSection:()=>{var t;const r=new Array;return null==(t=l.get(o))||t.forEach((t=>{var n;const o=null==(n=e.validation)?void 0:n._getValidationForBinding(t);o&&"section"===o.displayTarget&&r.push(o)})),r},register:e=>{"section"===(null==e?void 0:e.type)&&(r.has(o)||r.set(o,new Set))},track:i})})})),e.hooks.afterNodeUpdate.tap($r,((n,o,u)=>{var c,f,h;if(o&&function(e,t){var r;i.has(t)?null==(r=i.get(t))||r.add(e):i.set(t,new Set([e]))}(n,o),u.updated){const e=new Set(t.get(n));null==(c=i.get(n))||c.forEach((t=>{var r;null==(r=s.get(t))||r.forEach((t=>e.add(t)))})),s.set(n,e)}else s.set(n,null!=(f=a.get(n))?f:new Set);n===e.root&&(this.trackedBindings=null!=(h=s.get(n))?h:new Set,a=s,l.clear(),r.forEach(((e,r)=>{const n=new Set;e.forEach((e=>{var r;null==(r=t.get(e))||r.forEach(n.add,n)})),l.set(r,n)})),i.clear(),t.clear(),r.clear(),s=new Map)}))}apply(e){e.hooks.resolver.tap($r,this.applyResolver.bind(this))}}var Wr=Object.defineProperty,Yr=Object.defineProperties,qr=Object.getOwnPropertyDescriptors,Zr=Object.getOwnPropertySymbols,Gr=Object.prototype.hasOwnProperty,Kr=Object.prototype.propertyIsEnumerable,Jr=(e,t,r)=>t in e?Wr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Qr=(e,t)=>{for(var r in t||(t={}))Gr.call(t,r)&&Jr(e,r,t[r]);if(Zr)for(var r of Zr(t))Kr.call(t,r)&&Jr(e,r,t[r]);return e},Xr=(e,t)=>Yr(e,qr(t));class en{constructor(e,t,r,n){this.applicableValidations=[],this.validationsByState={load:[],change:[],navigation:[]},this.onDismiss=t,e.forEach((e=>{const{trigger:t}=e;var n;this.validationsByState[t]?this.validationsByState[t].push({value:n=e,type:n.severity,state:"none"}):null==r||r.warn(`Unknown validation trigger: ${t}`)})),this.weakBindings=null!=n?n:new Set}get(){const e=this.applicableValidations.find((e=>{const t="navigation"!==this.currentPhase||e.value.blocking;return"active"===e.state&&!1!==t}));if("active"===(null==e?void 0:e.state))return e.response}runApplicableValidations(e,t){this.applicableValidations=this.applicableValidations.map((r=>{var n,o,i;if("dismissed"===r.state)return r;const a=null!=(n=r.value.blocking)?n:"warning"===r.value.severity?"once":"error"===r.value.severity&&!0,s=t&&"once"===a;if("navigation"===this.currentPhase&&"active"===r.state&&s){if("warning"===r.value.severity){const e=r;return e.dismissable&&e.response.dismiss?e.response.dismiss():e.dismissable=!0,r}if("error"===r.value.severity){return r.state="none",r}}const l=e(r.value),u={type:r.type,value:r.value,state:l?"active":"none",dismissable:"warning"===r.value.severity&&"navigation"===this.currentPhase,response:l?Xr(Qr({},r.value),{message:null!=(o=l.message)?o:"Something is broken",severity:r.value.severity,displayTarget:null!=(i=r.value.displayTarget)?i:"field"}):void 0};return"active"===u.state&&"warning"===r.value.severity&&(u.response.dismiss=()=>{var e;u.state="dismissed",null==(e=this.onDismiss)||e.call(this)}),u}))}update(e,t,r){"load"===e&&void 0!==this.currentPhase||("navigation"!==this.currentPhase&&e!==this.currentPhase?("load"===e?(this.currentPhase="load",this.applicableValidations=[...this.validationsByState.load]):"change"===e&&"load"===this.currentPhase?(this.currentPhase="change",this.applicableValidations=[...this.applicableValidations,...this.validationsByState.change]):"navigation"!==e||"load"!==this.currentPhase&&"change"!==this.currentPhase||(this.applicableValidations=[...this.applicableValidations,..."load"===this.currentPhase?this.validationsByState.change:[],...this.validationsByState.navigation],this.currentPhase="navigation"),this.runApplicableValidations(r,t)):this.runApplicableValidations(r,t))}}class tn{constructor(e,t){this.hooks={createValidatorRegistry:new n.b,onAddValidation:new n.c,onRemoveValidation:new n.c},this.validations=new Map,this.weakBindingTracker=new Set,this.lastActiveBindings=new Set,this.schema=e,this.options=t,this.providers=[e]}setOptions(e){this.options=e}getDataMiddleware(){return[new Ot((e=>{var t;if(!this.options)return;this.updateValidationsForBinding(e,"change",this.options);const r=this.getValidationForBinding(e);if("error"===(null==(t=null==r?void 0:r.get())?void 0:t.severity))return r.get();const n=new Set;return this.validations.forEach(((t,r)=>{var o;$t(new Set([e]),t.weakBindings)&&"error"===(null==(o=null==t?void 0:t.get())?void 0:o.severity)&&(null==t||t.weakBindings.forEach((e=>{e===r?n.add({binding:e,isStrong:!0}):n.add({binding:e,isStrong:!1})})))})),n.size>0?n:void 0}),{logger:new Je((()=>{var e;return null==(e=this.options)?void 0:e.logger}))})]}onView(e){if(this.validations.clear(),!this.options)return;const t=new Hr(Xr(Qr({},this.options),{callbacks:{onAdd:t=>{if(!this.options)return;const r=this.options.model.get(t);r!==this.options.model.get(t,{ignoreDefaultValue:!0})&&this.options.model.set([[t,r]],{silent:!0}),this.updateValidationsForBinding(t,"load",this.options,(()=>{e.update(new Set([t]))}))}}}));this.tracker=t,this.providers=[this.schema,e],t.apply(e)}updateValidationsForBinding(e,t,r,n){var o;if("load"===t){const t=this.providers.reduce(((t,r)=>{var n,o;return[...t,...null!=(o=null==(n=r.getValidationsForBinding)?void 0:n.call(r,e))?o:[]]}),[]);if(0===t.length)return;this.validations.set(e,new en(t,n,null==(o=this.options)?void 0:o.logger))}const i=this.validations.get(e);null==i||i.update(t,!0,(t=>{const n=this.validationRunner(t,r,e);if(this.weakBindingTracker.size>0){const t=this.validations.get(e);this.weakBindingTracker.forEach((e=>t.weakBindings.add(e)))}return n?{message:n.message}:void 0})),"load"!==t&&this.validations.forEach(((n,o)=>{o!==e&&$t(new Set([e]),n.weakBindings)&&n.update(t,!0,(e=>{const t=this.validationRunner(e,r,o);return t?{message:t.message}:void 0}))}))}validationRunner(e,t,r){const n=this.getValidator(e.type),o=new Set,i={get:(e,n={includeInvalid:!0})=>(o.add(z(e)?r:t.parseBinding(e)),t.model.get(e,n)),set:t.model.set},a=null==n?void 0:n(Xr(Qr({},t),{evaluate:(e,r={model:i})=>t.evaluate(e,r),model:i,validation:e}),t.model.get(r,{includeInvalid:!0,formatted:"formatted"===e.dataTarget}),e);if(this.weakBindingTracker=o,a){let{message:r}=a;const{parameters:n}=a;return e.message&&(r=pt(e.message,{model:i,evaluate:t.evaluate}),n&&(r=function(e,t){return e.slice().replace(Ur,(e=>t[e.slice(1)]||e))}(r,n))),{message:r}}}updateValidationsForView(e){const{activeBindings:t}=this,r="navigation"!==e||this.setCompare(this.lastActiveBindings,t);this.getBindings().forEach((t=>{var n;null==(n=this.validations.get(t))||n.update(e,r,(e=>{if(this.options)return this.validationRunner(e,this.options,t)}))})),"navigation"===e&&(this.lastActiveBindings=t)}setCompare(e,t){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}get activeBindings(){return new Set(Array.from(this.getBindings()).filter((e=>{var t;return void 0!==(null==(t=this.validations.get(e))?void 0:t.get())})))}getValidator(e){if(this.validatorRegistry)return this.validatorRegistry.get(e);const t=new xt;return this.hooks.createValidatorRegistry.call(t),this.validatorRegistry=t,t.get(e)}getBindings(){var e,t;return null!=(t=null==(e=this.tracker)?void 0:e.getBindings())?t:new Set}validateView(e="navigation"){this.updateValidationsForView(e);const t=new Map;return this.getBindings().forEach((e=>{var r,n;const o=null==(r=this.getValidationForBinding(e))?void 0:r.get();o&&(null==(n=this.options)||n.logger.debug(`Validation on binding: ${e.asString()} is preventing navigation. ${JSON.stringify(o)}`),t.set(e,o))})),{canTransition:0===t.size,validations:t.size?t:void 0}}getValidationForBinding(e){return this.validations.get(e)}forView(e){return{_getValidationForBinding:t=>{var r;return null==(r=this.getValidationForBinding(z(t)?t:e(t)))?void 0:r.get()},getAll:()=>{const e=this.getBindings();if(0===e.size)return;const t=new Map;return e.forEach((e=>{var r;const n=null==(r=this.getValidationForBinding(e))?void 0:r.get();n&&t.set(e,n)})),0===t.size?void 0:t},get(){throw new Error("Error Access be provided by the view plugin")},getChildren(){throw new Error("Error rollup should be provided by the view plugin")},getValidationsForSection(){throw new Error("Error rollup should be provided by the view plugin")},track:()=>{throw new Error("Tracking should be provided by the view plugin")},register:()=>{throw new Error("Section funcationality hould be provided by the view plugin")},type:t=>this.schema.getType(z(t)?t:e(t))}}}class rn{constructor(e){this.updateCallback=e,this.state=new Map}removeKey(e){this.state.delete(e)}reset(){this.state.clear()}useSharedState(e){return t=>(this.state.has(e)||this.state.set(e,t),[this.state.get(e),t=>{var r;const n=this.state.get(e);this.state.set(e,t),n!==t&&(null==(r=this.updateCallback)||r.call(this))}])}getLocalStateFunction(e,t){return r=>{this.state.has(e)||this.state.set(e,[]),this.state.has(t)||this.state.set(t,0);const n=this.state.get(e),o=this.state.get(t);this.state.set(t,o+1),n.length<=o&&n.push(r);return[n[o],e=>{var t;const r=n[o];n[o]=e,r!==e&&(null==(t=this.updateCallback)||t.call(this))}]}}}function nn(e,t){return e===t||!!e.parent&&nn(e.parent,t)}class on{constructor(e){this.registry=e,this.stateStore=new Map,this.beforeResolveSymbol=Symbol("before resolve"),this.resolveSymbol=Symbol("resolve"),this.beforeResolveCountSymbol=Symbol("before resolve count"),this.resolveCountSymbol=Symbol("resolve count")}apply(e){e.hooks.view.tap("asset-transform",(e=>{this.stateStore.clear(),e.hooks.resolver.tap("asset-transform",(t=>{let r;const n=(t,n)=>{let o;const i=n===this.resolveSymbol?this.resolveCountSymbol:this.beforeResolveCountSymbol,a=this.stateStore.get(t);return a?(o=a,o.removeKey(i)):(o=new rn((()=>{(t=>{r=t,e.update(new Set)})(t)})),this.stateStore.set(t,o)),{useSharedState:e=>o.useSharedState(e),useLocalState:e=>o.getLocalStateFunction(n,i)(e)}};t.hooks.beforeResolve.tap("asset-transform",((e,t)=>{if(e&&("asset"===e.type||"view"===e.type)){const r=this.registry.get(e.value);if(null==r?void 0:r.beforeResolve){const o=n(e,this.beforeResolveSymbol);return r.beforeResolve(e,t,o)}}return e})),t.hooks.afterUpdate.tap("asset-transform",(()=>{r=void 0})),t.hooks.skipResolve.tap("asset-transform",((e,t)=>{if(!e||!r)return e;const n=nn(r,t),o=nn(t,r);return!n&&!o})),t.hooks.afterResolve.tap("asset-transform",((e,r,o)=>{if(r.type!==dt.Asset&&r.type!==dt.View)return e;const i=t.getSourceNode(r);if(!i)return e;const a=this.registry.get(e);if(null==a?void 0:a.resolve){const t=n(i,this.resolveSymbol);return null==a?void 0:a.resolve(e,o,t)}return e}))}))}))}}var an=Object.defineProperty,sn=Object.defineProperties,ln=Object.getOwnPropertyDescriptors,un=Object.getOwnPropertySymbols,cn=Object.prototype.hasOwnProperty,fn=Object.prototype.propertyIsEnumerable,hn=(e,t,r)=>t in e?an(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class pn{constructor(e,t){this.hooks={resolveView:new n.c,view:new n.b},this.transformRegistry=new b.a,this.optimizeUpdates=!0,this.viewOptions=t,this.viewMap=e.reduce(((e,t)=>{return r=((e,t)=>{for(var r in t||(t={}))cn.call(t,r)&&hn(e,r,t[r]);if(un)for(var r of un(t))fn.call(t,r)&&hn(e,r,t[r]);return e})({},e),n={[t.id]:t},sn(r,ln(n));var r,n}),{}),new on(this.transformRegistry).apply(this),t.flowController.hooks.flow.tap("viewController",(e=>{e.hooks.transition.tap("viewController",((e,t)=>{"VIEW"===t.value.state_type?this.onView(t.value):this.currentView=void 0}))})),t.model.hooks.onUpdate.tap("viewController",(e=>{this.currentView&&(this.optimizeUpdates?this.queueUpdate(new Set(e.map((e=>e.binding)))):this.currentView.update())}))}queueUpdate(e){var t;(null==(t=this.pendingUpdate)?void 0:t.changedBindings)?this.pendingUpdate.changedBindings=new Set([...this.pendingUpdate.changedBindings,...e]):(this.pendingUpdate={changedBindings:e},m()((()=>{var e,t;const r=null==(e=this.pendingUpdate)?void 0:e.changedBindings;this.pendingUpdate=void 0,null==(t=this.currentView)||t.update(r)})))}getViewForRef(e){if(this.viewMap[e])return this.viewMap[e];const t=Object.keys(this.viewMap).find((t=>e===ft(t,{model:this.viewOptions.model,evaluate:this.viewOptions.evaluator.evaluate})));return t&&this.viewMap[t]?this.viewMap[t]:void 0}onView(e){const t=e.ref,r=this.hooks.resolveView.call(this.getViewForRef(t),t,e);if(!r)throw new Error(`No view with id ${t}`);const n=new Or(r,this.viewOptions);this.currentView=n,this.hooks.view.call(n),n.update()}}class dn{constructor(e,t){this.hooks={resolve:new n.c,resolveDataStages:new n.c,resolveDefaultValue:new n.a,onDelete:new n.b,onSet:new n.b,onGet:new n.b,onUpdate:new n.b,format:new n.c,deformat:new n.c,serialize:new n.c},this.logger=t.logger;const r=t.middleware||[];this.baseMiddleware=[new pe(e),...r],this.trash=new Set,this.pathResolver=t.pathResolver}getModel(){if(!this.model){const e=this.hooks.resolveDataStages.call(this.baseMiddleware),t=new he;t.setMiddleware(e),this.model=t}return this.model}resolveDataValue(e,t,r){return r?this.hooks.deformat.call(t,e):t}set(e,t){let r=[];r=Array.isArray(e)?e.map((([e,r])=>{const n=this.pathResolver.parse(e);return[n,this.resolveDataValue(n,r,Boolean(null==t?void 0:t.formatted))]})):Object.keys(e).map((r=>{const n=this.pathResolver.parse(r),o=e[r];return[n,this.resolveDataValue(n,o,Boolean(null==t?void 0:t.formatted))]}));const n=r.reduce(((e,[t,r])=>{var n;const o=this.get(t,{includeInvalid:!0});return Object(d.a)(o,r)||e.push({binding:t,newValue:r,oldValue:o}),null==(n=this.logger)||n.debug(`Setting path: ${t.asString()} from: ${o} to: ${r}`),e}),[]),o=this.getModel().set(r,t),i=new Set(n.map((e=>e.binding)));return o.forEach((e=>{var t;i.has(e.binding)||!0!==e.force&&Object(d.a)(e.oldValue,e.newValue)||(null==(t=this.logger)||t.debug(`Path: ${e.binding.asString()} was changed from: ${e.oldValue} to: ${e.newValue}`),n.push(e))})),this.hooks.onSet.call(r),this.hooks.onSet.call(r),n.length>0&&this.hooks.onUpdate.call(n,t),o}resolve(e){return Array.isArray(e)||"string"===typeof e?this.pathResolver.parse(e):e}get(e,t){const r=e instanceof $?e:this.resolve(e);let n=this.getModel().get(r,t);if(void 0===n&&!(null==t?void 0:t.ignoreDefaultValue)){const e=this.hooks.resolveDefaultValue.call(r);e!==n&&(n=e)}return(null==t?void 0:t.formatted)&&(n=this.hooks.format.call(n,r)),this.hooks.onGet.call(e,n),n}delete(e){if(void 0===e||null===e)throw new Error("Invalid arguments: delete expects a data path (string)");const t=this.resolve(e);this.hooks.onDelete.call(t),this.deleteData(t)}getTrash(){return this.trash}addToTrash(e){this.trash.add(e)}deleteData(e){const t=e.parent(),r=t.asString(),n=e.key(),o=Object.prototype.hasOwnProperty.call(this.get(t),n);if(void 0!==n){const e=t?this.get(t):void 0;r&&Array.isArray(e)?e.length>n&&this.set([[t,Object(p.removeAt)(e,n)]]):r&&e[n]?this.set([[t,Object(p.omit)(e,n)]]):r||this.getModel().reset(Object(p.omit)(this.get(""),n))}o&&!this.get(e)&&this.addToTrash(e)}serialize(){return this.hooks.serialize.call(this.get(""))}}var gn=Object.defineProperty,yn=Object.getOwnPropertySymbols,vn=Object.prototype.hasOwnProperty,mn=Object.prototype.propertyIsEnumerable,bn=(e,t,r)=>t in e?gn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,wn=(e,t)=>{for(var r in t||(t={}))vn.call(t,r)&&bn(e,r,t[r]);if(yn)for(var r of yn(t))mn.call(t,r)&&bn(e,r,t[r]);return e};function En(e,t=[],r="."){return Object.keys(e).reduce(((n,o)=>wn(wn({},n),"[object Object]"===Object.prototype.toString.call(e[o])?En(e[o],t.concat([o])):{[t.concat([o]).join(r)]:e[o]})),{})}function Sn(e){const t=En(e),r=[];return Object.keys(t).forEach((e=>{r.push([new $(e),t[e]])})),r}class On{constructor(){this.store=new Map,this.tempStore=new Map}addConstants(e,t){var r;this.store.has(t)?null==(r=this.store.get(t))||r.set(Sn(e)):this.store.set(t,new pe(e))}getConstants(e,t,r){var n,o,i,a;const s=new $(e);return null!=(a=null!=(i=null==(n=this.tempStore.get(t))?void 0:n.get(s))?i:null==(o=this.store.get(t))?void 0:o.get(s))?a:r}setTemporaryValues(e,t){var r;this.tempStore.has(t)?null==(r=this.tempStore.get(t))||r.set(Sn(e)):this.tempStore.set(t,new pe(e))}clearTemporaryValues(){this.tempStore.forEach((e=>{e.reset()}))}}class xn{constructor(){this.name="flow-exp-plugin"}apply(e){let t;const r=e=>{e&&("object"===typeof e&&"exp"in e?null==t||t.evaluate(e.exp):null==t||t.evaluate(e))};e.hooks.expressionEvaluator.tap(this.name,(e=>{t=e})),e.hooks.flowController.tap(this.name,(e=>{e.hooks.flow.tap(this.name,(e=>{e.hooks.onStart.tap(this.name,(e=>r(e))),e.hooks.onEnd.tap(this.name,(e=>r(e))),e.hooks.resolveTransitionNode.intercept({call:e=>{(null==e?void 0:e.onStart)&&r(e.onStart)}})}))}))}}const An={ref:Symbol("not-started"),status:"not-started"};var Pn=Object.defineProperty,Rn=Object.defineProperties,_n=Object.getOwnPropertyDescriptors,kn=Object.getOwnPropertySymbols,Tn=Object.prototype.hasOwnProperty,Cn=Object.prototype.propertyIsEnumerable,jn=(e,t,r)=>t in e?Pn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Un=(e,t)=>{for(var r in t||(t={}))Tn.call(t,r)&&jn(e,r,t[r]);if(kn)for(var r of kn(t))Cn.call(t,r)&&jn(e,r,t[r]);return e};const Ln=class{constructor(e){var t;this.logger=new Ke,this.constantsController=new On,this.state=An,this.hooks={flowController:new n.b,viewController:new n.b,view:new n.b,expressionEvaluator:new n.b,dataController:new n.b,schema:new n.b,validationController:new n.b,bindingParser:new n.b,state:new n.b,onStart:new n.b,onEnd:new n.b,resolveFlowContent:new n.c};const r=[],o=new xn;r.push(o),(null==e?void 0:e.logger)&&this.logger.addHandler(e.logger),this.config=e||{},this.config.plugins=[...this.config.plugins||[],...r],null==(t=this.config.plugins)||t.forEach((e=>{e.apply(this)}))}getPlugins(){var e;return null!=(e=this.config.plugins)?e:[]}findPlugin(e){var t;return null==(t=this.config.plugins)?void 0:t.find((t=>t.symbol===e))}applyTo(e,t){const r=this.findPlugin(e);r&&t(r)}registerPlugin(e){var t;e.apply(this),null==(t=this.config.plugins)||t.push(e)}getVersion(){return Ln.info.version}getCommit(){return Ln.info.commit}getState(){return this.state}setState(e){this.state=e,this.hooks.state.call(e)}setupFlow(e){const t=this.hooks.resolveFlowContent.call(e),r=new jr(t.navigation,{logger:this.logger});let n,o;this.hooks.onStart.call(t),this.hooks.flowController.call(r);const i=new ie({get:e=>o.get(e),set:e=>o.set(e),evaluate:e=>n.evaluate(e)});this.hooks.bindingParser.call(i);const a=i.parse,s=y()(),l=new st(t.schema);this.hooks.schema.call(l);const u=new tn(l);let c;function f(e){return pt(e,{model:o,evaluate:n.evaluate})}var h,d;this.hooks.validationController.call(u),o=new dn(t.data,{pathResolver:i,middleware:u.getDataMiddleware(),logger:this.logger}),o.hooks.format.tap("player",((e,t)=>{const r=l.getFormatter(t);return r?r.format(e):e})),o.hooks.deformat.tap("player",((e,t)=>{const r=l.getFormatter(t);return r?r.deformat(e):e})),o.hooks.resolveDefaultValue.tap("player",(e=>{var t;return null==(t=l.getApparentType(e))?void 0:t.default})),n=new Ze({model:o,logger:this.logger}),this.hooks.expressionEvaluator.call(n),n.hooks.onError.tap("player",(e=>(s.reject(e),!0))),r.hooks.flow.tap("player",(e=>{e.hooks.beforeTransition.tap("player",((e,t)=>{const r=e.transitions[t]?t:"*";return e.onEnd&&e.transitions[r]&&("object"===typeof e.onEnd&&"exp"in e.onEnd?null==n||n.evaluate(e.onEnd.exp):null==n||n.evaluate(e.onEnd)),"transitions"in e&&e.transitions[r]?Object(p.setIn)(e,["transitions",r],f(e.transitions[r])):e})),e.hooks.skipTransition.tap("validation",(e=>{var t;if("VIEW"===(null==e?void 0:e.value.state_type)){const{canTransition:e,validations:r}=u.validateView("navigation");if(!e&&r){const e=new Set(r.keys());return null==(t=null==c?void 0:c.currentView)||t.update(e),!0}}})),e.hooks.resolveTransitionNode.tap("player",(e=>{let t=e;return"ref"in e&&(t=Object(p.setIn)(e,["ref"],f(e.ref))),"param"in e&&(t=Object(p.setIn)(e,["param"],f(e.param))),t})),e.hooks.transition.tap("player",((e,t)=>{if("ACTION"===t.value.state_type){const{exp:e}=t.value;m()((()=>{try{null==r||r.transition(String(null==n?void 0:n.evaluate(e)))}catch(t){const e=this.getState();t instanceof Error&&"in-progress"===e.status&&e.fail(t)}}))}n.reset()}))})),this.hooks.dataController.call(o),u.setOptions({parseBinding:a,model:o,logger:this.logger,evaluate:n.evaluate,constants:this.constantsController}),c=new pn(t.views||[],{evaluator:n,parseBinding:a,transition:r.transition,model:o,logger:this.logger,flowController:r,schema:l,format:(e,t)=>{const r=l.getFormatter(e);return(null==r?void 0:r.format)?r.format(t):t},formatValue:(e,t)=>{const r=l.getFormatterForType(e);return(null==r?void 0:r.format)?r.format(t):t},validation:(h=Un({},u.forView(a)),d={type:e=>l.getType(a(e))},Rn(h,_n(d)))}),c.hooks.view.tap("player",(e=>{u.onView(e),this.hooks.view.call(e)})),this.hooks.viewController.call(c);return n.addExpressionFunction("format",((e,t,r)=>{var n,o;return null!=(o=null==(n=l.getFormatterForType({type:r}))?void 0:n.format(t))?o:t})),{start:()=>{r.start().then((e=>({endState:f(e),data:o.serialize()}))).then(s.resolve).catch((e=>{throw this.logger.error(`Something went wrong: ${e.message}`),e})).catch(s.reject).finally((()=>this.hooks.onEnd.call()))},state:{status:"in-progress",flowResult:s.promise,controllers:{data:o,view:c,flow:r,schema:l,expression:n,binding:i,validation:u},fail:s.reject,flow:t,logger:this.logger}}}start(e){return t=this,r=null,n=function*(){var t;const r=Symbol(null!=(t=null==e?void 0:e.id)?t:"payload"),n=e=>this.state.ref!==r?(this.logger.warn("Received update for a flow that's not the current one"),e):(this.setState(e),e);this.setState({status:"not-started",ref:r});try{const{state:t,start:o}=this.setupFlow(e);this.setState(Un({ref:r},t)),o();const i={ref:r,status:"completed",flow:t.flow,dataModel:t.controllers.data.getModel()};return n(Un(Un({},yield t.flowResult),i))}catch(o){throw n({status:"error",ref:r,flow:e,error:o}),o}},new Promise(((e,o)=>{var i=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(i,a);s((n=n.apply(t,r)).next())}));var t,r,n}};Ln.info={version:"0.4.0-next.4",commit:"e03645f7ab5fbdfab274edcc92542752712afe01"}},function(e,t,r){e.exports=function(e,t,r,n,o){for(t=t.split?t.split("."):t,n=0;n<t.length;n++)e=e?e[t[n]]:o;return e===o?r:e}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Parser=exports.findRuleByName=exports.parseRuleName=exports.escapeRegExp=exports.readToken=void 0;const UPPER_SNAKE_RE=/^[A-Z0-9_]+$/,decorationRE=/(\?|\+|\*)$/,preDecorationRE=/^(@|&|!)/,WS_RULE="WS",TokenError_1=__webpack_require__(8);function readToken(e,t){let r=t.exec(e);return r&&0==r.index?0==r[0].length&&t.source.length>0?null:{type:null,text:r[0],rest:e.substr(r[0].length),start:0,end:r[0].length-1,fullText:r[0],errors:[],children:[],parent:null}:null}function escapeRegExp(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}function fixRest(e){e.rest="",e.children&&e.children.forEach((e=>fixRest(e)))}function fixPositions(e,t){e.start+=t,e.end+=t,e.children&&e.children.forEach((t=>fixPositions(t,e.start)))}function agregateErrors(e,t){t.errors&&t.errors.length&&t.errors.forEach((t=>e.push(t))),t.children&&t.children.forEach((t=>agregateErrors(e,t)))}function parseRuleName(e){let t=decorationRE.exec(e),r=preDecorationRE.exec(e),n=t&&t[0]||"",o=r&&r[0]||"",i={raw:e,name:e.replace(decorationRE,"").replace(preDecorationRE,""),isOptional:"?"==n||"*"==n,allowRepetition:"+"==n||"*"==n,atLeastOne:"+"==n,lookupPositive:"&"==o,lookupNegative:"!"==o,pinned:"@"==o,lookup:!1,isLiteral:!1};return i.isLiteral="'"==i.name[0]||'"'==i.name[0],i.lookup=i.lookupNegative||i.lookupPositive,i}function findRuleByName(e,t){let r=parseRuleName(e);return t.cachedRules[r.name]||null}function stripRules(e,t){if(e.children){let r=e.children.filter((e=>e.type&&t.test(e.type)));for(let t=0;t<r.length;t++){let n=e.children.indexOf(r[t]);-1!=n&&e.children.splice(n,1)}e.children.forEach((e=>stripRules(e,t)))}}exports.readToken=readToken,exports.escapeRegExp=escapeRegExp,exports.parseRuleName=parseRuleName,exports.findRuleByName=findRuleByName;const ignoreMissingRules=["EOF"];class Parser{constructor(e,t){this.grammarRules=e,this.options=t,this.cachedRules={},this.debug=!!t&&!0===t.debug;let r=[],n=[];if(e.forEach((e=>{let t=parseRuleName(e.name);if(t.name in this.cachedRules)r.push("Duplicated rule "+t.name);else{if(this.cachedRules[t.name]=e,e.bnf&&e.bnf.length)e.bnf.forEach((t=>{if("string"===typeof t[0]){if(parseRuleName(t[0]).name==e.name){let t="Left recursion is not allowed, rule: "+e.name;-1==r.indexOf(t)&&r.push(t)}}t.forEach((e=>{if("string"==typeof e){let t=parseRuleName(e);t.isLiteral||-1!=n.indexOf(t.name)||-1!=ignoreMissingRules.indexOf(t.name)||n.push(t.name)}}))}));else{let t="Missing rule content, rule: "+e.name;-1==r.indexOf(t)&&r.push(t)}WS_RULE==e.name&&(e.implicitWs=!1),e.implicitWs&&-1==n.indexOf(WS_RULE)&&n.push(WS_RULE),e.recover&&-1==n.indexOf(e.recover)&&n.push(e.recover)}})),n.forEach((e=>{e in this.cachedRules||r.push("Missing rule "+e)})),r.length)throw new Error(r.join("\n"))}getAST(e,t){t||(t=this.grammarRules.filter((e=>!e.fragment&&0!=e.name.indexOf("%")))[0].name);let r=this.parse(e,t);if(r){agregateErrors(r.errors,r),fixPositions(r,0),stripRules(r,/^%/),this.options&&this.options.keepUpperRules||stripRules(r,UPPER_SNAKE_RE);let e=r.rest;e&&new TokenError_1.TokenError("Unexpected end of input: \n"+e,r),fixRest(r),r.rest=e}return r}emitSource(){return"CANNOT EMIT SOURCE FROM BASE Parser"}parse(txt,target,recursion=0){let out=null,type=parseRuleName(target),expr,printable=this.debug&&!UPPER_SNAKE_RE.test(type.name);printable&&console.log(new Array(recursion).join("\u2502 ")+"Trying to get "+target+" from "+JSON.stringify(txt.split("\n")[0]));let realType=type.name,targetLex=findRuleByName(type.name,this);if("EOF"==type.name){if(txt.length)return null;if(0==txt.length)return{type:"EOF",text:"",rest:"",start:0,end:0,fullText:"",errors:[],children:[],parent:null}}try{if(!targetLex&&type.isLiteral){let src=eval(type.name);if(""===src)return{type:"%%EMPTY%%",text:"",rest:txt,start:0,end:0,fullText:"",errors:[],children:[],parent:null};expr=new RegExp(escapeRegExp(src)),realType=null}}catch(e){return e instanceof ReferenceError&&console.error(e),null}if(expr){let e=readToken(txt,expr);if(e)return e.type=realType,e}else{let e=targetLex.bnf;e instanceof Array&&e.forEach((e=>{if(out)return;let t=null,r={type:type.name,text:"",children:[],end:0,errors:[],fullText:"",parent:null,start:0,rest:txt};targetLex.fragment&&(r.fragment=!0);let n=txt,o=0,i=e.length>0,a=!1;for(let s=0;s<e.length;s++)if("string"==typeof e[s]){let l,u=parseRuleName(e[s]);i=i&&u.isOptional;let c=!1;do{if(l=null,targetLex.implicitWs&&(l=this.parse(n,u.name,recursion+1),!l)){let e;do{if(e=this.parse(n,WS_RULE,recursion+1),!e)break;r.text=r.text+e.text,r.end=r.text.length,e.parent=r,r.children.push(e),n=n.substr(e.text.length),o+=e.text.length}while(e&&e.text.length)}if(l=l||this.parse(n,u.name,recursion+1),u.lookupNegative){if(l)return;break}if(u.lookupPositive&&!l)return;if(!l){if(u.isOptional)break;if(u.atLeastOne&&c)break}if(l&&targetLex.pinned==s+1&&(t=l,printable&&console.log(new Array(recursion+1).join("\u2502 ")+"\u2514\u2500 "+l.type+" PINNED")),l||(l=this.parseRecovery(targetLex,n,recursion+1)),!l){if(!t)return;out=r,l={type:"SyntaxError",text:n,children:[],end:n.length,errors:[],fullText:"",parent:null,start:0,rest:""},n.length?new TokenError_1.TokenError(`Unexpected end of input. Expecting ${u.name} Got: ${n}`,l):new TokenError_1.TokenError(`Unexpected end of input. Missing ${u.name}`,l),printable&&console.log(new Array(recursion+1).join("\u2502 ")+"\u2514\u2500 "+l.type+" "+JSON.stringify(l.text))}if(c=!0,a=!0,"%%EMPTY%%"==l.type)break;l.start+=o,l.end+=o,!u.lookupPositive&&l.type&&(l.fragment?l.children&&l.children.forEach((e=>{e.start+=o,e.end+=o,e.parent=r,r.children.push(e)})):(l.parent=r,r.children.push(l))),u.lookup&&(l.lookup=!0),printable&&console.log(new Array(recursion+1).join("\u2502 ")+"\u2514\u2500 "+l.type+" "+JSON.stringify(l.text)),u.lookup||l.lookup||(r.text=r.text+l.text,r.end=r.text.length,n=n.substr(l.text.length),o+=l.text.length),r.rest=n}while(l&&u.allowRepetition&&n.length&&!l.lookup)}else{let t=readToken(n,e[s]);if(!t)return;printable&&console.log(new Array(recursion+1).join("\u2502 ")+"\u2514> "+JSON.stringify(t.text)+e[s].source),a=!0,t.start+=o,t.end+=o,r.text=r.text+t.text,r.end=r.text.length,n=n.substr(t.text.length),o+=t.text.length,r.rest=n}a&&(out=r,printable&&console.log(new Array(recursion).join("\u2502 ")+"\u251c<\u2500\u2534< PUSHING "+out.type+" "+JSON.stringify(out.text)))})),out&&targetLex.simplifyWhenOneChildren&&1==out.children.length&&(out=out.children[0])}return out||printable&&console.log(target+" NOT RESOLVED FROM "+txt),out}parseRecovery(e,t,r){if(e.recover&&t.length){let n=this.debug;n&&console.log(new Array(r+1).join("\u2502 ")+"Trying to recover until token "+e.recover+" from "+JSON.stringify(t.split("\n")[0]+t.split("\n")[1]));let o,i={type:"SyntaxError",text:"",children:[],end:0,errors:[],fullText:"",parent:null,start:0,rest:""};do{if(o=this.parse(t,e.recover,r+1),o){new TokenError_1.TokenError('Unexpected input: "'+i.text+`" Expecting: ${e.name}`,i);break}i.text=i.text+t[0],i.end=i.text.length,t=t.substr(1)}while(!o&&t.length>0);if(i.text.length>0&&o)return n&&console.log(new Array(r+1).join("\u2502 ")+"Recovered text: "+JSON.stringify(i.text)),i}return null}}exports.Parser=Parser,exports.default=Parser},function(e,t,r){var n=function(e,t){this.nested=t,e instanceof Error?t=e:"undefined"!==typeof e&&Object.defineProperty(this,"message",{value:e,writable:!0,enumerable:!1,configurable:!0}),Error.captureStackTrace(this,this.constructor);var r=function(e,t){return e.get?{get:function(){return o(e.get.call(this),this.nested)}}:{value:o(e.value,t)}}(Object.getOwnPropertyDescriptor(this,"stack"),t);Object.defineProperty(this,"stack",r)};function o(e,t){return t&&(e+="\nCaused By: "+t.stack),e}(0,r(17).inherits)(n,Error),n.prototype.name="NestedError",e.exports=n},function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=Object.prototype.hasOwnProperty;function o(e,t,r){for(r of e.keys())if(i(r,t))return r}function i(e,t){var r,a,s;if(e===t)return!0;if(e&&t&&(r=e.constructor)===t.constructor){if(r===Date)return e.getTime()===t.getTime();if(r===RegExp)return e.toString()===t.toString();if(r===Array){if((a=e.length)===t.length)for(;a--&&i(e[a],t[a]););return-1===a}if(r===Set){if(e.size!==t.size)return!1;for(a of e){if((s=a)&&"object"===typeof s&&!(s=o(t,s)))return!1;if(!t.has(s))return!1}return!0}if(r===Map){if(e.size!==t.size)return!1;for(a of e){if((s=a[0])&&"object"===typeof s&&!(s=o(t,s)))return!1;if(!i(a[1],t.get(s)))return!1}return!0}if(r===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(r===DataView){if((a=e.byteLength)===t.byteLength)for(;a--&&e.getInt8(a)===t.getInt8(a););return-1===a}if(ArrayBuffer.isView(e)){if((a=e.byteLength)===t.byteLength)for(;a--&&e[a]===t[a];);return-1===a}if(!r||"object"===typeof e){for(r in a=0,e){if(n.call(e,r)&&++a&&!n.call(t,r))return!1;if(!(r in t)||!i(e[r],t[r]))return!1}return Object.keys(t).length===a}}return e!==e&&t!==t}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenError=void 0;class n extends Error{constructor(e,t){if(super(e),this.message=e,this.token=t,!t||!t.errors)throw this;t.errors.push(this)}inspect(){return"SyntaxError: "+this.message}}t.TokenError=n},function(e,t,r){"use strict";function n(e,t){for(var r,o=0,i=e.length;o<i;o++)r=e[o],Array.isArray(r)?n(r,t):t.push(r);return t}e.exports=function(e){return n(e,[])}},function(e,t,r){"use strict";e.exports=()=>{const e={};return e.promise=new Promise(((t,r)=>{e.resolve=t,e.reject=r})),e}},function(e,t,r){(function(t){let r;e.exports="function"===typeof queueMicrotask?queueMicrotask.bind("undefined"!==typeof window?window:t):e=>(r||(r=Promise.resolve())).then(e).catch((e=>setTimeout((()=>{throw e}),0)))}).call(this,r(12))},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(n){"object"===typeof window&&(r=window)}e.exports=r},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(5);Object.defineProperty(t,"Parser",{enumerable:!0,get:function(){return n.Parser}});var o=r(8);Object.defineProperty(t,"TokenError",{enumerable:!0,get:function(){return o.TokenError}}),t.Grammars=r(25)},function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(15),o=r.n(n),i=r(4),a=r.n(i);function s(e,t=[],r=new Map){for(const n of Object.keys(e)){const o=e[n],i=[...t,n];"object"===typeof o?s(o,i,r):r.set(i,o)}return r}function l(e){const t=s(e),r=e=>{for(const r of t){const[t,n]=r;if(a()(e,t)!==n)return!1}return!0};return r.count=t.size,r}const u=()=>new o.a([],(e=>e.matcher.count));class c{constructor(e){this.store=u(),null==e||e.forEach((([e,t])=>{this.set(e,t)}))}set(e,t){const r="object"===typeof e?l(e):function(e){const t=t=>e===t;return t.count=1,t}(e);this.store.insert({key:e,value:t,matcher:r})}get(e){for(const t of this.store.array)if(t.matcher(e))return t.value}forEach(e){for(const t of this.store.array)e(t)}clear(){this.store=u()}}},function(e,t,r){var n,o=function(){var e=function(e){var t=e.constructor;return t.prototype=e,t}({constructor:function(e,r){this.array=[],this.compare=r||t;for(var n=e.length,o=0;o<n;)this.insert(e[o++])},insert:function(e){for(var t,r,n=this.array,o=this.compare,i=n.length-1,a=0,s=-1;i>=a;)if((r=o(n[t=(i+a)/2>>>0],e))<0)a=t+1;else{if(!(r>0)){s=t;break}i=t-1}for(-1===s&&(s=i),s++,i=n.length-1;s<i&&0===o(e,n[s]);)s++;for(t=n.length,n.push(e);t>s;)n[t]=n[--t];return n[s]=e,this},search:function(e){for(var t,r,n=this.array,o=this.compare,i=n.length-1,a=0;i>=a;)if((r=o(n[t=(i+a)/2>>>0],e))<0)a=t+1;else{if(!(r>0))return t;i=t-1}return-1},remove:function(e){var t=this.search(e);return t>=0&&this.array.splice(t,1),this}});return e.comparing=function(r,n){return new e(n,(function(e,n){return t(e[r],n[r])}))},e;function t(e,t){return e<t?-1:e>t?1:0}}();e.exports=o,void 0===(n=function(){return o}.call(t,r,t,e))||(e.exports=n)},,function(e,t,r){(function(e){var n=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n<t.length;n++)r[t[n]]=Object.getOwnPropertyDescriptor(e,t[n]);return r},o=/%[sdj%]/g;t.format=function(e){if(!v(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(s(arguments[r]));return t.join(" ")}r=1;for(var n=arguments,i=n.length,a=String(e).replace(o,(function(e){if("%%"===e)return"%";if(r>=i)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return e}})),l=n[r];r<i;l=n[++r])g(l)||!w(l)?a+=" "+l:a+=" "+s(l);return a},t.deprecate=function(r,n){if("undefined"!==typeof e&&!0===e.noDeprecation)return r;if("undefined"===typeof e)return function(){return t.deprecate(r,n).apply(this,arguments)};var o=!1;return function(){if(!o){if(e.throwDeprecation)throw new Error(n);e.traceDeprecation?console.trace(n):console.error(n),o=!0}return r.apply(this,arguments)}};var i,a={};function s(e,r){var n={seen:[],stylize:u};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(r)?n.showHidden=r:r&&t._extend(n,r),m(n.showHidden)&&(n.showHidden=!1),m(n.depth)&&(n.depth=2),m(n.colors)&&(n.colors=!1),m(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),c(n,e,n.depth)}function l(e,t){var r=s.styles[t];return r?"\x1b["+s.colors[r][0]+"m"+e+"\x1b["+s.colors[r][1]+"m":e}function u(e,t){return e}function c(e,r,n){if(e.customInspect&&r&&O(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var o=r.inspect(n,e);return v(o)||(o=c(e,o,n)),o}var i=function(e,t){if(m(t))return e.stylize("undefined","undefined");if(v(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(y(t))return e.stylize(""+t,"number");if(d(t))return e.stylize(""+t,"boolean");if(g(t))return e.stylize("null","null")}(e,r);if(i)return i;var a=Object.keys(r),s=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(r)),S(r)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return f(r);if(0===a.length){if(O(r)){var l=r.name?": "+r.name:"";return e.stylize("[Function"+l+"]","special")}if(b(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(E(r))return e.stylize(Date.prototype.toString.call(r),"date");if(S(r))return f(r)}var u,w="",x=!1,A=["{","}"];(p(r)&&(x=!0,A=["[","]"]),O(r))&&(w=" [Function"+(r.name?": "+r.name:"")+"]");return b(r)&&(w=" "+RegExp.prototype.toString.call(r)),E(r)&&(w=" "+Date.prototype.toUTCString.call(r)),S(r)&&(w=" "+f(r)),0!==a.length||x&&0!=r.length?n<0?b(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),u=x?function(e,t,r,n,o){for(var i=[],a=0,s=t.length;a<s;++a)_(t,String(a))?i.push(h(e,t,r,n,String(a),!0)):i.push("");return o.forEach((function(o){o.match(/^\d+$/)||i.push(h(e,t,r,n,o,!0))})),i}(e,r,n,s,a):a.map((function(t){return h(e,r,n,s,t,x)})),e.seen.pop(),function(e,t,r){if(e.reduce((function(e,t){return t.indexOf("\n")>=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(u,w,A)):A[0]+w+A[1]}function f(e){return"["+Error.prototype.toString.call(e)+"]"}function h(e,t,r,n,o,i){var a,s,l;if((l=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?s=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(s=e.stylize("[Setter]","special")),_(n,o)||(a="["+o+"]"),s||(e.seen.indexOf(l.value)<0?(s=g(r)?c(e,l.value,null):c(e,l.value,r-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),m(a)){if(i&&o.match(/^\d+$/))return s;(a=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function p(e){return Array.isArray(e)}function d(e){return"boolean"===typeof e}function g(e){return null===e}function y(e){return"number"===typeof e}function v(e){return"string"===typeof e}function m(e){return void 0===e}function b(e){return w(e)&&"[object RegExp]"===x(e)}function w(e){return"object"===typeof e&&null!==e}function E(e){return w(e)&&"[object Date]"===x(e)}function S(e){return w(e)&&("[object Error]"===x(e)||e instanceof Error)}function O(e){return"function"===typeof e}function x(e){return Object.prototype.toString.call(e)}function A(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(r){if(m(i)&&(i=e.env.NODE_DEBUG||""),r=r.toUpperCase(),!a[r])if(new RegExp("\\b"+r+"\\b","i").test(i)){var n=e.pid;a[r]=function(){var e=t.format.apply(t,arguments);console.error("%s %d: %s",r,n,e)}}else a[r]=function(){};return a[r]},t.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=p,t.isBoolean=d,t.isNull=g,t.isNullOrUndefined=function(e){return null==e},t.isNumber=y,t.isString=v,t.isSymbol=function(e){return"symbol"===typeof e},t.isUndefined=m,t.isRegExp=b,t.isObject=w,t.isDate=E,t.isError=S,t.isFunction=O,t.isPrimitive=function(e){return null===e||"boolean"===typeof e||"number"===typeof e||"string"===typeof e||"symbol"===typeof e||"undefined"===typeof e},t.isBuffer=r(19);var P=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function R(){var e=new Date,t=[A(e.getHours()),A(e.getMinutes()),A(e.getSeconds())].join(":");return[e.getDate(),P[e.getMonth()],t].join(" ")}function _(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){console.log("%s - %s",R(),t.format.apply(t,arguments))},t.inherits=r(20),t._extend=function(e,t){if(!t||!w(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var k="undefined"!==typeof Symbol?Symbol("util.promisify.custom"):void 0;function T(e,t){if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}t.promisify=function(e){if("function"!==typeof e)throw new TypeError('The "original" argument must be of type Function');if(k&&e[k]){var t;if("function"!==typeof(t=e[k]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,k,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,r,n=new Promise((function(e,n){t=e,r=n})),o=[],i=0;i<arguments.length;i++)o.push(arguments[i]);o.push((function(e,n){e?r(e):t(n)}));try{e.apply(this,o)}catch(a){r(a)}return n}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),k&&Object.defineProperty(t,k,{value:t,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(t,n(e))},t.promisify.custom=k,t.callbackify=function(t){if("function"!==typeof t)throw new TypeError('The "original" argument must be of type Function');function r(){for(var r=[],n=0;n<arguments.length;n++)r.push(arguments[n]);var o=r.pop();if("function"!==typeof o)throw new TypeError("The last argument must be of type Function");var i=this,a=function(){return o.apply(i,arguments)};t.apply(this,r).then((function(t){e.nextTick(a,null,t)}),(function(t){e.nextTick(T,t,a)}))}return Object.setPrototypeOf(r,Object.getPrototypeOf(t)),Object.defineProperties(r,n(t)),r}}).call(this,r(18))},function(e,t){var r,n,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(e){if(r===setTimeout)return setTimeout(e,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"===typeof setTimeout?setTimeout:i}catch(e){r=i}try{n="function"===typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var l,u=[],c=!1,f=-1;function h(){c&&l&&(c=!1,l.length?u=l.concat(u):f=-1,u.length&&p())}function p(){if(!c){var e=s(h);c=!0;for(var t=u.length;t;){for(l=u,u=[];++f<t;)l&&l[f].run();f=-1,t=u.length}l=null,c=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===a||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function d(e,t){this.fun=e,this.array=t}function g(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];u.push(new d(e,t)),1!==u.length||c||s(p)},d.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=g,o.addListener=g,o.once=g,o.off=g,o.removeListener=g,o.removeAllListeners=g,o.emit=g,o.prependListener=g,o.prependOnceListener=g,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},function(e,t){e.exports=function(e){return e&&"object"===typeof e&&"function"===typeof e.copy&&"function"===typeof e.fill&&"function"===typeof e.readUInt8}},function(e,t){"function"===typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},function(e,t,r){"use strict";(function(e){var n=r(22),o=r(23),i=r(24);function a(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(a()<t)throw new RangeError("Invalid typed array length");return l.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=l.prototype:(null===e&&(e=new l(t)),e.length=t),e}function l(e,t,r){if(!l.TYPED_ARRAY_SUPPORT&&!(this instanceof l))return new l(e,t,r);if("number"===typeof e){if("string"===typeof t)throw new Error("If encoding is specified then the first argument must be a string");return f(this,e)}return u(this,e,t,r)}function u(e,t,r,n){if("number"===typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!==typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,r,n){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(n||0))throw new RangeError("'length' is out of bounds");t=void 0===r&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,r):new Uint8Array(t,r,n);l.TYPED_ARRAY_SUPPORT?(e=t).__proto__=l.prototype:e=h(e,t);return e}(e,t,r,n):"string"===typeof t?function(e,t,r){"string"===typeof r&&""!==r||(r="utf8");if(!l.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var n=0|d(t,r),o=(e=s(e,n)).write(t,r);o!==n&&(e=e.slice(0,o));return e}(e,t,r):function(e,t){if(l.isBuffer(t)){var r=0|p(t.length);return 0===(e=s(e,r)).length||t.copy(e,0,0,r),e}if(t){if("undefined"!==typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!==typeof t.length||(n=t.length)!==n?s(e,0):h(e,t);if("Buffer"===t.type&&i(t.data))return h(e,t.data)}var n;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function c(e){if("number"!==typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function f(e,t){if(c(t),e=s(e,t<0?0:0|p(t)),!l.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}function h(e,t){var r=t.length<0?0:0|p(t.length);e=s(e,r);for(var n=0;n<r;n+=1)e[n]=255&t[n];return e}function p(e){if(e>=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function d(e,t){if(l.isBuffer(e))return e.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!==typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return F(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return z(e).length;default:if(n)return F(e).length;t=(""+t).toLowerCase(),n=!0}}function g(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return T(this,t,r);case"utf8":case"utf-8":return P(this,t,r);case"ascii":return _(this,t,r);case"latin1":case"binary":return k(this,t,r);case"base64":return A(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function y(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function v(e,t,r,n,o){if(0===e.length)return-1;if("string"===typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=o?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(o)return-1;r=e.length-1}else if(r<0){if(!o)return-1;r=0}if("string"===typeof t&&(t=l.from(t,n)),l.isBuffer(t))return 0===t.length?-1:m(e,t,r,n,o);if("number"===typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):m(e,[t],r,n,o);throw new TypeError("val must be string, number or Buffer")}function m(e,t,r,n,o){var i,a=1,s=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,s/=2,l/=2,r/=2}function u(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(o){var c=-1;for(i=r;i<s;i++)if(u(e,i)===u(t,-1===c?0:i-c)){if(-1===c&&(c=i),i-c+1===l)return c*a}else-1!==c&&(i-=i-c),c=-1}else for(r+l>s&&(r=s-l),i=r;i>=0;i--){for(var f=!0,h=0;h<l;h++)if(u(e,i+h)!==u(t,h)){f=!1;break}if(f)return i}return-1}function b(e,t,r,n){r=Number(r)||0;var o=e.length-r;n?(n=Number(n))>o&&(n=o):n=o;var i=t.length;if(i%2!==0)throw new TypeError("Invalid hex string");n>i/2&&(n=i/2);for(var a=0;a<n;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[r+a]=s}return a}function w(e,t,r,n){return $(F(t,e.length-r),e,r,n)}function E(e,t,r,n){return $(function(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}(t),e,r,n)}function S(e,t,r,n){return E(e,t,r,n)}function O(e,t,r,n){return $(z(t),e,r,n)}function x(e,t,r,n){return $(function(e,t){for(var r,n,o,i=[],a=0;a<e.length&&!((t-=2)<0);++a)n=(r=e.charCodeAt(a))>>8,o=r%256,i.push(o),i.push(n);return i}(t,e.length-r),e,r,n)}function A(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function P(e,t,r){r=Math.min(e.length,r);for(var n=[],o=t;o<r;){var i,a,s,l,u=e[o],c=null,f=u>239?4:u>223?3:u>191?2:1;if(o+f<=r)switch(f){case 1:u<128&&(c=u);break;case 2:128===(192&(i=e[o+1]))&&(l=(31&u)<<6|63&i)>127&&(c=l);break;case 3:i=e[o+1],a=e[o+2],128===(192&i)&&128===(192&a)&&(l=(15&u)<<12|(63&i)<<6|63&a)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:i=e[o+1],a=e[o+2],s=e[o+3],128===(192&i)&&128===(192&a)&&128===(192&s)&&(l=(15&u)<<18|(63&i)<<12|(63&a)<<6|63&s)>65535&&l<1114112&&(c=l)}null===c?(c=65533,f=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),o+=f}return function(e){var t=e.length;if(t<=R)return String.fromCharCode.apply(String,e);var r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=R));return r}(n)}t.Buffer=l,t.SlowBuffer=function(e){+e!=e&&(e=0);return l.alloc(+e)},t.INSPECT_MAX_BYTES=50,l.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"===typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(t){return!1}}(),t.kMaxLength=a(),l.poolSize=8192,l._augment=function(e){return e.__proto__=l.prototype,e},l.from=function(e,t,r){return u(null,e,t,r)},l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"undefined"!==typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0})),l.alloc=function(e,t,r){return function(e,t,r,n){return c(t),t<=0?s(e,t):void 0!==r?"string"===typeof n?s(e,t).fill(r,n):s(e,t).fill(r):s(e,t)}(null,e,t,r)},l.allocUnsafe=function(e){return f(null,e)},l.allocUnsafeSlow=function(e){return f(null,e)},l.isBuffer=function(e){return!(null==e||!e._isBuffer)},l.compare=function(e,t){if(!l.isBuffer(e)||!l.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,n=t.length,o=0,i=Math.min(r,n);o<i;++o)if(e[o]!==t[o]){r=e[o],n=t[o];break}return r<n?-1:n<r?1:0},l.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},l.concat=function(e,t){if(!i(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return l.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var n=l.allocUnsafe(t),o=0;for(r=0;r<e.length;++r){var a=e[r];if(!l.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,o),o+=a.length}return n},l.byteLength=d,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)y(this,t,t+1);return this},l.prototype.swap32=function(){var e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)y(this,t,t+3),y(this,t+1,t+2);return this},l.prototype.swap64=function(){var e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)y(this,t,t+7),y(this,t+1,t+6),y(this,t+2,t+5),y(this,t+3,t+4);return this},l.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?P(this,0,e):g.apply(this,arguments)},l.prototype.equals=function(e){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",r=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),"<Buffer "+e+">"},l.prototype.compare=function(e,t,r,n,o){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===o&&(o=this.length),t<0||r>e.length||n<0||o>this.length)throw new RangeError("out of range index");if(n>=o&&t>=r)return 0;if(n>=o)return-1;if(t>=r)return 1;if(this===e)return 0;for(var i=(o>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),s=Math.min(i,a),u=this.slice(n,o),c=e.slice(t,r),f=0;f<s;++f)if(u[f]!==c[f]){i=u[f],a=c[f];break}return i<a?-1:a<i?1:0},l.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},l.prototype.indexOf=function(e,t,r){return v(this,e,t,r,!0)},l.prototype.lastIndexOf=function(e,t,r){return v(this,e,t,r,!1)},l.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"===typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(r)?(r|=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var o=this.length-t;if((void 0===r||r>o)&&(r=o),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return b(this,e,t,r);case"utf8":case"utf-8":return w(this,e,t,r);case"ascii":return E(this,e,t,r);case"latin1":case"binary":return S(this,e,t,r);case"base64":return O(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var R=4096;function _(e,t,r){var n="";r=Math.min(e.length,r);for(var o=t;o<r;++o)n+=String.fromCharCode(127&e[o]);return n}function k(e,t,r){var n="";r=Math.min(e.length,r);for(var o=t;o<r;++o)n+=String.fromCharCode(e[o]);return n}function T(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var o="",i=t;i<r;++i)o+=V(e[i]);return o}function C(e,t,r){for(var n=e.slice(t,r),o="",i=0;i<n.length;i+=2)o+=String.fromCharCode(n[i]+256*n[i+1]);return o}function j(e,t,r){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function U(e,t,r,n,o,i){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||t<i)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}function L(e,t,r,n){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-r,2);o<i;++o)e[r+o]=(t&255<<8*(n?o:1-o))>>>8*(n?o:1-o)}function B(e,t,r,n){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-r,4);o<i;++o)e[r+o]=t>>>8*(n?o:3-o)&255}function N(e,t,r,n,o,i){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function I(e,t,r,n,i){return i||N(e,0,r,4),o.write(e,t,r,n,23,4),r+4}function D(e,t,r,n,i){return i||N(e,0,r,8),o.write(e,t,r,n,52,8),r+8}l.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e),l.TYPED_ARRAY_SUPPORT)(r=this.subarray(e,t)).__proto__=l.prototype;else{var o=t-e;r=new l(o,void 0);for(var i=0;i<o;++i)r[i]=this[i+e]}return r},l.prototype.readUIntLE=function(e,t,r){e|=0,t|=0,r||j(e,t,this.length);for(var n=this[e],o=1,i=0;++i<t&&(o*=256);)n+=this[e+i]*o;return n},l.prototype.readUIntBE=function(e,t,r){e|=0,t|=0,r||j(e,t,this.length);for(var n=this[e+--t],o=1;t>0&&(o*=256);)n+=this[e+--t]*o;return n},l.prototype.readUInt8=function(e,t){return t||j(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||j(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||j(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||j(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||j(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||j(e,t,this.length);for(var n=this[e],o=1,i=0;++i<t&&(o*=256);)n+=this[e+i]*o;return n>=(o*=128)&&(n-=Math.pow(2,8*t)),n},l.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||j(e,t,this.length);for(var n=t,o=1,i=this[e+--n];n>0&&(o*=256);)i+=this[e+--n]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*t)),i},l.prototype.readInt8=function(e,t){return t||j(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||j(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt16BE=function(e,t){t||j(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt32LE=function(e,t){return t||j(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||j(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||j(e,4,this.length),o.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||j(e,4,this.length),o.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||j(e,8,this.length),o.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||j(e,8,this.length),o.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||U(this,e,t,r,Math.pow(2,8*r)-1,0);var o=1,i=0;for(this[t]=255&e;++i<r&&(o*=256);)this[t+i]=e/o&255;return t+r},l.prototype.writeUIntBE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||U(this,e,t,r,Math.pow(2,8*r)-1,0);var o=r-1,i=1;for(this[t+o]=255&e;--o>=0&&(i*=256);)this[t+o]=e/i&255;return t+r},l.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):L(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):L(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):B(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):B(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var o=Math.pow(2,8*r-1);U(this,e,t,r,o-1,-o)}var i=0,a=1,s=0;for(this[t]=255&e;++i<r&&(a*=256);)e<0&&0===s&&0!==this[t+i-1]&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+r},l.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var o=Math.pow(2,8*r-1);U(this,e,t,r,o-1,-o)}var i=r-1,a=1,s=0;for(this[t+i]=255&e;--i>=0&&(a*=256);)e<0&&0===s&&0!==this[t+i+1]&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+r},l.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):L(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):L(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):B(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):B(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,r){return I(this,e,t,!0,r)},l.prototype.writeFloatBE=function(e,t,r){return I(this,e,t,!1,r)},l.prototype.writeDoubleLE=function(e,t,r){return D(this,e,t,!0,r)},l.prototype.writeDoubleBE=function(e,t,r){return D(this,e,t,!1,r)},l.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var o,i=n-r;if(this===e&&r<t&&t<n)for(o=i-1;o>=0;--o)e[o+t]=this[o+r];else if(i<1e3||!l.TYPED_ARRAY_SUPPORT)for(o=0;o<i;++o)e[o+t]=this[o+r];else Uint8Array.prototype.set.call(e,this.subarray(r,r+i),t);return i},l.prototype.fill=function(e,t,r,n){if("string"===typeof e){if("string"===typeof t?(n=t,t=0,r=this.length):"string"===typeof r&&(n=r,r=this.length),1===e.length){var o=e.charCodeAt(0);o<256&&(e=o)}if(void 0!==n&&"string"!==typeof n)throw new TypeError("encoding must be a string");if("string"===typeof n&&!l.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"===typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;var i;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"===typeof e)for(i=t;i<r;++i)this[i]=e;else{var a=l.isBuffer(e)?e:F(new l(e,n).toString()),s=a.length;for(i=0;i<r-t;++i)this[i+t]=a[i%s]}return this};var M=/[^+\/0-9A-Za-z-_]/g;function V(e){return e<16?"0"+e.toString(16):e.toString(16)}function F(e,t){var r;t=t||1/0;for(var n=e.length,o=null,i=[],a=0;a<n;++a){if((r=e.charCodeAt(a))>55295&&r<57344){if(!o){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&i.push(239,191,189);continue}o=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),o=r;continue}r=65536+(o-55296<<10|r-56320)}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function z(e){return n.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(M,"")).length<2)return"";for(;e.length%4!==0;)e+="=";return e}(e))}function $(e,t,r,n){for(var o=0;o<n&&!(o+r>=t.length||o>=e.length);++o)t[o+r]=e[o];return o}}).call(this,r(12))},function(e,t,r){"use strict";t.byteLength=function(e){var t=u(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,n=u(e),a=n[0],s=n[1],l=new i(function(e,t,r){return 3*(t+r)/4-r}(0,a,s)),c=0,f=s>0?a-4:a;for(r=0;r<f;r+=4)t=o[e.charCodeAt(r)]<<18|o[e.charCodeAt(r+1)]<<12|o[e.charCodeAt(r+2)]<<6|o[e.charCodeAt(r+3)],l[c++]=t>>16&255,l[c++]=t>>8&255,l[c++]=255&t;2===s&&(t=o[e.charCodeAt(r)]<<2|o[e.charCodeAt(r+1)]>>4,l[c++]=255&t);1===s&&(t=o[e.charCodeAt(r)]<<10|o[e.charCodeAt(r+1)]<<4|o[e.charCodeAt(r+2)]>>2,l[c++]=t>>8&255,l[c++]=255&t);return l},t.fromByteArray=function(e){for(var t,r=e.length,o=r%3,i=[],a=16383,s=0,l=r-o;s<l;s+=a)i.push(c(e,s,s+a>l?l:s+a));1===o?(t=e[r-1],i.push(n[t>>2]+n[t<<4&63]+"==")):2===o&&(t=(e[r-2]<<8)+e[r-1],i.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return i.join("")};for(var n=[],o=[],i="undefined"!==typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=a.length;s<l;++s)n[s]=a[s],o[a.charCodeAt(s)]=s;function u(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e,t,r){for(var o,i,a=[],s=t;s<r;s+=3)o=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),a.push(n[(i=o)>>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return a.join("")}o["-".charCodeAt(0)]=62,o["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,r,n,o){var i,a,s=8*o-n-1,l=(1<<s)-1,u=l>>1,c=-7,f=r?o-1:0,h=r?-1:1,p=e[t+f];for(f+=h,i=p&(1<<-c)-1,p>>=-c,c+=s;c>0;i=256*i+e[t+f],f+=h,c-=8);for(a=i&(1<<-c)-1,i>>=-c,c+=n;c>0;a=256*a+e[t+f],f+=h,c-=8);if(0===i)i=1-u;else{if(i===l)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,n),i-=u}return(p?-1:1)*a*Math.pow(2,i-n)},t.write=function(e,t,r,n,o,i){var a,s,l,u=8*i-o-1,c=(1<<u)-1,f=c>>1,h=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,d=n?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),(t+=a+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(a++,l/=2),a+f>=c?(s=0,a=c):a+f>=1?(s=(t*l-1)*Math.pow(2,o),a+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,o),a=0));o>=8;e[r+p]=255&s,p+=d,s/=256,o-=8);for(a=a<<o|s,u+=o;u>0;e[r+p]=255&a,p+=d,a/=256,u-=8);e[r+p-d]|=128*g}},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(26);Object.defineProperty(t,"BNF",{enumerable:!0,get:function(){return n.default}});var o=r(28);Object.defineProperty(t,"W3C",{enumerable:!0,get:function(){return o.default}});var i=r(29);Object.defineProperty(t,"Custom",{enumerable:!0,get:function(){return i.default}})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(27),o=r(5);var i;!function(e){function t(e){let r=n.findChildrenByType(e,"term").map((e=>n.findChildrenByType(e,"literal").concat(n.findChildrenByType(e,"rule-name"))[0].text));return n.findChildrenByType(e,"list").forEach((e=>{r=r.concat(t(e))})),r}function r(r,o=e.defaultParser){let i=o.getAST(r);if(!i)throw new Error("Could not parse "+r);if(i.errors&&i.errors.length)throw i.errors[0];let a=n.findChildrenByType(i,"rule").map((e=>{let r=n.findChildrenByType(e,"rule-name")[0].text,o=n.findChildrenByType(e,"firstExpression").concat(n.findChildrenByType(e,"otherExpression")),i=[];return o.forEach((e=>{i.push(t(e))})),{name:r,bnf:i}}));return a.some((e=>"EOL"==e.name))||a.push({name:"EOL",bnf:[['"\\r\\n"','"\\r"','"\\n"']]}),a}e.RULES=[{name:"syntax",bnf:[["RULE_EOL*","rule+"]]},{name:"rule",bnf:[['" "*','"<"',"rule-name",'">"','" "*','"::="',"firstExpression","otherExpression*",'" "*',"RULE_EOL+",'" "*']]},{name:"firstExpression",bnf:[['" "*',"list"]]},{name:"otherExpression",bnf:[['" "*','"|"','" "*',"list"]]},{name:"RULE_EOL",bnf:[['"\\r"'],['"\\n"']]},{name:"list",bnf:[["term",'" "*',"list"],["term"]]},{name:"term",bnf:[["literal"],['"<"',"rule-name",'">"']]},{name:"literal",bnf:[["'\"'","RULE_CHARACTER1*","'\"'"],['"\'"',"RULE_CHARACTER2*",'"\'"']]},{name:"RULE_CHARACTER",bnf:[['" "'],["RULE_LETTER"],["RULE_DIGIT"],["RULE_SYMBOL"]]},{name:"RULE_LETTER",bnf:[['"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"'],['"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"']]},{name:"RULE_DIGIT",bnf:[['"0"'],['"1"'],['"2"'],['"3"'],['"4"'],['"5"'],['"6"'],['"7"'],['"8"'],['"9"']]},{name:"RULE_SYMBOL",bnf:[['"-"'],['"_"'],['"!"'],['"#"'],['"$"'],['"%"'],['"&"'],['"("'],['")"'],['"*"'],['"+"'],['","'],['"-"'],['"."'],['"/"'],['":"'],['";"'],['"<"'],['"="'],['">"'],['"?"'],['"@"'],['"["'],['"\\"'],['"]"'],['"^"'],['"_"'],['"`"'],['"{"'],['"|"'],['"}"'],['"~"']]},{name:"RULE_CHARACTER1",bnf:[["RULE_CHARACTER"],['"\'"']]},{name:"RULE_CHARACTER2",bnf:[["RULE_CHARACTER"],["'\"'"]]},{name:"rule-name",bnf:[["RULE_LETTER","RULE_CHAR*"]]},{name:"RULE_CHAR",bnf:[["RULE_LETTER"],["RULE_DIGIT"],['"_"'],['"-"']]}],e.defaultParser=new o.Parser(e.RULES,{debug:!1}),e.getRules=r,e.Transform=function(t,n=e.defaultParser){return r(t.join(""),n)};class i extends o.Parser{constructor(t,n){super(r(t,n&&!0===n.debugRulesParser?new o.Parser(e.RULES,{debug:!0}):e.defaultParser),n),this.source=t}emitSource(){return this.source}}e.Parser=i}(i||(i={})),t.default=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findChildrenByType=void 0,t.findChildrenByType=function(e,t){return e.children?e.children.filter((e=>e.type==t)):[]}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(5);var o;!function(e){e.RULES=[{name:"Grammar",bnf:[["RULE_S*","%Atomic*","EOF"]]},{name:"%Atomic",bnf:[["Production","RULE_S*"]],fragment:!0},{name:"Production",bnf:[["NCName","RULE_S*",'"::="',"RULE_WHITESPACE*","Choice","RULE_WHITESPACE*","RULE_EOL+","RULE_S*"]]},{name:"NCName",bnf:[[/[a-zA-Z][a-zA-Z_0-9]*/]]},{name:"Choice",bnf:[["SequenceOrDifference","%_Choice_1*"]],fragment:!0},{name:"%_Choice_1",bnf:[["RULE_WHITESPACE*",'"|"',"RULE_WHITESPACE*","SequenceOrDifference"]],fragment:!0},{name:"SequenceOrDifference",bnf:[["Item","RULE_WHITESPACE*","%_Item_1?"]]},{name:"%_Item_1",bnf:[["Minus","Item"],["Item*"]],fragment:!0},{name:"Minus",bnf:[['"-"']]},{name:"Item",bnf:[["RULE_WHITESPACE*","%Primary","PrimaryDecoration?"]],fragment:!0},{name:"PrimaryDecoration",bnf:[['"?"'],['"*"'],['"+"']]},{name:"DecorationName",bnf:[['"ebnf://"',/[^\x5D#]+/]]},{name:"%Primary",bnf:[["NCName"],["StringLiteral"],["CharCode"],["CharClass"],["SubItem"]],fragment:!0},{name:"SubItem",bnf:[['"("',"RULE_WHITESPACE*","Choice","RULE_WHITESPACE*",'")"']]},{name:"StringLiteral",bnf:[["'\"'",/[^"]*/,"'\"'"],['"\'"',/[^']*/,'"\'"']],pinned:1},{name:"CharCode",bnf:[['"#x"',/[0-9a-zA-Z]+/]]},{name:"CharClass",bnf:[["'['","'^'?","%RULE_CharClass_1+",'"]"']]},{name:"%RULE_CharClass_1",bnf:[["CharCodeRange"],["CharRange"],["CharCode"],["RULE_Char"]],fragment:!0},{name:"RULE_Char",bnf:[[/\x09/],[/\x0A/],[/\x0D/],[/[\x20-\x5c]/],[/[\x5e-\uD7FF]/],[/[\uE000-\uFFFD]/]]},{name:"CharRange",bnf:[["RULE_Char",'"-"',"RULE_Char"]]},{name:"CharCodeRange",bnf:[["CharCode",'"-"',"CharCode"]]},{name:"RULE_WHITESPACE",bnf:[["%RULE_WHITESPACE_CHAR*"],["Comment","RULE_WHITESPACE*"]]},{name:"RULE_S",bnf:[["RULE_WHITESPACE","RULE_S*"],["RULE_EOL","RULE_S*"]]},{name:"%RULE_WHITESPACE_CHAR",bnf:[[/\x09/],[/\x20/]],fragment:!0},{name:"Comment",bnf:[['"/*"',"%RULE_Comment_Body*",'"*/"']]},{name:"%RULE_Comment_Body",bnf:[['!"*/"',/[^*]/]],fragment:!0},{name:"RULE_EOL",bnf:[[/\x0D/,/\x0A/],[/\x0A/],[/\x0D/]]},{name:"Link",bnf:[["'['","Url","']'"]]},{name:"Url",bnf:[[/[^\x5D:/?#]/,'"://"',/[^\x5D#]+/,"%Url1?"]]},{name:"%Url1",bnf:[['"#"',"NCName"]],fragment:!0}],e.defaultParser=new n.Parser(e.RULES,{debug:!1});const t=/^(!|&)/,r=/(\?|\+|\*)$/,o=/^%/;function i(e,i){if("string"==typeof e){if(t.test(e))return"";if(o.test(e)){let t=r.exec(e),o=t?t[0]+" ":"",s=function(e,t){let r=n.findRuleByName(e,t);return r&&1==r.bnf.length&&1==r.bnf[0].length&&(r.bnf[0][0]instanceof RegExp||'"'==r.bnf[0][0][0]||"'"==r.bnf[0][0][0])}(e,i);return s?a(e,i)+o:"("+a(e,i)+")"+o}return e}return e.source.replace(/\\(?:x|u)([a-zA-Z0-9]+)/g,"#x$1").replace(/\[\\(?:x|u)([a-zA-Z0-9]+)-\\(?:x|u)([a-zA-Z0-9]+)\]/g,"[#x$1-#x$2]")}function a(e,t){let r=n.findRuleByName(e,t);return r?r.bnf.map((e=>function(e,t){return e.map((e=>i(e,t))).join(" ")}(e,t))).join(" | "):"RULE_NOT_FOUND {"+e+"}"}function s(e){let t=[];return e.grammarRules.forEach((r=>{if(!/^%/.test(r.name)){let n=r.recover?" /* { recoverUntil="+r.recover+" } */":"";t.push(r.name+" ::= "+a(r.name,e)+n)}})),t.join("\n")}e.emit=s;let l=0;function u(e){return new RegExp(e.replace(/#x([a-zA-Z0-9]{4})/g,"\\u$1").replace(/#x([a-zA-Z0-9]{3})/g,"\\u0$1").replace(/#x([a-zA-Z0-9]{2})/g,"\\x$1").replace(/#x([a-zA-Z0-9]{1})/g,"\\x0$1"))}function c(e,t,r){let n=null,o=[];return t.children.forEach(((i,a)=>{"Minus"==i.type&&function(e,t){throw console.log("reberia restar "+t+" a "+e),new Error("Difference not supported yet")}(n,i);let s=t.children[a+1];s=s&&"PrimaryDecoration"==s.type&&s.text||"";switch(i.type){case"SubItem":let t="%"+(r+l++);f(e,i,t),o.push(""+t+s);break;case"NCName":case"StringLiteral":o.push(""+i.text+s);break;case"CharCode":case"CharClass":if(s){let t={name:"%"+(r+l++),bnf:[[u(i.text)]]};e.push(t),o.push(""+t.name+s)}else o.push(u(i.text));break;case"PrimaryDecoration":break;default:throw new Error(" HOW SHOULD I PARSE THIS? "+i.type+" -> "+JSON.stringify(i.text))}n=i})),o}function f(e,t,r){let n=t.children.filter((e=>"SequenceOrDifference"==e.type)).map((t=>c(e,t,r))),o={name:r,bnf:n},i=null;n.forEach((e=>{i=i||e.recover,delete e.recover})),0==r.indexOf("%")&&(o.fragment=!0),i&&(o.recover=i),e.push(o)}function h(t,r=e.defaultParser){let n=r.getAST(t);if(!n)throw new Error("Could not parse "+t);if(n.errors&&n.errors.length)throw n.errors[0];let o=[];return n.children.filter((e=>"Production"==e.type)).map((e=>{let t=e.children.filter((e=>"NCName"==e.type))[0].text;f(o,e,t)})),o}e.getRules=h,e.Transform=function(t,r=e.defaultParser){return h(t.join(""),r)};class p extends n.Parser{constructor(t,r){super(h(t,r&&!0===r.debugRulesParser?new n.Parser(e.RULES,{debug:!0}):e.defaultParser),r)}emitSource(){return s(this)}}e.Parser=p}(o||(o={})),t.default=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(8),o=r(5);var i;!function(e){e.RULES=[{name:"Grammar",bnf:[["RULE_S*","Attributes?","RULE_S*","%Atomic*","EOF"]]},{name:"%Atomic",bnf:[["Production","RULE_S*"]],fragment:!0},{name:"Production",bnf:[["NCName","RULE_S*",'"::="',"RULE_WHITESPACE*","%Choice","RULE_WHITESPACE*","Attributes?","RULE_EOL+","RULE_S*"]]},{name:"NCName",bnf:[[/[a-zA-Z][a-zA-Z_0-9]*/]]},{name:"Attributes",bnf:[['"{"',"Attribute","%Attributes*","RULE_S*",'"}"']]},{name:"%Attributes",bnf:[["RULE_S*",'","',"Attribute"]],fragment:!0},{name:"Attribute",bnf:[["RULE_S*","NCName","RULE_WHITESPACE*",'"="',"RULE_WHITESPACE*","AttributeValue"]]},{name:"AttributeValue",bnf:[["NCName"],[/[1-9][0-9]*/]]},{name:"%Choice",bnf:[["SequenceOrDifference","%_Choice_1*"]],fragment:!0},{name:"%_Choice_1",bnf:[["RULE_S*",'"|"',"RULE_S*","SequenceOrDifference"]],fragment:!0},{name:"SequenceOrDifference",bnf:[["%Item","RULE_WHITESPACE*","%_Item_1?"]]},{name:"%_Item_1",bnf:[["Minus","%Item"],["%Item*"]],fragment:!0},{name:"Minus",bnf:[['"-"']]},{name:"%Item",bnf:[["RULE_WHITESPACE*","PrimaryPreDecoration?","%Primary","PrimaryDecoration?"]],fragment:!0},{name:"PrimaryDecoration",bnf:[['"?"'],['"*"'],['"+"']]},{name:"PrimaryPreDecoration",bnf:[['"&"'],['"!"'],['"~"']]},{name:"%Primary",bnf:[["NCName"],["StringLiteral"],["CharCode"],["CharClass"],["SubItem"]],fragment:!0},{name:"SubItem",bnf:[['"("',"RULE_S*","%Choice","RULE_S*",'")"']]},{name:"StringLiteral",bnf:[["'\"'",/[^"]*/,"'\"'"],['"\'"',/[^']*/,'"\'"']]},{name:"CharCode",bnf:[['"#x"',/[0-9a-zA-Z]+/]]},{name:"CharClass",bnf:[["'['","'^'?","%RULE_CharClass_1+",'"]"']]},{name:"%RULE_CharClass_1",bnf:[["CharCodeRange"],["CharRange"],["CharCode"],["RULE_Char"]],fragment:!0},{name:"RULE_Char",bnf:[[/\x09/],[/\x0A/],[/\x0D/],[/[\x20-\x5c]/],[/[\x5e-\uD7FF]/],[/[\uE000-\uFFFD]/]]},{name:"CharRange",bnf:[["RULE_Char",'"-"',"RULE_Char"]]},{name:"CharCodeRange",bnf:[["CharCode",'"-"',"CharCode"]]},{name:"RULE_WHITESPACE",bnf:[["%RULE_WHITESPACE_CHAR*"],["Comment","RULE_WHITESPACE*"]]},{name:"RULE_S",bnf:[["RULE_WHITESPACE","RULE_S*"],["RULE_EOL","RULE_S*"]]},{name:"%RULE_WHITESPACE_CHAR",bnf:[[/\x09/],[/\x20/]],fragment:!0},{name:"Comment",bnf:[['"/*"',"%RULE_Comment_Body*",'"*/"']]},{name:"%RULE_Comment_Body",bnf:[[/[^*]/],['"*"+',/[^/]*/]],fragment:!0},{name:"RULE_EOL",bnf:[[/\x0D/,/\x0A/],[/\x0A/],[/\x0D/]]},{name:"Link",bnf:[["'['","Url","']'"]]},{name:"Url",bnf:[[/[^\x5D:/?#]/,'"://"',/[^\x5D#]+/,"%Url1?"]]},{name:"%Url1",bnf:[['"#"',"NCName"]],fragment:!0}],e.defaultParser=new o.Parser(e.RULES,{debug:!1});const t=/^(!|&)/,r=/(\?|\+|\*)$/,i=/^%/;function a(e,n){if("string"==typeof e){let a=r.exec(e),l=t.exec(e),u=l?l[0]:"",c=a?a[0]+" ":"";if(i.test(e)){let t=function(e,t){let r=o.findRuleByName(e,t);return r&&1==r.bnf.length&&1==r.bnf[0].length&&(r.bnf[0][0]instanceof RegExp||'"'==r.bnf[0][0][0]||"'"==r.bnf[0][0][0])}(e,n);return t?u+s(e,n)+c:u+"("+s(e,n)+")"+c}return e.replace(t,u)}return e.source.replace(/\\(?:x|u)([a-zA-Z0-9]+)/g,"#x$1").replace(/\[\\(?:x|u)([a-zA-Z0-9]+)-\\(?:x|u)([a-zA-Z0-9]+)\]/g,"[#x$1-#x$2]")}function s(e,t){let r=o.findRuleByName(e,t);return r?r.bnf.map((e=>function(e,t){return e.map((e=>a(e,t))).join(" ")}(e,t))).join(" | "):"RULE_NOT_FOUND {"+e+"}"}function l(e){let t=[];return e.grammarRules.forEach((r=>{if(!/^%/.test(r.name)){let n=r.recover?" { recoverUntil="+r.recover+" }":"";t.push(r.name+" ::= "+s(r.name,e)+n)}})),t.join("\n")}e.emit=l;let u=0;function c(e){return new RegExp(e.replace(/#x([a-zA-Z0-9]{4})/g,"\\u$1").replace(/#x([a-zA-Z0-9]{3})/g,"\\u0$1").replace(/#x([a-zA-Z0-9]{2})/g,"\\x$1").replace(/#x([a-zA-Z0-9]{1})/g,"\\x0$1"))}function f(e,t,r,n){let i=null,a=[];return t.children.forEach(((s,l)=>{"Minus"==s.type&&function(e,t){throw console.log("reberia restar "+t+" a "+e),new Error("Difference not supported yet")}(i,s);let f=t.children[l+1];f=f&&"PrimaryDecoration"==f.type&&f.text||"";let p="";i&&"PrimaryPreDecoration"==i.type&&(p=i.text);let d="~"==p?1:void 0;switch(d&&(p=""),s.type){case"SubItem":let t="%"+(r+u++);h(e,s,t,n),a.push(p+t+f);break;case"NCName":a.push(p+s.text+f);break;case"StringLiteral":if(f||p||!/^['"/()a-zA-Z0-9&_.:=,+*\-\^\\]+$/.test(s.text))a.push(p+s.text+f);else for(const e of s.text.slice(1,-1))n&&"true"==n.ignoreCase&&/[a-zA-Z]/.test(e)?a.push(new RegExp("["+e.toUpperCase()+e.toLowerCase()+"]")):a.push(new RegExp(o.escapeRegExp(e)));break;case"CharCode":case"CharClass":if(f||p){let t={name:"%"+(r+u++),bnf:[[c(s.text)]],pinned:d};e.push(t),a.push(p+t.name+f)}else a.push(c(s.text));break;case"PrimaryPreDecoration":case"PrimaryDecoration":break;default:throw new Error(" HOW SHOULD I PARSE THIS? "+s.type+" -> "+JSON.stringify(s.text))}i=s})),a}function h(e,t,r,o){let i=t.children.filter((e=>"Attributes"==e.type))[0],a={};i&&i.children.forEach((e=>{let t=e.children.filter((e=>"NCName"==e.type))[0].text;if(t in a)throw new n.TokenError("Duplicated attribute "+t,e);a[t]=e.children.filter((e=>"AttributeValue"==e.type))[0].text}));let s=t.children.filter((e=>"SequenceOrDifference"==e.type)).map((t=>f(e,t,r,o||a))),l={name:r,bnf:s};if(0==r.indexOf("%")&&(l.fragment=!0),a.recoverUntil&&(l.recover=a.recoverUntil,l.bnf.length>1))throw new n.TokenError("only one-option productions are suitable for error recovering",t);if("pin"in a){let e=parseInt(a.pin);if(isNaN(e)||(l.pinned=e),l.bnf.length>1)throw new n.TokenError("only one-option productions are suitable for pinning",t)}l.implicitWs="ws"in a?"explicit"!=a.ws:null,l.fragment=l.fragment||"true"==a.fragment,l.simplifyWhenOneChildren="true"==a.simplifyWhenOneChildren,e.push(l)}function p(t,r=e.defaultParser){let o=r.getAST(t);if(!o)throw new Error("Could not parse "+t);if(o.errors&&o.errors.length)throw o.errors[0];let i=null,a=o.children.filter((e=>"Attributes"==e.type))[0],s={};a&&a.children.forEach((e=>{let t=e.children.filter((e=>"NCName"==e.type))[0].text;if(t in s)throw new n.TokenError("Duplicated attribute "+t,e);s[t]=e.children.filter((e=>"AttributeValue"==e.type))[0].text})),i="implicit"==s.ws;let l=[];return o.children.filter((e=>"Production"==e.type)).map((e=>{let t=e.children.filter((e=>"NCName"==e.type))[0].text;h(l,e,t)})),l.forEach((e=>{null===e.implicitWs&&(e.implicitWs=i)})),l}e.getRules=p,e.Transform=function(t,r=e.defaultParser){return p(t.join(""),r)};class d extends o.Parser{constructor(t,r){super(p(t,r&&!0===r.debugRulesParser?new o.Parser(e.RULES,{debug:!0}):e.defaultParser),r)}emitSource(){return l(this)}}e.Parser=d}(i||(i={})),t.default=i},function(e,t,r){"use strict";r.r(t),r.d(t,"CommonExpressionsPlugin",(function(){return x}));class n{constructor(e){this.name="ExpressionPlugin",this.expressions=e}apply(e){e.hooks.expressionEvaluator.tap(this.name,(e=>{this.expressions.forEach(((t,r)=>{e.addExpressionFunction(r,t)}))}))}}var o=r(3);function i(e,t){if("number"===typeof e)return e;if("string"===typeof e&&e.length>0){let t=e.trim();t=t.replace(/,/g,""),t=t.replace(/[\xa5\xa3$\u20ac]/,"");const r=Number(t);return t.match(/^0[xbo]/i)||isNaN(r)?void 0:r}return t?0:void 0}function a(e){return t=>"string"===typeof t?e(t):t}const s=Object(o.withoutContext)((e=>"string"===typeof e?e.length:"object"===typeof e&&null!==e?Object.keys(e).length:0)),l=s,u=(e,t)=>void 0===t||null===t||("object"===typeof t||"string"===typeof t)&&0===s(e,t),c=Object(o.withoutContext)(((...e)=>{if(e.every((e=>Array.isArray(e)))){return e.reduce(((e,t)=>[...e,...t]))}return e.reduce(((e,t)=>e+(null!=t?t:"")),"")})),f=Object(o.withoutContext)(a((e=>e.trim()))),h=Object(o.withoutContext)(a((e=>e.toUpperCase()))),p=Object(o.withoutContext)(a((e=>e.toLowerCase()))),d=Object(o.withoutContext)(((e,t,r="")=>{if("string"===typeof e&&"string"===typeof t&&"string"===typeof r){const n=new RegExp(t,"g");return e.replace(n,r)}return e})),g=Object(o.withoutContext)(a((e=>e.split(" ").map((e=>e[0].toUpperCase()+e.slice(1))).join(" ")))),y=Object(o.withoutContext)(a((e=>e.replace(/\b[a-zA-Z]/,(e=>e.toUpperCase()))))),v=Object(o.withoutContext)(i),m=Object(o.withoutContext)((e=>{var t;return Math.round(null!=(t=i(e,!0))?t:0)})),b=Object(o.withoutContext)((e=>{var t;return Math.floor(null!=(t=i(e,!0))?t:0)})),w=Object(o.withoutContext)((e=>{var t;return Math.ceil(null!=(t=i(e,!0))?t:0)})),E=Object(o.withoutContext)(((...e)=>e.reduce(((e,t)=>{var r;return e+(null!=(r=i(t))?r:0)}),0))),S=Object(o.withoutContext)(((e,t)=>!("string"!==typeof e||"string"!==typeof t&&!Array.isArray(t))&&(Array.isArray(t)?t.some((t=>e.indexOf(t)>-1)):e.indexOf(t)>-1)));var O=Object.freeze({__proto__:null,size:s,length:l,isEmpty:u,isNotEmpty:(e,t)=>!u(e,t),concat:c,trim:f,upperCase:h,lowerCase:p,replace:d,titleCase:g,sentenceCase:y,number:v,round:m,floor:b,ceil:w,sum:E,findPropertyIndex:(e,t,r,n)=>{const o=Array.isArray(t)?t:e.model.get(t);return Array.isArray(o)?o.findIndex((e=>{const t="object"===typeof e&&void 0!==r?e[r]:e;return n===t})):-1},findProperty:(e,t,r,n,o,i)=>{var a;const s=Array.isArray(t)?t:e.model.get(t);if(!Array.isArray(s))return i;const l=s.find((e=>{const t="object"===typeof e&&void 0!==r?e[r]:e;return n===t}));return void 0===l?i:"object"===typeof l&&o?null!=(a=l[o])?a:i:l},containsAny:S});class x{constructor(){this.name="CommonExpressions"}apply(e){e.registerPlugin(new n(new Map(Object.entries(O))))}}}])}));
|
|
2
|
+
!function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t():"function"===typeof define&&define.amd?define([],t):"object"===typeof exports?exports.CommonExpressionsPlugin=t():e.CommonExpressionsPlugin=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=30)}([function(e,t,r){"use strict";function n(e,t,r){return e.context?e.callback(r,...t):e.callback(...t)}r.d(t,"a",(function(){return s})),r.d(t,"b",(function(){return a})),r.d(t,"c",(function(){return l}));class o{constructor(){this.interceptions=[],this.interceptionKeySet=new Set}isUsed(){return this.interceptions.length>0}intercept(e){this.interceptions.push(e),Object.keys(e).forEach((e=>{this.interceptionKeySet.add(e)}))}tap(e){this.interceptionKeySet.has("tap")&&this.interceptions.forEach((t=>{var r;null==(r=t.tap)||r.call(t,e)}))}call(e,...t){this.interceptionKeySet.has("call")&&this.interceptions.forEach((r=>{var n,o;r.context?null==(n=r.call)||n.call(r,e,...t):null==(o=r.call)||o.call(r,...t)}))}loop(...e){this.interceptionKeySet.has("loop")&&this.interceptions.forEach((t=>{var r;null==(r=t.loop)||r.call(t,...e)}))}error(e){if(this.interceptionKeySet.has("error")&&e instanceof Error){const t=e;this.interceptions.forEach((e=>{var r;null==(r=e.error)||r.call(e,t)}))}}result(e){this.interceptionKeySet.has("result")&&this.interceptions.forEach((t=>{var r;null==(r=t.result)||r.call(t,e)}))}done(){this.interceptionKeySet.has("done")&&this.interceptions.forEach((e=>{var t;null==(t=e.done)||t.call(e)}))}}class i{constructor(){this.taps=[],this.interceptions=new o}tap(e,t){const r="string"===typeof e?{name:e,context:!1}:{context:!1,...e},n={key:Symbol(r.name),...r,callback:t};if(n.before){let e=this.taps.length;const t=new Set(Array.isArray(n.before)?n.before:[n.before]);for(;e>0&&t.size>0;e--){const r=this.taps[e-1];if(t.has(r.name)&&t.delete(r.name),r.before&&(o=n.name,i=r.before,Array.isArray(i)?i.includes(o):i===o))break}this.taps.splice(e,0,n)}else this.taps.push(n);var o,i;return this.interceptions.tap(n),n}untap(e){this.taps=this.taps.filter((t=>t.key!==e.key))}isUsed(){return this.taps.length>0||this.interceptions.isUsed()}intercept(e){this.interceptions.intercept(e)}}class a extends i{call(...e){if(!this.isUsed())return;const t={};this.interceptions.call(t,...e);try{this.taps.forEach((r=>{n(r,e,t)}))}catch(r){throw this.interceptions.error(r),r}this.interceptions.done()}}class s extends i{call(...e){if(!this.isUsed())return;const t={};this.interceptions.call(t,...e);for(let r=0;r<this.taps.length;r+=1){const o=n(this.taps[r],e,t);if(void 0!==o)return this.interceptions.result(o),o}this.interceptions.done()}}class l extends i{call(...e){const t={};this.interceptions.call(t,...e);let[r,...o]=e;for(let i=0;i<this.taps.length;i+=1){const e=n(this.taps[i],[r,...o],t);void 0!==e&&(r=e)}return this.interceptions.result(r),r}}},function(e,t,r){(function(t){"undefined"!=typeof self&&self,e.exports=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,r,n){"use strict";function o(e){if(!(this instanceof o))return new o(e);this._=e}var i=o.prototype;function a(e,t){for(var r=0;r<e;r++)t(r)}function s(e,t,r){return function(e,t){a(t.length,(function(r){e(t[r],r,t)}))}((function(r,n,o){t=e(t,r,n,o)}),r),t}function l(e,t){return s((function(t,r,n,o){return t.concat([e(r,n,o)])}),[],t)}function u(e,r){var n={v:0,buf:r};return a(e,(function(){var e;n={v:n.v<<1|(e=n.buf,e[0]>>7),buf:function(e){var r=s((function(e,r,n,o){return e.concat(n===o.length-1?t.from([r,0]).readUInt16BE(0):o.readUInt16BE(n))}),[],e);return t.from(l((function(e){return(e<<1&65535)>>8}),r))}(n.buf)}})),n}function c(){return"undefined"!=typeof t}function f(){if(!c())throw new Error("Buffer global does not exist; please use webpack if you need to parse Buffers in the browser.")}function h(e){f();var t=s((function(e,t){return e+t}),0,e);if(t%8!=0)throw new Error("The bits ["+e.join(", ")+"] add up to "+t+" which is not an even number of bytes; the total should be divisible by 8");var r,n=t/8,i=(r=function(e){return e>48},s((function(e,t){return e||(r(t)?t:e)}),null,e));if(i)throw new Error(i+" bit range requested exceeds 48 bit (6 byte) Number max.");return new o((function(t,r){var o=n+r;return o>t.length?O(r,n.toString()+" bytes"):S(o,s((function(e,t){var r=u(t,e.buf);return{coll:e.coll.concat(r.v),buf:r.buf}}),{coll:[],buf:t.slice(r,o)},e).coll)}))}function p(e,t){return new o((function(r,n){return f(),n+t>r.length?O(n,t+" bytes for "+e):S(n+t,r.slice(n,n+t))}))}function d(e,t){if("number"!=typeof(r=t)||Math.floor(r)!==r||t<0||t>6)throw new Error(e+" requires integer length in range [0, 6].");var r}function g(e){return d("uintBE",e),p("uintBE("+e+")",e).map((function(t){return t.readUIntBE(0,e)}))}function y(e){return d("uintLE",e),p("uintLE("+e+")",e).map((function(t){return t.readUIntLE(0,e)}))}function v(e){return d("intBE",e),p("intBE("+e+")",e).map((function(t){return t.readIntBE(0,e)}))}function m(e){return d("intLE",e),p("intLE("+e+")",e).map((function(t){return t.readIntLE(0,e)}))}function b(e){return e instanceof o}function w(e){return"[object Array]"==={}.toString.call(e)}function E(e){return c()&&t.isBuffer(e)}function S(e,t){return{status:!0,index:e,value:t,furthest:-1,expected:[]}}function O(e,t){return w(t)||(t=[t]),{status:!1,index:-1,value:null,furthest:e,expected:t}}function x(e,t){if(!t)return e;if(e.furthest>t.furthest)return e;var r=e.furthest===t.furthest?function(e,t){if(function(){if(void 0!==o._supportsSet)return o._supportsSet;var e="undefined"!=typeof Set;return o._supportsSet=e,e}()&&Array.from){for(var r=new Set(e),n=0;n<t.length;n++)r.add(t[n]);var i=Array.from(r);return i.sort(),i}for(var a={},s=0;s<e.length;s++)a[e[s]]=!0;for(var l=0;l<t.length;l++)a[t[l]]=!0;var u=[];for(var c in a)({}).hasOwnProperty.call(a,c)&&u.push(c);return u.sort(),u}(e.expected,t.expected):t.expected;return{status:e.status,index:e.index,value:e.value,furthest:t.furthest,expected:r}}var A={};function P(e,t){if(E(e))return{offset:t,line:-1,column:-1};e in A||(A[e]={});for(var r=A[e],n=0,o=0,i=0,a=t;a>=0;){if(a in r){n=r[a].line,0===i&&(i=r[a].lineStart);break}("\n"===e.charAt(a)||"\r"===e.charAt(a)&&"\n"!==e.charAt(a+1))&&(o++,0===i&&(i=a+1)),a--}var s=n+o,l=t-i;return r[t]={line:s,lineStart:i},{offset:t,line:s+1,column:l+1}}function R(e){if(!b(e))throw new Error("not a parser: "+e)}function _(e,t){return"string"==typeof e?e.charAt(t):e[t]}function k(e){if("number"!=typeof e)throw new Error("not a number: "+e)}function T(e){if("function"!=typeof e)throw new Error("not a function: "+e)}function C(e){if("string"!=typeof e)throw new Error("not a string: "+e)}var j=2,U=3,L=8,B=5*L,N=4*L,I=" ";function D(e,t){return new Array(t+1).join(e)}function M(e,t,r){var n=t-e.length;return n<=0?e:D(r,n)+e}function V(e,t,r,n){return{from:e-t>0?e-t:0,to:e+r>n?n:e+r}}function F(e,t){var r,n,o,i,a,u=t.index,c=u.offset,f=1;if(c===e.length)return"Got the end of the input";if(E(e)){var h=c-c%L,p=c-h,d=V(h,B,N+L,e.length),g=l((function(e){return l((function(e){return M(e.toString(16),2,"0")}),e)}),function(e,t){var r=e.length,n=[],o=0;if(r<=t)return[e.slice()];for(var i=0;i<r;i++)n[o]||n.push([]),n[o].push(e[i]),(i+1)%t==0&&o++;return n}(e.slice(d.from,d.to).toJSON().data,L));i=function(e){return 0===e.from&&1===e.to?{from:e.from,to:e.to}:{from:e.from/L,to:Math.floor(e.to/L)}}(d),n=h/L,r=3*p,p>=4&&(r+=1),f=2,o=l((function(e){return e.length<=4?e.join(" "):e.slice(0,4).join(" ")+" "+e.slice(4).join(" ")}),g),(a=(8*(i.to>0?i.to-1:i.to)).toString(16).length)<2&&(a=2)}else{var y=e.split(/\r\n|[\n\r\u2028\u2029]/);r=u.column-1,n=u.line-1,i=V(n,j,U,y.length),o=y.slice(i.from,i.to),a=i.to.toString().length}var v=n-i.from;return E(e)&&(a=(8*(i.to>0?i.to-1:i.to)).toString(16).length)<2&&(a=2),s((function(t,n,o){var s,l=o===v,u=l?"> ":I;return s=E(e)?M((8*(i.from+o)).toString(16),a,"0"):M((i.from+o+1).toString(),a," "),[].concat(t,[u+s+" | "+n],l?[I+D(" ",a)+" | "+M("",r," ")+D("^",f)]:[])}),[],o).join("\n")}function z(e,t){return["\n","-- PARSING FAILED "+D("-",50),"\n\n",F(e,t),"\n\n",(r=t.expected,1===r.length?"Expected:\n\n"+r[0]:"Expected one of the following: \n\n"+r.join(", ")),"\n"].join("");var r}function $(e){return void 0!==e.flags?e.flags:[e.global?"g":"",e.ignoreCase?"i":"",e.multiline?"m":"",e.unicode?"u":"",e.sticky?"y":""].join("")}function H(){for(var e=[].slice.call(arguments),t=e.length,r=0;r<t;r+=1)R(e[r]);return o((function(r,n){for(var o,i=new Array(t),a=0;a<t;a+=1){if(!(o=x(e[a]._(r,n),o)).status)return o;i[a]=o.value,n=o.index}return x(S(n,i),o)}))}function W(){var e=[].slice.call(arguments);if(0===e.length)throw new Error("seqMap needs at least one argument");var t=e.pop();return T(t),H.apply(null,e).map((function(e){return t.apply(null,e)}))}function Y(){var e=[].slice.call(arguments),t=e.length;if(0===t)return Q("zero alternates");for(var r=0;r<t;r+=1)R(e[r]);return o((function(t,r){for(var n,o=0;o<e.length;o+=1)if((n=x(e[o]._(t,r),n)).status)return n;return n}))}function q(e,t){return Z(e,t).or(J([]))}function Z(e,t){return R(e),R(t),W(e,t.then(e).many(),(function(e,t){return[e].concat(t)}))}function G(e){C(e);var t="'"+e+"'";return o((function(r,n){var o=n+e.length,i=r.slice(n,o);return i===e?S(o,i):O(n,t)}))}function K(e,t){!function(e){if(!(e instanceof RegExp))throw new Error("not a regexp: "+e);for(var t=$(e),r=0;r<t.length;r++){var n=t.charAt(r);if("i"!==n&&"m"!==n&&"u"!==n&&"s"!==n)throw new Error('unsupported regexp flag "'+n+'": '+e)}}(e),arguments.length>=2?k(t):t=0;var r=function(e){return RegExp("^(?:"+e.source+")",$(e))}(e),n=""+e;return o((function(e,o){var i=r.exec(e.slice(o));if(i){if(0<=t&&t<=i.length){var a=i[0],s=i[t];return S(o+a.length,s)}return O(o,"valid match group (0 to "+i.length+") in "+n)}return O(o,n)}))}function J(e){return o((function(t,r){return S(r,e)}))}function Q(e){return o((function(t,r){return O(r,e)}))}function X(e){if(b(e))return o((function(t,r){var n=e._(t,r);return n.index=r,n.value="",n}));if("string"==typeof e)return X(G(e));if(e instanceof RegExp)return X(K(e));throw new Error("not a string, regexp, or parser: "+e)}function ee(e){return R(e),o((function(t,r){var n=e._(t,r),o=t.slice(r,n.index);return n.status?O(r,'not "'+o+'"'):S(r,null)}))}function te(e){return T(e),o((function(t,r){var n=_(t,r);return r<t.length&&e(n)?S(r+1,n):O(r,"a character/byte matching "+e)}))}function re(e,t){arguments.length<2&&(t=e,e=void 0);var r=o((function(e,n){return r._=t()._,r._(e,n)}));return e?r.desc(e):r}function ne(){return Q("fantasy-land/empty")}i.parse=function(e){if("string"!=typeof e&&!E(e))throw new Error(".parse must be called with a string or Buffer as its argument");var t,r=this.skip(se)._(e,0);return t=r.status?{status:!0,value:r.value}:{status:!1,index:P(e,r.furthest),expected:r.expected},delete A[e],t},i.tryParse=function(e){var t=this.parse(e);if(t.status)return t.value;var r=z(e,t),n=new Error(r);throw n.type="ParsimmonError",n.result=t,n},i.assert=function(e,t){return this.chain((function(r){return e(r)?J(r):Q(t)}))},i.or=function(e){return Y(this,e)},i.trim=function(e){return this.wrap(e,e)},i.wrap=function(e,t){return W(e,this,t,(function(e,t){return t}))},i.thru=function(e){return e(this)},i.then=function(e){return R(e),H(this,e).map((function(e){return e[1]}))},i.many=function(){var e=this;return o((function(t,r){for(var n=[],o=void 0;;){if(!(o=x(e._(t,r),o)).status)return x(S(r,n),o);if(r===o.index)throw new Error("infinite loop detected in .many() parser --- calling .many() on a parser which can accept zero characters is usually the cause");r=o.index,n.push(o.value)}}))},i.tieWith=function(e){return C(e),this.map((function(t){if(function(e){if(!w(e))throw new Error("not an array: "+e)}(t),t.length){C(t[0]);for(var r=t[0],n=1;n<t.length;n++)C(t[n]),r+=e+t[n];return r}return""}))},i.tie=function(){return this.tieWith("")},i.times=function(e,t){var r=this;return arguments.length<2&&(t=e),k(e),k(t),o((function(n,o){for(var i=[],a=void 0,s=void 0,l=0;l<e;l+=1){if(s=x(a=r._(n,o),s),!a.status)return s;o=a.index,i.push(a.value)}for(;l<t&&(s=x(a=r._(n,o),s),a.status);l+=1)o=a.index,i.push(a.value);return x(S(o,i),s)}))},i.result=function(e){return this.map((function(){return e}))},i.atMost=function(e){return this.times(0,e)},i.atLeast=function(e){return W(this.times(e),this.many(),(function(e,t){return e.concat(t)}))},i.map=function(e){T(e);var t=this;return o((function(r,n){var o=t._(r,n);return o.status?x(S(o.index,e(o.value)),o):o}))},i.contramap=function(e){T(e);var t=this;return o((function(r,n){var o=t.parse(e(r.slice(n)));return o.status?S(n+r.length,o.value):o}))},i.promap=function(e,t){return T(e),T(t),this.contramap(e).map(t)},i.skip=function(e){return H(this,e).map((function(e){return e[0]}))},i.mark=function(){return W(oe,this,oe,(function(e,t,r){return{start:e,value:t,end:r}}))},i.node=function(e){return W(oe,this,oe,(function(t,r,n){return{name:e,value:r,start:t,end:n}}))},i.sepBy=function(e){return q(this,e)},i.sepBy1=function(e){return Z(this,e)},i.lookahead=function(e){return this.skip(X(e))},i.notFollowedBy=function(e){return this.skip(ee(e))},i.desc=function(e){w(e)||(e=[e]);var t=this;return o((function(r,n){var o=t._(r,n);return o.status||(o.expected=e),o}))},i.fallback=function(e){return this.or(J(e))},i.ap=function(e){return W(e,this,(function(e,t){return e(t)}))},i.chain=function(e){var t=this;return o((function(r,n){var o=t._(r,n);return o.status?x(e(o.value)._(r,o.index),o):o}))},i.concat=i.or,i.empty=ne,i.of=J,i["fantasy-land/ap"]=i.ap,i["fantasy-land/chain"]=i.chain,i["fantasy-land/concat"]=i.concat,i["fantasy-land/empty"]=i.empty,i["fantasy-land/of"]=i.of,i["fantasy-land/map"]=i.map;var oe=o((function(e,t){return S(t,P(e,t))})),ie=o((function(e,t){return t>=e.length?O(t,"any character/byte"):S(t+1,_(e,t))})),ae=o((function(e,t){return S(e.length,e.slice(t))})),se=o((function(e,t){return t<e.length?O(t,"EOF"):S(t,null)})),le=K(/[0-9]/).desc("a digit"),ue=K(/[0-9]*/).desc("optional digits"),ce=K(/[a-z]/i).desc("a letter"),fe=K(/[a-z]*/i).desc("optional letters"),he=K(/\s*/).desc("optional whitespace"),pe=K(/\s+/).desc("whitespace"),de=G("\r"),ge=G("\n"),ye=G("\r\n"),ve=Y(ye,ge,de).desc("newline"),me=Y(ve,se);o.all=ae,o.alt=Y,o.any=ie,o.cr=de,o.createLanguage=function(e){var t={};for(var r in e)({}).hasOwnProperty.call(e,r)&&function(r){t[r]=re((function(){return e[r](t)}))}(r);return t},o.crlf=ye,o.custom=function(e){return o(e(S,O))},o.digit=le,o.digits=ue,o.empty=ne,o.end=me,o.eof=se,o.fail=Q,o.formatError=z,o.index=oe,o.isParser=b,o.lazy=re,o.letter=ce,o.letters=fe,o.lf=ge,o.lookahead=X,o.makeFailure=O,o.makeSuccess=S,o.newline=ve,o.noneOf=function(e){return te((function(t){return e.indexOf(t)<0})).desc("none of '"+e+"'")},o.notFollowedBy=ee,o.of=J,o.oneOf=function(e){for(var t=e.split(""),r=0;r<t.length;r++)t[r]="'"+t[r]+"'";return te((function(t){return e.indexOf(t)>=0})).desc(t)},o.optWhitespace=he,o.Parser=o,o.range=function(e,t){return te((function(r){return e<=r&&r<=t})).desc(e+"-"+t)},o.regex=K,o.regexp=K,o.sepBy=q,o.sepBy1=Z,o.seq=H,o.seqMap=W,o.seqObj=function(){for(var e,t={},r=0,n=(e=arguments,Array.prototype.slice.call(e)),i=n.length,a=0;a<i;a+=1){var s=n[a];if(!b(s)){if(w(s)&&2===s.length&&"string"==typeof s[0]&&b(s[1])){var l=s[0];if(Object.prototype.hasOwnProperty.call(t,l))throw new Error("seqObj: duplicate key "+l);t[l]=!0,r++;continue}throw new Error("seqObj arguments must be parsers or [string, parser] array pairs.")}}if(0===r)throw new Error("seqObj expects at least one named parser, found zero");return o((function(e,t){for(var r,o={},a=0;a<i;a+=1){var s,l;if(w(n[a])?(s=n[a][0],l=n[a][1]):(s=null,l=n[a]),!(r=x(l._(e,t),r)).status)return r;s&&(o[s]=r.value),t=r.index}return x(S(t,o),r)}))},o.string=G,o.succeed=J,o.takeWhile=function(e){return T(e),o((function(t,r){for(var n=r;n<t.length&&e(_(t,n));)n++;return S(n,t.slice(r,n))}))},o.test=te,o.whitespace=pe,o["fantasy-land/empty"]=ne,o["fantasy-land/of"]=J,o.Binary={bitSeq:h,bitSeqObj:function(e){f();var t={},r=0,n=l((function(e){if(w(e)){var n=e;if(2!==n.length)throw new Error("["+n.join(", ")+"] should be length 2, got length "+n.length);if(C(n[0]),k(n[1]),Object.prototype.hasOwnProperty.call(t,n[0]))throw new Error("duplicate key in bitSeqObj: "+n[0]);return t[n[0]]=!0,r++,n}return k(e),[null,e]}),e);if(r<1)throw new Error("bitSeqObj expects at least one named pair, got ["+e.join(", ")+"]");var o=l((function(e){return e[0]}),n);return h(l((function(e){return e[1]}),n)).map((function(e){return s((function(e,t){return null!==t[0]&&(e[t[0]]=t[1]),e}),{},l((function(t,r){return[t,e[r]]}),o))}))},byte:function(e){if(f(),k(e),e>255)throw new Error("Value specified to byte constructor ("+e+"=0x"+e.toString(16)+") is larger in value than a single byte.");var t=(e>15?"0x":"0x0")+e.toString(16);return o((function(r,n){var o=_(r,n);return o===e?S(n+1,o):O(n,t)}))},buffer:function(e){return p("buffer",e).map((function(e){return t.from(e)}))},encodedString:function(e,t){return p("string",t).map((function(t){return t.toString(e)}))},uintBE:g,uint8BE:g(1),uint16BE:g(2),uint32BE:g(4),uintLE:y,uint8LE:y(1),uint16LE:y(2),uint32LE:y(4),intBE:v,int8BE:v(1),int16BE:v(2),int32BE:v(4),intLE:m,int8LE:m(1),int16LE:m(2),int32LE:m(4),floatBE:p("floatBE",4).map((function(e){return e.readFloatBE(0)})),floatLE:p("floatLE",4).map((function(e){return e.readFloatLE(0)})),doubleBE:p("doubleBE",8).map((function(e){return e.readDoubleBE(0)})),doubleLE:p("doubleLE",8).map((function(e){return e.readDoubleLE(0)}))},e.exports=o}])}).call(this,r(21).Buffer)},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.clone=s,t.addLast=u,t.addFirst=c,t.removeLast=f,t.removeFirst=h,t.insert=p,t.removeAt=d,t.replaceAt=g,t.getIn=y,t.set=v,t.setIn=m,t.update=w,t.updateIn=E,t.merge=S,t.mergeDeep=O,t.mergeIn=x,t.omit=A,t.addDefaults=P,t.default=void 0;const n="INVALID_ARGS";function o(e){throw new Error(e)}function i(e){const t=Object.keys(e);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(e)):t}const a={}.hasOwnProperty;function s(e){if(Array.isArray(e))return e.slice();const t=e,r=i(t),n={};for(let o=0;o<r.length;o++){const e=r[o];n[e]=t[e]}return n}function l(e){return null!=e&&"object"===typeof e}function u(e,t){return Array.isArray(t)?e.concat(t):e.concat([t])}function c(e,t){return Array.isArray(t)?t.concat(e):[t].concat(e)}function f(e){return e.length?e.slice(0,e.length-1):e}function h(e){return e.length?e.slice(1):e}function p(e,t,r){return e.slice(0,t).concat(Array.isArray(r)?r:[r]).concat(e.slice(t))}function d(e,t){return t>=e.length||t<0?e:e.slice(0,t).concat(e.slice(t+1))}function g(e,t,r){if(e[t]===r)return e;const n=e.length,o=Array(n);for(let i=0;i<n;i++)o[i]=e[i];return o[t]=r,o}function y(e,t){if(Array.isArray(t)||o(n),null==e)return;let r=e;for(let n=0;n<t.length;n++){const e=t[n];if(r=null!=r?r[e]:void 0,void 0===r)return r}return r}function v(e,t,r){let n=e;if(null==n&&(n="number"===typeof t?[]:{}),n[t]===r)return n;const o=s(n);return o[t]=r,o}function m(e,t,r){return t.length?b(e,t,r,0):r}function b(e,t,r,n){let o;const i=t[n];if(n===t.length-1)o=r;else{o=b(l(e)&&l(e[i])?e[i]:"number"===typeof t[n+1]?[]:{},t,r,n+1)}return v(e,i,o)}function w(e,t,r){return v(e,t,r(null==e?void 0:e[t]))}function E(e,t,r){return m(e,t,r(y(e,t)))}function S(e,t,r,n,o,i,...a){return a.length?R.call(null,!1,!1,e,t,r,n,o,i,...a):R(!1,!1,e,t,r,n,o,i)}function O(e,t,r,n,o,i,...a){return a.length?R.call(null,!1,!0,e,t,r,n,o,i,...a):R(!1,!0,e,t,r,n,o,i)}function x(e,t,r,n,o,i,a,...s){let l,u=y(e,t);return null==u&&(u={}),l=s.length?R.call(null,!1,!1,u,r,n,o,i,a,...s):R(!1,!1,u,r,n,o,i,a),m(e,t,l)}function A(e,t){const r=Array.isArray(t)?t:[t];let n=!1;for(let i=0;i<r.length;i++)if(a.call(e,r[i])){n=!0;break}if(!n)return e;const o={},s=i(e);for(let i=0;i<s.length;i++){const t=s[i];r.indexOf(t)>=0||(o[t]=e[t])}return o}function P(e,t,r,n,o,i,...a){return a.length?R.call(null,!0,!1,e,t,r,n,o,i,...a):R(!0,!1,e,t,r,n,o,i)}function R(e,t,r,...a){let u=r;null==u&&o(n);let c=!1;for(let n=0;n<a.length;n++){const r=a[n];if(null==r)continue;const o=i(r);if(o.length)for(let n=0;n<=o.length;n++){const i=o[n];if(e&&void 0!==u[i])continue;let a=r[i];t&&l(u[i])&&l(a)&&(a=R(e,t,u[i],a)),void 0!==a&&a!==u[i]&&(c||(c=!0,u=s(u)),u[i]=a)}}return u}var _={clone:s,addLast:u,addFirst:c,removeLast:f,removeFirst:h,insert:p,removeAt:d,replaceAt:g,getIn:y,set:v,setIn:m,update:w,updateIn:E,merge:S,mergeDeep:O,mergeIn:x,omit:A,addDefaults:P};t.default=_},function(e,t,r){"use strict";r.d(t,"withoutContext",(function(){return Ge}));var n=r(0),o=r(6),i=r.n(o),a=r(9),s=r.n(a),l=r(1),u=r.n(l),c=r(13),f=r(4),h=r.n(f),p=r(2),d=r(7),g=r(10),y=r.n(g),v=r(11),m=r.n(v),b=r(14);const w=e=>({name:"Value",value:e}),E=e=>({name:"Expression",value:e}),S=e=>({name:"PathNode",path:e}),O=(e,t)=>({name:"Query",key:e,value:t}),x=e=>1===e.length?e[0]:{name:"Concatenated",value:e},A=u.a.string('"'),P=u.a.string("'"),R=u.a.string("`"),_=u.a.regex(/[\w\-@]+/).desc("identifier").map(w);let k;const T=u.a.lazy((()=>k)).trim(u.a.optWhitespace).wrap(u.a.string("{{"),u.a.string("}}")).map(S),C=u.a.regex(/[^`]*/).wrap(R,R).map(E),j=u.a.alt(_,T,C).atLeast(1).map(s.a).map(x),U=u.a.alt(u.a.regex(/[^"]*/).wrap(A,A).map(w),u.a.regex(/[^']*/).wrap(P,P).map(w),j),L=u.a.seq(U,u.a.string("=").times(1,3).trim(u.a.optWhitespace),U).map((([e,,t])=>O(e,t))),B=u.a.alt(L,U).trim(u.a.optWhitespace).wrap(u.a.string("["),u.a.string("]")).many(),N=u.a.seqMap(j,B,((e,t)=>[e,...t]));k=u.a.sepBy(N,u.a.string(".")).map(s.a),new c.Grammars.W3C.Parser('\nvalue ::= segment_and_bracket (SEGMENT_SEPARATOR segment_and_bracket)*\nsegment ::= concatenated | expression | modelRef | identifier \nconcatenated ::= (expression | modelRef | identifier)+ \nmodelRef ::= OPEN_CURL OPEN_CURL value CLOSE_CURL CLOSE_CURL \nidentifier ::= [\\w\\-@]+\nquery ::= WHITESPACE* optionally_quoted_segment WHITESPACE* EQUALS EQUALS? EQUALS? WHITESPACE* optionally_quoted_segment WHITESPACE*\nbrackets ::= OPEN_BRACKET WHITESPACE* (query | optionally_quoted_segment) WHITESPACE* CLOSE_BRACKET \nsegment_and_bracket ::= segment brackets*\nquoted_value ::= [^"\']*\noptionally_quoted_segment ::= WHITESPACE* SINGLE_QUOTE quoted_value SINGLE_QUOTE WHITESPACE* | WHITESPACE* DOUBLE_QUOTE quoted_value DOUBLE_QUOTE WHITESPACE* | WHITESPACE* segment WHITESPACE*\nexpression_value ::= [^`]*\nexpression ::= BACK_TICK expression_value BACK_TICK\n\nEQUALS ::= "="\nSEGMENT_SEPARATOR ::= "."\nSINGLE_QUOTE ::= "\'"\nDOUBLE_QUOTE ::= \'"\'\nWHITESPACE ::= " "\nOPEN_CURL ::= "{"\nCLOSE_CURL ::= "}" \nOPEN_BRACKET ::= "[" \nCLOSE_BRACKET ::= "]"\nBACK_TICK ::= "`" \n');const I="{",D="'",M="`",V=e=>{if(!e)return!1;const t=e.charCodeAt(0);return t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122||95===t||45===t||64===t},F=e=>{let t=1,r=e.charAt(0);const n=n=>{if(n&&r!==n)throw new Error(`Expected char: ${n} but got: ${r}`);return r=e.charAt(t),t+=1,r},o=()=>{for(;" "===r;)n()},i=()=>{var e,t;return null!=(t=null!=(e=(()=>{if(r===I&&(n(I),r===I)){n(I);const e=u();return n("}"),n("}"),e}})())?e:(()=>{if(r===M){n(M);let e=r;for(;n()&&r!==M;)e+=r;if(n(M),e)return E(e)}})())?t:(()=>{if(!V(r))return;let e=r;for(;n()&&V(r);)e+=r;return e?w(e):void 0})()},a=()=>{if(o(),r===D||'"'===r){const e=r===D;n(e?D:'"');const t=(e=>{if(!(null==r?void 0:r.match(e)))return;let t=r;for(;n()&&(null==r?void 0:r.match(e));)t+=r;return t?w(t):void 0})(/[^'"]+/);return n(e?D:'"'),t}return i()},s=()=>{if("["===r){n("["),o();let e=a();if(!e)throw new Error("Expected identifier");if(o(),(()=>{if("="!==r)return!1;for(;"="===r;)n();return!0})()){o();const t=a();e=O(e,t),o()}return e&&n("]"),e}},l=()=>{const e=[],t=(()=>{const e=[];let t=i();for(;void 0!==t;)e.push(t),t=i();if(0!==e.length)return x(e)})();if(t){e.push(t);let r=s();for(;void 0!==r;)e.push(r),r=s()}return e},u=()=>{const e=[];let t=l();for(;void 0!==t&&(e.push(...t),r&&"}"!==r);){if(0===t.length&&r)throw new Error(`Unexpected character: ${r}`);n("."),t=l()}return S(e)};try{return{status:!0,path:u()}}catch(c){return{status:!1,error:c.message}}};function z(e){return!("string"===typeof e||Array.isArray(e))}class ${constructor(e,t=(e=>new $(e))){const r=Array.isArray(e)?e:e.split(".");this.split=r.map((e=>{if("number"===typeof e)return e;const t=Number(e);return isNaN(t)?e:t})),Object.freeze(this.split),this.joined=this.split.join("."),this.factory=t}asArray(){return this.split}asString(){return this.joined}contains(e){const t=e.asArray();if(t.length<this.split.length)return!1;for(let r=0;r<this.split.length;r++)if(this.split[r]!==t[r])return!1;return!0}relative(e){return this.asArray().slice(e.asArray().length)}parent(){return this.factory(this.split.slice(0,-1))}key(){return this.split[this.split.length-1]}descendent(e){const t=(r=e,Array.isArray(r)?r:"string"===typeof r?r.split("."):r.asArray());var r;return this.factory(this.split.concat(t))}}var H=Object.defineProperty,W=Object.getOwnPropertySymbols,Y=Object.prototype.hasOwnProperty,q=Object.prototype.propertyIsEnumerable,Z=(e,t,r)=>t in e?H(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,G=(e,t)=>{for(var r in t||(t={}))Y.call(t,r)&&Z(e,r,t[r]);if(W)for(var r of W(t))q.call(t,r)&&Z(e,r,t[r]);return e};function K(e,t,r){var n;const o={updates:{},path:[]};function a(e){if("Value"===e.name)return e.value;if("PathNode"===e.name){const n=K(e,t);n.updates&&(o.updates=G(G({},o.updates),n.updates));try{return t.convertToPath(t.getValue(n.path))}catch(r){throw new i.a(`Unable to resolve path segment: ${n.path}`,r)}}if("Expression"===e.name)try{const r=t.evaluate(e.value);return t.convertToPath(r)}catch(r){throw new i.a(`Unable to resolve path: ${e.value}`,r)}throw new Error(`Unable to resolve value for node: ${e.name}`)}function s(e){"string"===typeof e&&e.indexOf(".")>-1?e.split(".").forEach((e=>{o.path.push(function(e){const t=parseInt(e,10);return isNaN(t)?e:t}(e))})):o.path.push(e)}return e.path.forEach((function(e){var n,i;const l=null!=(n=null==r?void 0:r.beforeResolveNode.call(e,G(G({},o),t)))?n:e;switch(l.name){case"Expression":case"PathNode":s(a(l));break;case"Value":s(l.value);break;case"Query":{const e=null!=(i=t.getValue(o.path))?i:[],{key:r,value:n}=l,s=a(r),u=n&&a(n),c=function(e,t,r){return e.findIndex((e=>!(!e||"object"!==typeof e)&&e[t]==r))}(e,s,u);void 0===c||-1===c?(o.updates[[...o.path,e.length,s].join(".")]=u,o.path.push(e.length)):o.path.push(c);break}case"Concatenated":o.path.push(l.value.map(a).join(""));break;default:throw new Error(`Unsupported node type: ${l.name}`)}})),{path:o.path,updates:Object.keys(null!=(n=o.updates)?n:{}).length>0?o.updates:void 0}}var J=Object.defineProperty,Q=Object.getOwnPropertySymbols,X=Object.prototype.hasOwnProperty,ee=Object.prototype.propertyIsEnumerable,te=(e,t,r)=>t in e?J(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,re=(e,t)=>{for(var r in t||(t={}))X.call(t,r)&&te(e,r,t[r]);if(Q)for(var r of Q(t))ee.call(t,r)&&te(e,r,t[r]);return e};const ne=/^[\w\-@]+(\.[\w\-@]+)*$/,oe={get:()=>{throw new Error("Not Implemented")},set:()=>{throw new Error("Not Implemented")},evaluate:()=>{throw new Error("Not Implemented")}};class ie{constructor(e){this.hooks={skipOptimization:new n.a,beforeResolveNode:new n.c},this.parserOptions=re(re({},oe),e),this.cache={},this.parseCache={},this.parse=this.parse.bind(this)}normalizePath(e,t){var r,n;if(e.match(ne)&&!0!==this.hooks.skipOptimization.call(e))return{path:e.split("."),updates:void 0};const o=null!=(r=this.parseCache[e])?r:F(e);if(this.parseCache[e]=o,"object"!==typeof o||!(null==o?void 0:o.status))throw new TypeError(`Cannot normalize path "${e}": ${null!=(n=null==o?void 0:o.error)?n:"Unknown Error."}`);try{return K(o.path,t,this.hooks)}catch(a){throw new i.a(`Cannot resolve binding: ${e}`,a)}}getBindingForNormalizedResult(e){const t=e.path.join(".");if(this.cache[t])return this.cache[t];const r=new $(""===t?[]:e.path,this.parse);return this.cache[t]=r,r}parse(e,t={}){if(z(e))return e;const r=re(re({},this.parserOptions),t);let n={};const o=Array.isArray(e)?e.join("."):String(e),i={getValue:e=>{const t=this.normalizePath(e.join("."),i);return r.get(this.getBindingForNormalizedResult(t))},evaluate:e=>r.evaluate(e),convertToPath:e=>{if(void 0===e)throw new Error("Attempted to convert undefined value to binding path");if("string"!==typeof e&&"number"!==typeof e&&"boolean"!==typeof e)throw new Error(`Attempting to convert ${typeof e} to a binding path.`);const t=this.normalizePath(String(e),i);t.updates&&(n=re(re({},n),t.updates));const r=t.path.join(".");if(""===r)throw new Error("Nested path resolved to an empty path");return r}},a=this.normalizePath(o,i);a.updates&&(n=re(re({},n),a.updates));const s=Object.keys(n);if(s.length>0){const e=s.map((e=>[this.parse(e),n[e]]));r.set(e)}return this.getBindingForNormalizedResult(a)}}class ae{constructor(){this.readDeps=new Set,this.writeDeps=new Set,this.namedDependencySets={},this.namedSet="core",this.createSubset("core"),this.createSubset("children")}createSubset(e,t=!1){!t&&this.namedDependencySets[e]||(this.namedDependencySets[e]={readDeps:new Set,writeDeps:new Set})}getDependencies(e){var t,r,n;return void 0!==e?null!=(n=null==(r=null==(t=this.namedDependencySets)?void 0:t[e])?void 0:r.readDeps)?n:new Set:this.readDeps}trackSubset(e){this.createSubset(e),this.namedSet=e}trackDefault(){this.namedSet="core"}getModified(e){var t,r,n;return void 0!==e?null!=(n=null==(r=null==(t=this.namedDependencySets)?void 0:t[e])?void 0:r.writeDeps)?n:new Set:this.writeDeps}readsBinding(e){return this.readDeps.has(e)}writesBinding(e){return this.writeDeps.has(e)}reset(){this.readDeps=new Set,this.writeDeps=new Set,this.namedDependencySets={},this.namedSet="core",this.createSubset("core",!0),this.createSubset("children",!0)}addReadDep(e,t=this.namedSet){var r,n;t&&(null==(n=null==(r=this.namedDependencySets)?void 0:r[t])||n.readDeps.add(e)),this.readDeps.add(e)}addWriteDep(e,t=this.namedSet){var r,n;t&&(null==(n=null==(r=this.namedDependencySets)?void 0:r[t])||n.writeDeps.add(e)),this.writeDeps.add(e)}addChildReadDep(e){this.addReadDep(e,"children")}}class se extends ae{constructor(e){super(),this.rootModel=e,this.set=this.set.bind(this),this.get=this.get.bind(this)}set(e,t){return e.forEach((([e])=>this.addWriteDep(e))),this.rootModel.set(e,t)}get(e,t){return this.addReadDep(e),this.rootModel.get(e,t)}}const le=new class{get(){}set(){return[]}},ue=new $([]);function ce(e,t,r){return r?{get:(n,o)=>e.get(n,null!=o?o:t,r),set:(n,o)=>e.set(n,null!=o?o:t,r)}:e}function fe(e){if(0===e.length)return le;if(1===e.length)return e[0];function t(t){var r;return null!=(r=e.reduce(((e,r)=>ce(r,t,e)),void 0))?r:le}return{get:(e,r)=>{var n;return null==(n=t(r))?void 0:n.get(e,r)},set:(e,r)=>{var n;return null==(n=t(r))?void 0:n.set(e,r)}}}class he{constructor(e=[]){this.hooks={onSet:new n.b},this.pipeline=e,this.effectiveDataModel=fe(this.pipeline)}setMiddleware(e){this.pipeline=e,this.effectiveDataModel=fe(e)}addMiddleware(e){this.pipeline=[...this.pipeline,e],this.effectiveDataModel=fe(this.pipeline)}reset(e={}){this.pipeline.forEach((e=>{var t;"reset"in e&&(null==(t=e.reset)||t.call(e))})),this.set([[ue,e]])}set(e,t){const r=this.effectiveDataModel.set(e,t);return this.hooks.onSet.call(e),r}get(e,t){return this.effectiveDataModel.get(e,t)}}class pe{constructor(e={}){this.model=e,this.get=this.get.bind(this),this.set=this.set.bind(this)}reset(e={}){this.model=e}get(e){return e&&e.asString()?h()(this.model,e.asArray()):this.model}set(e){const t=[];return e.forEach((([e,r])=>{const n=this.get(e);this.model=Object(p.setIn)(this.model,e.asArray(),r),t.push({binding:e,oldValue:n,newValue:r})})),t}}const de=Symbol("Expression Node ID");const ge=46,ye=40,ve=123,me=125,be=!0,we={"-":be,"!":be,"~":be,"+":be},Ee={"=":3,"+=":3,"-=":3,"&=":3,"|=":3,"||":5,"&&":6,"|":7,"^":8,"&":9,"==":10,"!=":10,"===":10,"!==":10,"<":11,">":11,"<=":11,">=":11,"<<":12,">>":12,">>>":12,"+":13,"-":13,"*":14,"/":14,"%":14};function Se(e,t){const r=new Error(`${e} at character ${t}`);throw r.index=t,r.description=e,r}function Oe(e,t){if(e&&t)return{start:e.start,end:t.end}}function xe(e){let t=0;return Object.keys(e).forEach((r=>{r.length>t&&Object.prototype.hasOwnProperty.call(e,r)&&(t=r.length)})),t}const Ae=xe(we),Pe=xe(Ee),Re={true:!0,false:!1,null:null,undefined:void 0};function _e(e){return Ee[e]||0}function ke(e,t,r,n){let o;return o="||"===e||"&&"===e?"LogicalExpression":"="===e?"Assignment":"+="===e||"-="===e||"&="===e||"|="===e?"Modification":"BinaryExpression",{__id:de,type:o,operator:e,left:t,right:r,location:n}}function Te(e){return e>=48&&e<=57}function Ce(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122}function je(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57}function Ue(e){const t=e.charAt,r=e.charCodeAt,{length:n}=e;let o=0;const i=e=>({start:{character:e},end:{character:o}});function a(r){return t.call(e,r)}function s(t){return r.call(e,t)}function l(){let e=s(o);for(;32===e||9===e;)e=s(++o)}function u(){const e=function(){let e,t,r,n=f(),i=c();if(!i)return n;let a={value:i,prec:_e(i)},s=f();s||Se(`Expected expression after ${i}`,o);const l=[n,a,s];i=c();for(;i&&(t=_e(i),0!==t);){for(a={value:i,prec:t};l.length>2&&t<=l[l.length-2].prec;)s=l.pop(),i=l.pop().value,n=l.pop(),e=ke(i,n,s,Oe(n.location,s.location)),l.push(e);e=f(),e||Se(`Expected expression after ${i}`,o),l.push(a,e),i=c()}r=l.length-1,e=l[r];for(;r>1;)e=ke(l[r-1].value,l[r-2],e,Oe(l[r-2].location,e.location)),r-=2;return e}();l();const t=o;if(o<n&&63===s(o)){o++;const r=u();if(r||Se("Expected expression",o),l(),58===s(o)){o++;const n=u();return n||Se("Expected expression",o),{__id:de,type:"ConditionalExpression",test:e,consequent:r,alternate:n,location:i(t)}}Se("Expected :",o)}return e}function c(){l();let t=e.substr(o,Pe),r=t.length;for(;r>0;){if(Object.prototype.hasOwnProperty.call(Ee,t))return o+=r,t;t=t.substr(0,--r)}return!1}function f(){l();const t=s(o),r=o;if(Te(t)||46===t)return function(){let e="";const t=o;for(;Te(s(o));)e+=a(o++);if(s(o)===ge)for(e+=a(o++);Te(s(o));)e+=a(o++);let r=a(o);if("e"===r||"E"===r){for(e+=a(o++),r=a(o),"+"!==r&&"-"!==r||(e+=a(o++));Te(s(o));)e+=a(o++);Te(s(o-1))||Se(`Expected exponent (${e}${a(o)})`,o)}const n=s(o);Ce(n)?Se(`Variable names cannot start with a number (${e}${a(o)})`,o):n===ge&&Se("Unexpected period",o);return{__id:de,type:"Literal",value:parseFloat(e),raw:e,location:i(t)}}();if(39===t||34===t)return h();if(Ce(t)||40===t)return function(){let e=s(o),t=e===ye?function(){o++;const e=u();if(l(),41===s(o))return o++,e;Se("Unclosed (",o)}():p();const r=o;l(),e=s(o);for(;e===ge||91===e||e===ye;)o++,e===ge?(l(),t={__id:de,type:"MemberExpression",computed:!1,object:t,property:p(),location:i(r)}):91===e?(t={__id:de,type:"MemberExpression",computed:!0,object:t,property:u(),location:i(r)},l(),e=s(o),93!==e&&Se("Unclosed [",o),o++):e===ye&&(t={__id:de,type:"CallExpression",args:d(41),callTarget:t,location:i(r)}),l(),e=s(o);return t}();if(91===t)return function(){const e=o;return o++,{__id:de,type:"ArrayExpression",elements:d(93),location:i(e)}}();if(c=t,g=s(o+1),c===ve&&g===ve)return function(){let e="",t=!1,r=1;const l=o;o+=2;for(;o<n;){const n=a(o++);if("}"===n&&s(o)===me){if(o++,r--,0===r){t=!0;break}e+="}}"}else"{"===n&&s(o)===ve?(r++,e+="{{",o++):e+=n}t||Se(`Unclosed brace after "${e}"`,o);return{__id:de,type:"ModelRef",ref:e,location:i(l)}}();var c,g;if(t===ve)return function(){const e=[];let t,r,a,c=!1,f=!0;const p=o;for(++o;o<n;){if(l(),a=s(o),125===a){t&&Se("A key was defined but a value was not",o),o++,c=!0;break}f?(39!==a&&34!==a&&Se("An object must start wtih a key",o),t=h(),l(),58===s(o)?(o++,f=!1):Se("A colon must follow an object key",o)):(r=u(),e.push({key:t,value:r}),l(),a=s(o),44===a?o++:125!==a&&Se("Please add a comma to add another key",o),f=!0,t=void 0,r=void 0),a=s(o)}return c||Se("Unclosed brace in object",o),{__id:de,type:"Object",attributes:e,location:i(p)}}();let y=e.substr(o,Ae),v=y.length;for(;v>0;){if(Object.prototype.hasOwnProperty.call(we,y))return o+=v,{__id:de,type:"UnaryExpression",operator:y,argument:f(),prefix:!0,location:i(r)};y=y.substr(0,--v)}return!1}function h(){const e=a(o++);let t="",r=!1;const s=o;for(;o<n;){let n=a(o++);if(n===e){r=!0;break}if("\\"===n)switch(n=a(o++),n){case"n":t+="\n";break;case"r":t+="\r";break;case"t":t+="\t";break;case"b":t+="\b";break;case"f":t+="\f";break;case"v":t+="\v"}else t+=n}return r||Se(`Unclosed quote after "${t}"`,o),{__id:de,type:"Literal",value:t,raw:`${e}${t}${e}`,location:i(s)}}function p(){const t=o;let r=s(t);for(Ce(r)?o++:Se(`Unexpected ${a(o)}`,o);o<n&&(r=s(o),je(r));)o++;const l=e.slice(t,o);return Object.prototype.hasOwnProperty.call(Re,l)?{__id:de,type:"Literal",value:Re[l],raw:l,location:i(t)}:"this"===l?{__id:de,type:"ThisExpression",location:i(t)}:{__id:de,type:"Identifier",name:l,location:i(t)}}function d(e){const t=[];let r,i;for(;o<n;){if(l(),r=s(o),r===e){o++;break}44!==r?(i=u(),i&&"Compound"!==i.type||Se("Expected comma",o),t.push(i)):o++}return t}const g=[];for(;o<n;){const e=s(o);if(59===e||44===e){o++;continue}const t=u();t?g.push(t):o<n&&Se(`Unexpected "${a(o)}"`,o)}return 1===g.length?g[0]:{__id:de,type:"Compound",body:g,location:i(0)}}var Le=Object.freeze({__proto__:null,setDataVal:(e,t,r)=>{e.model.set([[t,r]])},getDataVal:(e,t)=>e.model.get(t),deleteDataVal:(e,t)=>e.model.set([[t,void 0]])}),Be=Object.defineProperty,Ne=Object.defineProperties,Ie=Object.getOwnPropertyDescriptors,De=Object.getOwnPropertySymbols,Me=Object.prototype.hasOwnProperty,Ve=Object.prototype.propertyIsEnumerable,Fe=(e,t,r)=>t in e?Be(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ze=(e,t)=>{for(var r in t||(t={}))Me.call(t,r)&&Fe(e,r,t[r]);if(De)for(var r of De(t))Ve.call(t,r)&&Fe(e,r,t[r]);return e},$e=(e,t)=>Ne(e,Ie(t));const He=(e,t,r)=>e.evaluate(t)&&e.evaluate(r);He.resolveParams=!1;const We=(e,t,r)=>e.evaluate(t)||e.evaluate(r);We.resolveParams=!1;const Ye={"+":(e,t)=>e+t,"-":(e,t)=>e-t,"*":(e,t)=>e*t,"/":(e,t)=>e/t,"%":(e,t)=>e%t,"==":(e,t)=>e==t,"!=":(e,t)=>e!=t,">":(e,t)=>e>t,">=":(e,t)=>e>=t,"<":(e,t)=>e<t,"<=":(e,t)=>e<=t,"&&":He,"||":We,"!==":(e,t)=>e!==t,"===":(e,t)=>e===t,"|":(e,t)=>e|t,"&":(e,t)=>e&t,"+=":(e,t)=>e+t,"-=":(e,t)=>e-t,"&=":(e,t)=>e&t,"|=":(e,t)=>e|t},qe={"-":e=>-e,"+":e=>Number(e),"!":e=>!e};class Ze{constructor(e){this.vars={},this.hooks={resolve:new n.c,onError:new n.a},this.expressionsCache=new Map,this.operators={binary:new Map(Object.entries(Ye)),unary:new Map(Object.entries(qe)),expressions:new Map(Object.entries(Le))},this.defaultHookOptions=$e(ze({},e),{evaluate:e=>this.evaluate(e,this.defaultHookOptions),resolveNode:e=>this._execAST(e,this.defaultHookOptions)}),this.hooks.resolve.tap("ExpressionEvaluator",this._resolveNode.bind(this)),this.evaluate=this.evaluate.bind(this)}reset(){this.expressionsCache.clear()}evaluate(e,t){const r=$e(ze(ze({},this.defaultHookOptions),t),{resolveNode:e=>this._execAST(e,r)});if("number"===typeof e||"boolean"===typeof e||void 0===e||null===e)return e;if("object"===typeof(n=e)&&n.__id===de)return this._execAST(e,r);var n;if("object"===typeof e){return(Array.isArray(e)?e:Object.values(e)).reduce(((e,r)=>this.evaluate(r,t)),null)}return this._execString(String(e),r)}addExpressionFunction(e,t){this.operators.expressions.set(e,t)}addBinaryOperator(e,t){this.operators.binary.set(e,t)}addUnaryOperator(e,t){this.operators.unary.set(e,t)}setExpressionVariable(e,t){this.vars[e]=t}getExpressionVariable(e){return this.vars[e]}_execAST(e,t){return this.hooks.resolve.call(void 0,e,t)}_execString(e,t){if(""===e)return e;const r=e.match(/^@\[(.*)\]@$/);let n=e;r&&([,n]=Array.from(r));try{const e=this.expressionsCache.get(n);if(e)return this._execAST(e,t);const r=Ue(n);return this.expressionsCache.set(n,r),this._execAST(r,t)}catch(o){if(!this.hooks.onError.call(o))throw o}}_resolveNode(e,t,r){const{resolveNode:n,model:o}=r,i=$e(ze({},r),{evaluate:e=>this.evaluate(e,r)});if("Literal"===t.type)return t.value;if("Identifier"===t.type)return this.vars[t.name];if("Compound"===t.type||"ThisExpression"===t.type)throw new Error(`Expression type: ${t.type} is not supported`);if("BinaryExpression"===t.type||"LogicalExpression"===t.type){const e=this.operators.binary.get(t.operator);return e?"resolveParams"in e?!1===e.resolveParams?e(i,t.left,t.right):e(i,n(t.left),n(t.right)):e(n(t.left),n(t.right)):void 0}if("UnaryExpression"===t.type){const e=this.operators.unary.get(t.operator);return e?"resolveParams"in e?e(i,!1===e.resolveParams?t.argument:n(t.argument)):e(n(t.argument)):void 0}if("Object"===t.type){const{attributes:e}=t,r={};return e.forEach((e=>{const t=n(e.key),o=n(e.value);r[t]=o})),r}if("CallExpression"===t.type){const e=t.callTarget.name;if("conditional"===e){return n(t.args[0])?n(t.args[1]):t.args[2]?n(t.args[2]):null}const r=this.operators.expressions.get(e);if(!r)throw new Error(`Unknown expression function: ${e}`);return r(i,...t.args.map((e=>n(e))))}if("ModelRef"===t.type)return o.get(t.ref);if("MemberExpression"===t.type){return n(t.object)[n(t.property)]}if("Assignment"!==t.type){if("ConditionalExpression"===t.type){const e=n(t.test)?t.consequent:t.alternate;return n(e)}if("ArrayExpression"===t.type)return t.elements.map((e=>n(e)));if("Modification"===t.type){const e=this.operators.binary.get(t.operator);if(e){let r;return r="resolveParams"in e?!1===e.resolveParams?e(i,t.left,t.right):e(i,n(t.left),n(t.right)):e(n(t.left),n(t.right)),"ModelRef"===t.left.type?o.set([[t.left.ref,r]]):"Identifier"===t.left.type&&(this.vars[t.left.name]=r),r}return n(t.left)}}else{if("ModelRef"===t.left.type){const e=n(t.right);return o.set([[t.left.ref,e]]),e}if("Identifier"===t.left.type){const e=n(t.right);return this.vars[t.left.name]=e,e}}}}function Ge(e){return(t,...r)=>e(...r)}class Ke{constructor(){this.hooks={trace:new n.b,debug:new n.b,info:new n.b,warn:new n.b,error:new n.b,log:new n.b},this.logHandlers=new Set,this.trace=this.createHandler("trace"),this.debug=this.createHandler("debug"),this.info=this.createHandler("info"),this.warn=this.createHandler("warn"),this.error=this.createHandler("error")}createHandler(e){return(...t)=>{this.hooks[e].call(t),this.hooks.log.call(e,t),this.logHandlers.forEach((r=>r[e](...t)))}}addHandler(e){this.logHandlers.add(e)}removeHandler(e){this.logHandlers.delete(e)}}class Je{constructor(e){this.trace=this.createHandler("trace"),this.debug=this.createHandler("debug"),this.info=this.createHandler("info"),this.warn=this.createHandler("warn"),this.error=this.createHandler("error"),this.proxiedLoggerProvider=e}createHandler(e){return(...t)=>{const r=this.proxiedLoggerProvider();null==r||r[e](...t)}}}var Qe=Object.defineProperty,Xe=Object.defineProperties,et=Object.getOwnPropertyDescriptors,tt=Object.getOwnPropertySymbols,rt=Object.prototype.hasOwnProperty,nt=Object.prototype.propertyIsEnumerable,ot=(e,t,r)=>t in e?Qe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,it=(e,t)=>{for(var r in t||(t={}))rt.call(t,r)&&ot(e,r,t[r]);if(tt)for(var r of tt(t))nt.call(t,r)&&ot(e,r,t[r]);return e};const at=e=>e;class st{constructor(e){this.formatters=new Map,this.types=new Map,this.schema=new Map,this.bindingSchemaNormalizedCache=new Map,this.hooks={resolveTypeForBinding:new n.c},this.schema=e?function(e){const t=new Map;if(!e.ROOT)return t;const r=[{node:e.ROOT,path:[],visited:new Set}];for(;r.length>0;){const n=r.shift();if(!n)break;const{node:o,path:i,visited:a}=n;Object.entries(o).forEach((([n,o])=>{const s=[...i,n],l=s.join(".");if(t.has(l))throw new Error("Path has already been processed. There's either a loop somewhere or a bug");if(a.has(o.type))throw new Error(`Path already contained type: ${o.type}. This likely indicates a loop in the schema`);t.set(l,o),o.isArray&&s.push("[]"),o.type&&e[o.type]&&r.push({path:s,node:e[o.type],visited:new Set([...a,o.type])})}))}return t}(e):new Map}addFormatters(e){e.forEach((e=>{this.formatters.set(e.name,e)}))}addDataTypes(e){e.forEach((e=>{this.types.set(e.type,e)}))}getValidationsForBinding(e){var t;const r=this.getApparentType(e);if(null==(t=null==r?void 0:r.validation)?void 0:t.length)return r.validation.map((e=>it({severity:"error",trigger:"change"},e)))}normalizeBinding(e){const t=this.bindingSchemaNormalizedCache.get(e);if(t)return t;const r=e.asArray().map((e=>"number"===typeof e?"[]":e)).join(".");return this.bindingSchemaNormalizedCache.set(e,r),r}getType(e){return this.hooks.resolveTypeForBinding.call(this.schema.get(this.normalizeBinding(e)),e)}getApparentType(e){var t,r;const n=this.getType(e);if(void 0===n)return;const o=this.getTypeDefinition(null==n?void 0:n.type);return void 0===o?n:(i=it(it({},o),n),a={validation:[...null!=(t=n.validation)?t:[],...null!=(r=o.validation)?r:[]]},Xe(i,et(a)));var i,a}getTypeDefinition(e){return this.types.get(e)}getFormatterForType(e){const t=e,{type:r}=t,n=((e,t)=>{var r={};for(var n in e)rt.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&tt)for(var n of tt(e))t.indexOf(n)<0&&nt.call(e,n)&&(r[n]=e[n]);return r})(t,["type"]),o=this.formatters.get(r);if(o)return{format:o.format?e=>{var t;return null==(t=o.format)?void 0:t.call(o,e,n)}:at,deformat:o.deformat?e=>{var t;return null==(t=o.deformat)?void 0:t.call(o,e,n)}:at}}getFormatter(e){const t=this.getApparentType(e);if(null==t?void 0:t.format)return this.getFormatterForType(t.format)}}const lt="{{",ut="}}";function ct(e){const t=e.indexOf(lt);if(-1===t)return;let r=1,n=t+lt.length,o=e.substring(t+lt.length);for(;r>0&&o.length>0;){const e=o.indexOf(ut);if(-1===e)break;const t=o.indexOf(lt);-1!==t&&t<e?(r++,o=o.substring(t+lt.length),n+=t+lt.length):(r--,o=o.substring(e+ut.length),n+=e+ut.length)}if(0!==r)throw new Error(`Unbalanced {{ and }} in exp: ${e}`);return{start:t,end:n}}function ft(e,t){const{model:r}=t;let n=function(e,{evaluate:t}){const r=/@\[.*?\]@/;let n=e,o=n.match(r);for(;null!==o;){const i=o[0],a=n.indexOf(i),s=t(i.substr("@[".length,i.length-"@[".length-"]@".length));if(0===a&&i===e&&"string"!==typeof s)return s;n=n.substr(0,a)+s+n.substr(a+i.length),o=n.match(r)}return n}(e,t);if("string"!==typeof n||-1===n.indexOf(lt))return n;for(;-1!==n.indexOf(lt);){const e=ct(n);if(!e)return n;const{start:t,end:o}=e,i=n.substring(t+lt.length,o-lt.length).trim(),a=r.get(i,{formatted:!0});if(0===t&&o===n.length&&"string"!==typeof a)return a;n=n.substr(0,t)+a+n.substr(o)}return n}function ht(e,t){switch(typeof e){case"string":return ft(e,t);case"object":{if(!e)return e;const r=Object.keys(e);let n=e;if(r.length>0)for(const o of r)n=Object(p.setIn)(n,[o],ht(e[o],t));return n}default:return e}}function pt(e,t){return ht(e,t)}var dt,gt,yt=Object.defineProperty,vt=Object.defineProperties,mt=Object.getOwnPropertyDescriptors,bt=Object.getOwnPropertySymbols,wt=Object.prototype.hasOwnProperty,Et=Object.prototype.propertyIsEnumerable,St=(e,t,r)=>t in e?yt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class Ot{constructor(e,t){this.validator=e,this.shadowModelPaths=new Map,this.logger=null==t?void 0:t.logger}set(e,t,r){const n=ce(this,(o=((e,t)=>{for(var r in t||(t={}))wt.call(t,r)&&St(e,r,t[r]);if(bt)for(var r of bt(t))Et.call(t,r)&&St(e,r,t[r]);return e})({},t),vt(o,mt({includeInvalid:!0}))),r);var o;const i=[];e.forEach((([e,t])=>{this.shadowModelPaths.set(e,t)}));const a=[];if(this.shadowModelPaths.forEach(((e,t)=>{var r;const o=this.validator(t,n);void 0===o?i.push([t,e]):o instanceof Set?o.forEach((t=>{a.push(t.binding),t.isStrong||i.push([t.binding,e])})):null==(r=this.logger)||r.debug(`Invalid value for path: ${t.asString()} - ${o.severity} - ${o.message}`)})),r&&i.length>0){i.forEach((([e])=>this.shadowModelPaths.delete(e)));const e=r.set(i,t);if(0===a.length)return e}return a.map((e=>({binding:e,oldValue:n.get(e),newValue:n.get(e),force:!0})))}get(e,t,r){let n=null==r?void 0:r.get(e,t);return!0===(null==t?void 0:t.includeInvalid)&&this.shadowModelPaths.forEach(((t,r)=>{r!==e?e.contains(r)&&(n=Object(p.setIn)(n,r.relative(e),t)):n=t})),n}}class xt{constructor(){this.registry=new Map}get(e){return this.registry.get(e)}register(e,t){this.registry.set(e,t)}}(gt=dt||(dt={})).Asset="asset",gt.View="view",gt.Applicability="applicability",gt.Template="template",gt.Value="value",gt.MultiNode="multi-node",gt.Switch="switch",gt.Unknown="unknown",gt.Empty="empty";var At=Object.defineProperty,Pt=Object.defineProperties,Rt=Object.getOwnPropertyDescriptors,_t=Object.getOwnPropertySymbols,kt=Object.prototype.hasOwnProperty,Tt=Object.prototype.propertyIsEnumerable,Ct=(e,t,r)=>t in e?At(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,jt=(e,t)=>{for(var r in t||(t={}))kt.call(t,r)&&Ct(e,r,t[r]);if(_t)for(var r of _t(t))Tt.call(t,r)&&Ct(e,r,t[r]);return e},Ut=(e,t)=>Pt(e,Rt(t));const Lt={type:dt.Empty};class Bt{constructor(){this.hooks={onParseObject:new n.c,onCreateASTNode:new n.c,determineNodeType:new n.a,parseNode:new n.a}}parseView(e){const t=this.parseObject(e,dt.View);if(!t)throw new Error("Unable to parse object into a view");return t}createASTNode(e,t){const r=this.hooks.onCreateASTNode.call(e,t);return void 0===r?e:r}parseObject(e,t=dt.Value,r={templateDepth:0}){var n;const o=this.hooks.determineNodeType.call(e);if(void 0!==o){const n=this.hooks.parseNode.call(e,t,r,o);if(n)return n}const i=(e,n,o=[])=>{if("object"!==typeof n||null===n)return{value:n,children:[]};const a=this.hooks.onParseObject.call(n,t);if(!a)return e;const s={children:[],value:e};return(Array.isArray(a)?a.map(((e,t)=>[t,e])):Object.entries(a)).reduce(((e,n)=>{const a=e,{children:s}=a,l=((e,t)=>{var r={};for(var n in e)kt.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&_t)for(var n of _t(e))t.indexOf(n)<0&&Tt.call(e,n)&&(r[n]=e[n]);return r})(a,["children"]),[u,c]=n;if("asset"===u&&"object"===typeof c){const e=this.parseObject(c,dt.Asset,r);if(e)return Ut(jt({},l),{children:[...s,{path:[...o,"asset"],value:e}]})}else{if(this.hooks.determineNodeType.call(u)===dt.Template&&Array.isArray(c)){const e=c.map((e=>{var t,n;const i=this.hooks.onCreateASTNode.call({type:dt.Template,depth:null!=(t=r.templateDepth)?t:0,data:e.data,template:e.value,dynamic:null!=(n=e.dynamic)&&n},e);if(i)return{path:[...o,e.output],value:i}})).filter((e=>!!e));return Ut(jt({},l),{children:[...s,...e]})}if(c&&this.hooks.determineNodeType.call(c)===dt.Switch){const e=this.hooks.parseNode.call(c,dt.Value,r,dt.Switch);if(e)return Ut(jt({},l),{children:[...s,{path:[...o,u],value:e}]})}else if(c&&Array.isArray(c)){const e=c.map((e=>this.parseObject(e,dt.Value,r))).filter((e=>!!e));if(e.length>0){const t=this.hooks.onCreateASTNode.call({type:dt.MultiNode,override:!0,values:e},c);if((null==t?void 0:t.type)===dt.MultiNode&&t.values.forEach((e=>{e.parent=t})),t)return Ut(jt({},l),{children:[...s,{path:[...o,u],value:t}]})}}else{if(!c||"object"!==typeof c){return{children:s,value:Object(p.setIn)(e.value,[...o,u],c)}}{const n=this.hooks.determineNodeType.call(c);if(n!==dt.Applicability){const t=i(e.value,c,[...o,u]);return{value:t.value,children:[...s,...t.children]}}{const e=this.hooks.parseNode.call(c,t,r,n);if(e)return Ut(jt({},l),{children:[...s,{path:[...o,u],value:e}]})}}}}return e}),s)},{value:a,children:s}=i(void 0,e),l=void 0===a&&0===s.length?void 0:{type:t,value:a};if(void 0!==l&&s.length>0){const e=l;e.children=s,s.forEach((t=>{t.value.parent=e}))}return null!=(n=this.hooks.onCreateASTNode.call(l,e))?n:null}}var Nt=Object.defineProperty,It=Object.defineProperties,Dt=Object.getOwnPropertyDescriptors,Mt=Object.getOwnPropertySymbols,Vt=Object.prototype.hasOwnProperty,Ft=Object.prototype.propertyIsEnumerable,zt=(e,t,r)=>t in e?Nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;function $t(e,t){if(!e||!t)return!0;const r=Array.from(t.values()),n=Array.from(e.values());return void 0!==r.find((e=>!!n.find((t=>t===e||t.contains(e)||e.contains(t)))))}function Ht(e){return t=((e,t)=>{for(var r in t||(t={}))Vt.call(t,r)&&zt(e,r,t[r]);if(Mt)for(var r of Mt(t))Ft.call(t,r)&&zt(e,r,t[r]);return e})({},e),r={data:{model:e.model,formatValue:(t,r)=>e.formatValue?e.formatValue(t,r):r,format:(t,r)=>e.format?e.format(z(t)?t:e.parseBinding(t),r):r},evaluate:t=>e.evaluator.evaluate(t,e)},It(t,Dt(r));var t,r}var Wt=Object.defineProperty,Yt=Object.defineProperties,qt=Object.getOwnPropertyDescriptors,Zt=Object.getOwnPropertySymbols,Gt=Object.prototype.hasOwnProperty,Kt=Object.prototype.propertyIsEnumerable,Jt=(e,t,r)=>t in e?Wt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Qt=(e,t)=>{for(var r in t||(t={}))Gt.call(t,r)&&Jt(e,r,t[r]);if(Zt)for(var r of Zt(t))Kt.call(t,r)&&Jt(e,r,t[r]);return e},Xt=(e,t)=>Yt(e,qt(t));class er{constructor(e,t){this.hooks={skipResolve:new n.c,beforeUpdate:new n.b,afterUpdate:new n.b,resolveOptions:new n.c,beforeResolve:new n.c,resolve:new n.c,afterResolve:new n.c,afterNodeUpdate:new n.b},this.root=e,this.options=t,this.resolveCache=new Map,this.ASTMap=new Map,this.logger=t.logger,this.idCache=new Set}getSourceNode(e){return this.ASTMap.get(e)}update(e){this.hooks.beforeUpdate.call(e);const t=new Map;this.idCache.clear(),this.ASTMap.clear();const r=this.computeTree(this.root,void 0,e,t,Ht(this.options));return this.resolveCache=t,this.hooks.afterUpdate.call(r.value),r.value}getNodeID(e){var t;if(e)return e.type!==dt.Asset&&e.type!==dt.View&&e.type!==dt.Value||"object"!==typeof e.value||"string"!==typeof(null==(t=e.value)?void 0:t.id)?void 0:e.value.id}getPreviousResult(e){var t,r;if(!e)return;const n=0===this.resolveCache.size,o=this.getNodeID(e);if(o){if(this.idCache.has(o))return void(n&&(e.type===dt.Asset||e.type===dt.View?null==(t=this.logger)||t.error(`Cache conflict: Found Asset/View nodes that have conflicting ids: ${o}, may cause cache issues.`):e.type===dt.Value&&(null==(r=this.logger)||r.info(`Cache conflict: Found Value nodes that have conflicting ids: ${o}, may cause cache issues. To improve performance make value node IDs globally unique.`))));this.idCache.add(o)}return this.resolveCache.get(e)}computeTree(e,t,r,n,o){var i,a;const s=new se(o.data.model);s.trackSubset("core");const l=(u=function(e,t){function r(r){const n=z(r)?r:t(r,{get:e.get,set:e.set});if(!n)throw new Error("Unable to parse binding");return n}return{get:(t,n)=>e.get(r(t),n),set:(t,n)=>e.set(t.map((([e,t])=>[r(e),t])),n)}}(s,this.options.parseBinding),{get:(e,t)=>u.get(e,Qt({context:{model:u}},t)),set:(e,t)=>u.set(e,Qt({context:{model:u}},t))});var u;const c=this.hooks.resolveOptions.call(Xt(Qt({},o),{data:Xt(Qt({},o.data),{model:l}),evaluate:e=>this.options.evaluator.evaluate(e,{model:l}),node:e}),e),f=this.getPreviousResult(e),g=null==f?void 0:f.dependencies,y=$t(r,g);if(this.hooks.skipResolve.call(!y,e,c)&&f){const r=Xt(Qt({},f),{updated:!1});n.set(e,r);const o=(e,t)=>{var r;this.ASTMap.set(e,t),"children"in e&&(null==(r=e.children)||r.forEach((({value:e})=>{const{node:t}=this.getPreviousResult(e)||{};t&&(o(t,e),t.type===dt.MultiNode&&t.values.forEach((e=>{const{node:t}=this.getPreviousResult(e)||{};t&&o(t,e)})))})))},i=f.node;return o(i,e),this.hooks.afterNodeUpdate.call(e,t,r),r}const v=null!=(i=this.hooks.beforeResolve.call(e,c))?i:{type:dt.Empty};c.node=v,this.ASTMap.set(v,e);let m=this.hooks.resolve.call(void 0,v,c),b=!Object(d.a)(null==f?void 0:f.value,m);f&&!b&&(m=null==f?void 0:f.value);const w=new Set;s.trackSubset("children"),"children"in v&&(null==(a=v.children)||a.forEach((t=>{const o=this.computeTree(t.value,e,r,n,c);let{updated:i,value:a}=o;const{node:s,dependencies:l}=o;if(l.forEach((e=>w.add(e))),s.type===dt.MultiNode&&(a=[],s.values.forEach((t=>{const o=this.computeTree(t,e,r,n,c);void 0!==o.value&&null!==o.value&&a.push(o.value),o.dependencies.forEach((e=>w.add(e))),i=i||o.updated}))),a)if(s.type!==dt.MultiNode||s.override)m=Object(p.setIn)(m,t.path,a);else{const e=Object(p.addLast)(h()(m,t.path,[]),a);m=Object(p.setIn)(m,t.path,e)}b=b||i}))),w.forEach((e=>s.addChildReadDep(e))),s.trackSubset("core"),f&&!b&&(m=null==f?void 0:f.value),m=this.hooks.afterResolve.call(m,v,Xt(Qt({},c),{getDependencies:e=>s.getDependencies(e)}));const E={node:v,updated:b,value:m,dependencies:new Set([...s.getDependencies(),...w])};return this.hooks.afterNodeUpdate.call(e,t,E),n.set(e,E),E}}class tr{constructor(e){this.hooks={resolveTemplateSubstitutions:new n.c},this.options=e}parseTemplate(e,t,r){const{template:n,depth:o}=t,i=r.data.model.get(t.data);if(!i)return null;if(!Array.isArray(i))throw new Error(`Template using '${t.data}' but is not an array`);const a=[];i.forEach(((r,i)=>{const s=this.hooks.resolveTemplateSubstitutions.call([{expression:new RegExp(`_index${o||""}_`),value:String(i)}],{depth:o,data:r,index:i});let l=JSON.stringify(n);for(const{expression:e,value:t}of s){let r="g";"object"===typeof e&&(r=`${e.flags}${e.global?"":"g"}`),l=l.replace(new RegExp(e,r),t)}const u=e(JSON.parse(l),dt.Value,{templateDepth:t.depth+1});u&&a.push(u)}));const s={parent:t.parent,type:dt.MultiNode,values:a};return s.values.forEach((e=>{e.parent=s})),s}applyParser(e){e.hooks.onCreateASTNode.tap("template",(t=>t&&t.type===dt.Template&&!t.dynamic?this.parseTemplate(e.parseObject.bind(e),t,this.options):t)),e.hooks.determineNodeType.tap("template",(e=>{if("template"===e)return dt.Template})),e.hooks.parseNode.tap("template",((t,r,n,o)=>{var i,a;if(o===dt.Template){const r=e.createASTNode({type:dt.Template,depth:null!=(i=n.templateDepth)?i:0,data:t.data,template:t.value,dynamic:null!=(a=t.dynamic)&&a},t);if(r)return r}}))}applyResolverHooks(e){e.hooks.beforeResolve.tap("template",((e,t)=>e&&e.type===dt.Template&&e.dynamic?this.parseTemplate(t.parseNode,e,t):e))}apply(e){e.hooks.parser.tap("template",this.applyParser.bind(this)),e.hooks.resolver.tap("template",this.applyResolverHooks.bind(this))}}const rr=(e,t)=>r=>{const n=r.indexOf(e);if(-1===n)return!1;const o=r.indexOf(t);return-1!==o&&n<o},nr=rr("{{","}}"),or=rr("@[","]@");function ir(e,t){return function(e){return nr(e)||or(e)}(e)?pt(e,{model:t.data.model,evaluate:t.evaluate}):e}function ar(e,t,r){if(null===e||void 0===e||"object"!==typeof e&&"string"!==typeof e)return e;if("string"===typeof e)return ir(e,t);let n=e;return Object.keys(e).forEach((o=>{if(r.has(o))return;const i=e[o];let a=i;"object"===typeof i?a=ar(i,t,r):"string"===typeof i&&(a=ir(i,t)),a!==i&&(n=Object(p.set)(n,o,a))})),n}const sr=e=>{var t,r,n;const o=e.parent;return o?"children"in o?null!=(n=null==(r=null==(t=o.children)?void 0:t.find((t=>t.value===e)))?void 0:r.path)?n:[]:o.type!==dt.MultiNode?[]:sr(o):[]};class lr{constructor(){this.propertiesToSkipCache=new Map}applyResolver(e){e.hooks.resolve.tap("string-resolver",((e,t,r)=>{var n,o,i,a,s,l,u,c,f,h;if(t.type===dt.Empty||t.type===dt.Unknown)return null;if(t.type===dt.Value||t.type===dt.Asset||t.type===dt.View){let e;t.type===dt.Asset||t.type===dt.View?(e=new Set(null!=(i=null==(o=null==(n=t.plugins)?void 0:n.stringResolver)?void 0:o.propertiesToSkip)?i:["exp"]),(null==(a=t.value)?void 0:a.id)&&this.propertiesToSkipCache.set(t.value.id,e)):e=(null==(s=t.parent)?void 0:s.type)===dt.MultiNode&&((null==(u=null==(l=t.parent)?void 0:l.parent)?void 0:u.type)===dt.Asset||(null==(f=null==(c=t.parent)?void 0:c.parent)?void 0:f.type)===dt.View)&&(null==(h=t.parent.parent.value)?void 0:h.id)&&this.propertiesToSkipCache.has(t.parent.parent.value.id)?this.propertiesToSkipCache.get(t.parent.parent.value.id):new Set(["exp"]);const p=sr(t);return p.length>0&&p.some((t=>e.has(t.toString())))?t.value:ar(t.value,r,e)}return e}))}apply(e){e.hooks.resolver.tap("string-resolver",this.applyResolver.bind(this))}}class ur{applyResolver(e){e.hooks.beforeResolve.tap("applicability",((e,t)=>{let r=e;if((null==e?void 0:e.type)===dt.Applicability){if(!t.evaluate(e.expression))return null;r=e.value}return r}))}applyParser(e){e.hooks.determineNodeType.tap("applicability",(e=>{if(Object.prototype.hasOwnProperty.call(e,"applicability"))return dt.Applicability})),e.hooks.parseNode.tap("applicability",((t,r,n,o)=>{if(o===dt.Applicability){const o=e.parseObject(Object(p.omit)(t,"applicability"),r,n);if(null!==o){const r=e.createASTNode({type:dt.Applicability,expression:t.applicability,value:o},t);return(null==r?void 0:r.type)===dt.Applicability&&(r.value.parent=r),r}}}))}apply(e){e.hooks.resolver.tap("applicability",this.applyResolver.bind(this)),e.hooks.parser.tap("applicability",this.applyParser.bind(this))}}var cr=Object.getOwnPropertySymbols,fr=Object.prototype.hasOwnProperty,hr=Object.prototype.propertyIsEnumerable;class pr{constructor(e){this.options=e}resolveSwitch(e,t){for(const r of e.cases){if(t.evaluate(r.case))return r.value}return Lt}applyParser(e){e.hooks.onCreateASTNode.tap("switch",(e=>e&&e.type===dt.Switch&&!e.dynamic?this.resolveSwitch(e,this.options):e)),e.hooks.determineNodeType.tap("switch",(e=>{if(Object.prototype.hasOwnProperty.call(e,"dynamicSwitch")||Object.prototype.hasOwnProperty.call(e,"staticSwitch"))return dt.Switch})),e.hooks.parseNode.tap("switch",((t,r,n,o)=>{if(o===dt.Switch){const r="dynamicSwitch"in t,o="dynamicSwitch"in t?t.dynamicSwitch:t.staticSwitch,i=[];o.forEach((t=>{const r=t,{case:o}=r,a=((e,t)=>{var r={};for(var n in e)fr.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&cr)for(var n of cr(e))t.indexOf(n)<0&&hr.call(e,n)&&(r[n]=e[n]);return r})(r,["case"]),s=e.parseObject(a,dt.Value,n);s&&i.push({case:o,value:s})}));const a=e.hooks.onCreateASTNode.call({type:dt.Switch,dynamic:r,cases:i},t);return(null==a?void 0:a.type)===dt.Switch&&a.cases.forEach((e=>{e.value.parent=a})),(null==a?void 0:a.type)===dt.Empty?null:null!=a?a:null}}))}applyResolver(e){e.hooks.beforeResolve.tap("switch",((e,t)=>e&&e.type===dt.Switch&&e.dynamic?this.resolveSwitch(e,t):e))}apply(e){e.hooks.parser.tap("switch",this.applyParser.bind(this)),e.hooks.resolver.tap("switch",this.applyResolver.bind(this))}}var dr=Object.defineProperty,gr=Object.defineProperties,yr=Object.getOwnPropertyDescriptors,vr=Object.getOwnPropertySymbols,mr=Object.prototype.hasOwnProperty,br=Object.prototype.propertyIsEnumerable,wr=(e,t,r)=>t in e?dr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Er=(e,t)=>{for(var r in t||(t={}))mr.call(t,r)&&wr(e,r,t[r]);if(vr)for(var r of vr(t))br.call(t,r)&&wr(e,r,t[r]);return e};class Sr{constructor(e,t,r){this.allValidations=new Set,this.byBinding=new Map,this.logger=r,this.parse(e,t)}parse(e,t){var r;const n=e.validation;void 0!==n&&(Array.isArray(n)?n.forEach((e=>{var r;const n=Er({trigger:"navigation",severity:"error"},e);this.allValidations.add(n);const{ref:o}=e;if(o){const e=t(o);this.byBinding.has(e)?null==(r=this.byBinding.get(e))||r.push(n):this.byBinding.set(e,[n])}})):null==(r=this.logger)||r.warn(`Unable to register view validations for id: ${e.id}. 'validation' property must be an Array.`))}getValidationsForBinding(e){return this.byBinding.get(e)}}class Or{constructor(e,t){this.hooks={onUpdate:new n.b,parser:new n.b,resolver:new n.b,templatePlugin:new n.b},this.initialView=e,this.resolverOptions=t;const r=Ht(t);new pr(r).apply(this),(new ur).apply(this),(new lr).apply(this),this.templatePlugin=new tr(r),this.templatePlugin.apply(this)}update(e){var t,r,n;if(void 0===this.rootNode){this.validationProvider=new Sr(this.initialView,this.resolverOptions.parseBinding,this.resolverOptions.logger),this.hooks.templatePlugin.call(this.templatePlugin);const e=new Bt;this.hooks.parser.call(e),this.rootNode=e.parseView(this.initialView),this.resolver=new er(this.rootNode,(r=Er({},this.resolverOptions),n={parseNode:e.parseObject.bind(e)},gr(r,yr(n)))),this.hooks.resolver.call(this.resolver)}const o=null==(t=this.resolver)?void 0:t.update(e);return this.lastUpdate===o?this.lastUpdate:(this.lastUpdate=o,this.hooks.onUpdate.call(o),o)}getValidationsForBinding(e){var t;return null==(t=this.validationProvider)?void 0:t.getValidationsForBinding(e)}}var xr=Object.defineProperty,Ar=Object.getOwnPropertySymbols,Pr=Object.prototype.hasOwnProperty,Rr=Object.prototype.propertyIsEnumerable,_r=(e,t,r)=>t in e?xr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,kr=(e,t,r)=>new Promise(((n,o)=>{var i=e=>{try{s(r.next(e))}catch(t){o(t)}},a=e=>{try{s(r.throw(e))}catch(t){o(t)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(i,a);s((r=r.apply(e,t)).next())}));class Tr{constructor(e,t,r){this.hooks={beforeStart:new n.a,onStart:new n.b,onEnd:new n.b,skipTransition:new n.a,beforeTransition:new n.c,resolveTransitionNode:new n.c,transition:new n.b},this.id=e,this.flow=t,this.log=null==r?void 0:r.logger,this.history=[],this.hooks.transition.tap("startPromise",((e,t)=>kr(this,null,(function*(){const e=t.value;this.flowPromise&&"END"===e.state_type&&this.flowPromise.resolve(e)}))))}start(){return kr(this,null,(function*(){var e;if(this.flowPromise)return null==(e=this.log)||e.warn("Already called start for flow"),this.flowPromise.promise;this.flow=this.hooks.beforeStart.call(this.flow)||this.flow,this.flow.onStart&&this.hooks.onStart.call(this.flow.onStart);const t=this.flow.startState;return t?(this.flowPromise=y()(),this.pushHistory(t),this.flowPromise.promise):Promise.reject(new Error("No 'startState' defined for flow"))}))}transition(e,t){var r,n,o,i,a,s;if("END"===(null==(r=this.currentState)?void 0:r.value.state_type))return void(null==(n=this.log)||n.warn(`Skipping transition using ${e}. Already at and END state`));if(void 0===this.currentState)throw new Error("Cannot transition when there's no current state");if(null==t?void 0:t.force)null==(o=this.log)||o.debug("Forced transition. Skipping validation checks");else{if(this.hooks.skipTransition.call(this.currentState))return void(null==(i=this.log)||i.debug(`Skipping transition from ${this.currentState} b/c hook told us to`))}const l=this.hooks.beforeTransition.call(this.currentState.value,e);if(!("transitions"in l))throw new Error(`No transitions defined for ${this.currentState.value}`);const{transitions:u}=l,c=u[e]||u["*"];if(void 0!==c)return null==(s=this.log)||s.debug(`Transitioning from ${this.currentState.name} to ${c} using ${e} `),this.pushHistory(c,t);null==(a=this.log)||a.warn(`No transition from ${this.currentState.name} using ${e} or *`)}pushHistory(e,t){var r;if(!Object.prototype.hasOwnProperty.call(this.flow,e))throw new Error(`No flow definition for: ${e} was found.`);let n=this.flow[e];if(!this.flow[e]||"object"!==typeof n||!("state_type"in n))return void(null==(r=this.log)||r.error(`Flow doesn't contain any states named: ${e}`));const o=this.currentState;n=this.hooks.resolveTransitionNode.call(n);const i={name:e,value:n};this.currentState=i,this.history.push(e),"END"===i.value.state_type&&this.flow.onEnd&&this.hooks.onEnd.call(this.flow.onEnd),this.hooks.transition.call(o,((e,t)=>{for(var r in t||(t={}))Pr.call(t,r)&&_r(e,r,t[r]);if(Ar)for(var r of Ar(t))Rr.call(t,r)&&_r(e,r,t[r]);return e})({},i))}}var Cr=(e,t,r)=>new Promise(((n,o)=>{var i=e=>{try{s(r.next(e))}catch(t){o(t)}},a=e=>{try{s(r.throw(e))}catch(t){o(t)}},s=e=>e.done?n(e.value):Promise.resolve(e.value).then(i,a);s((r=r.apply(e,t)).next())}));class jr{constructor(e,t){this.hooks={flow:new n.b},this.navigation=e,this.navStack=[],this.log=null==t?void 0:t.logger,this.start=this.start.bind(this),this.run=this.run.bind(this),this.transition=this.transition.bind(this)}transition(e,t){if(void 0===this.current)throw new Error("Not currently in a flow. Cannot transition.");this.current.transition(e,t)}addNewFlow(e){return Cr(this,null,(function*(){this.navStack.push(e),this.current=e,e.hooks.transition.tap("flow-controller",((t,r)=>Cr(this,null,(function*(){var t,n;if("FLOW"===r.value.state_type){null==(t=this.log)||t.debug(`Got FLOW state. Loading flow ${r.value.ref}`);const o=yield this.run(r.value.ref);null==(n=this.log)||n.debug(`Flow ended. Using outcome: ${o.outcome}`),e.transition(o.outcome)}})))),this.hooks.flow.call(e)}))}run(e){return Cr(this,null,(function*(){var t;if(!Object.prototype.hasOwnProperty.call(this.navigation,e))return Promise.reject(new Error(`No flow defined for: ${e}`));const r=this.navigation[e];if(null===r||"object"!==typeof r)return Promise.reject(new Error(`Flow: ${e} needs to be an object`));null==(t=this.log)||t.debug(`Starting flow: ${e}`);const n=new Tr(e,r,{logger:this.log});this.addNewFlow(n);const o=yield n.start();if(this.navStack.pop(),this.navStack.length>0){const e=0;this.current=this.navStack[e]}return o}))}start(){return Cr(this,null,(function*(){return this.navigation.BEGIN?this.run(this.navigation.BEGIN):Promise.reject(new Error("Must supply a BEGIN state"))}))}}const Ur=/%([a-zA-Z]+)/g;var Lr=Object.defineProperty,Br=Object.defineProperties,Nr=Object.getOwnPropertyDescriptors,Ir=Object.getOwnPropertySymbols,Dr=Object.prototype.hasOwnProperty,Mr=Object.prototype.propertyIsEnumerable,Vr=(e,t,r)=>t in e?Lr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Fr=(e,t)=>{for(var r in t||(t={}))Dr.call(t,r)&&Vr(e,r,t[r]);if(Ir)for(var r of Ir(t))Mr.call(t,r)&&Vr(e,r,t[r]);return e},zr=(e,t)=>Br(e,Nr(t));const $r="validation-binding-tracker";class Hr{constructor(e){this.trackedBindings=new Set,this.options=e}getBindings(){return this.trackedBindings}applyResolver(e){this.trackedBindings.clear();const t=new Map,r=new Map,n=new Set;let o;const i=new Map;let a=new Map,s=new Map;const l=new Map;e.hooks.beforeUpdate.tap($r,(e=>{o=e})),e.hooks.skipResolve.tap($r,((e,t)=>{const r=a.get(t);if(!e||!o||!r)return e;return 0===new Set([...o].filter((e=>r.has(e)))).size})),e.hooks.resolveOptions.tap($r,((e,o)=>{if(void 0===e.validation)return e;t.delete(o);const i=e=>{var i,a,s,l;const u=z(e)?e:this.options.parseBinding(e);t.has(o)?null==(i=t.get(o))||i.add(u):t.set(o,new Set([u]));let{parent:c}=o;for(;c;){if(r.has(c)){null==(a=r.get(c))||a.add(o);break}c=c.parent}n.has(u)||(n.add(u),null==(l=null==(s=this.options.callbacks)?void 0:s.onAdd)||l.call(s,u))};return zr(Fr({},e),{validation:zr(Fr({},e.validation),{get:(t,r)=>{var n;(null==r?void 0:r.track)&&i(t);const o=null==(n=e.validation)?void 0:n._getValidationForBinding(t);if(void 0===(null==o?void 0:o.displayTarget)||"field"===(null==o?void 0:o.displayTarget))return o},getChildren:t=>{var r;const n=new Array;return null==(r=a.get(o))||r.forEach((r=>{var o;const i=null==(o=e.validation)?void 0:o._getValidationForBinding(r);i&&t===i.displayTarget&&n.push(i)})),n},getValidationsForSection:()=>{var t;const r=new Array;return null==(t=l.get(o))||t.forEach((t=>{var n;const o=null==(n=e.validation)?void 0:n._getValidationForBinding(t);o&&"section"===o.displayTarget&&r.push(o)})),r},register:e=>{"section"===(null==e?void 0:e.type)&&(r.has(o)||r.set(o,new Set))},track:i})})})),e.hooks.afterNodeUpdate.tap($r,((n,o,u)=>{var c,f,h;if(o&&function(e,t){var r;i.has(t)?null==(r=i.get(t))||r.add(e):i.set(t,new Set([e]))}(n,o),u.updated){const e=new Set(t.get(n));null==(c=i.get(n))||c.forEach((t=>{var r;null==(r=s.get(t))||r.forEach((t=>e.add(t)))})),s.set(n,e)}else s.set(n,null!=(f=a.get(n))?f:new Set);n===e.root&&(this.trackedBindings=null!=(h=s.get(n))?h:new Set,a=s,l.clear(),r.forEach(((e,r)=>{const n=new Set;e.forEach((e=>{var r;null==(r=t.get(e))||r.forEach(n.add,n)})),l.set(r,n)})),i.clear(),t.clear(),r.clear(),s=new Map)}))}apply(e){e.hooks.resolver.tap($r,this.applyResolver.bind(this))}}var Wr=Object.defineProperty,Yr=Object.defineProperties,qr=Object.getOwnPropertyDescriptors,Zr=Object.getOwnPropertySymbols,Gr=Object.prototype.hasOwnProperty,Kr=Object.prototype.propertyIsEnumerable,Jr=(e,t,r)=>t in e?Wr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Qr=(e,t)=>{for(var r in t||(t={}))Gr.call(t,r)&&Jr(e,r,t[r]);if(Zr)for(var r of Zr(t))Kr.call(t,r)&&Jr(e,r,t[r]);return e},Xr=(e,t)=>Yr(e,qr(t));class en{constructor(e,t,r,n){this.applicableValidations=[],this.validationsByState={load:[],change:[],navigation:[]},this.onDismiss=t,e.forEach((e=>{const{trigger:t}=e;var n;this.validationsByState[t]?this.validationsByState[t].push({value:n=e,type:n.severity,state:"none"}):null==r||r.warn(`Unknown validation trigger: ${t}`)})),this.weakBindings=null!=n?n:new Set}get(){const e=this.applicableValidations.find((e=>{const t="navigation"!==this.currentPhase||e.value.blocking;return"active"===e.state&&!1!==t}));if("active"===(null==e?void 0:e.state))return e.response}runApplicableValidations(e,t){this.applicableValidations=this.applicableValidations.map((r=>{var n,o,i;if("dismissed"===r.state)return r;const a=null!=(n=r.value.blocking)?n:"warning"===r.value.severity?"once":"error"===r.value.severity&&!0,s=t&&"once"===a;if("navigation"===this.currentPhase&&"active"===r.state&&s){if("warning"===r.value.severity){const e=r;return e.dismissable&&e.response.dismiss?e.response.dismiss():e.dismissable=!0,r}if("error"===r.value.severity){return r.state="none",r}}const l=e(r.value),u={type:r.type,value:r.value,state:l?"active":"none",dismissable:"warning"===r.value.severity&&"navigation"===this.currentPhase,response:l?Xr(Qr({},r.value),{message:null!=(o=l.message)?o:"Something is broken",severity:r.value.severity,displayTarget:null!=(i=r.value.displayTarget)?i:"field"}):void 0};return"active"===u.state&&"warning"===r.value.severity&&(u.response.dismiss=()=>{var e;u.state="dismissed",null==(e=this.onDismiss)||e.call(this)}),u}))}update(e,t,r){"load"===e&&void 0!==this.currentPhase||("navigation"!==this.currentPhase&&e!==this.currentPhase?("load"===e?(this.currentPhase="load",this.applicableValidations=[...this.validationsByState.load]):"change"===e&&"load"===this.currentPhase?(this.currentPhase="change",this.applicableValidations=[...this.applicableValidations,...this.validationsByState.change]):"navigation"!==e||"load"!==this.currentPhase&&"change"!==this.currentPhase||(this.applicableValidations=[...this.applicableValidations,..."load"===this.currentPhase?this.validationsByState.change:[],...this.validationsByState.navigation],this.currentPhase="navigation"),this.runApplicableValidations(r,t)):this.runApplicableValidations(r,t))}}class tn{constructor(e,t){this.hooks={createValidatorRegistry:new n.b,onAddValidation:new n.c,onRemoveValidation:new n.c},this.validations=new Map,this.weakBindingTracker=new Set,this.lastActiveBindings=new Set,this.schema=e,this.options=t,this.providers=[e]}setOptions(e){this.options=e}getDataMiddleware(){return[new Ot((e=>{var t;if(!this.options)return;this.updateValidationsForBinding(e,"change",this.options);const r=this.getValidationForBinding(e);if("error"===(null==(t=null==r?void 0:r.get())?void 0:t.severity))return r.get();const n=new Set;return this.validations.forEach(((t,r)=>{var o;$t(new Set([e]),t.weakBindings)&&"error"===(null==(o=null==t?void 0:t.get())?void 0:o.severity)&&(null==t||t.weakBindings.forEach((e=>{e===r?n.add({binding:e,isStrong:!0}):n.add({binding:e,isStrong:!1})})))})),n.size>0?n:void 0}),{logger:new Je((()=>{var e;return null==(e=this.options)?void 0:e.logger}))})]}onView(e){if(this.validations.clear(),!this.options)return;const t=new Hr(Xr(Qr({},this.options),{callbacks:{onAdd:t=>{if(!this.options)return;const r=this.options.model.get(t);r!==this.options.model.get(t,{ignoreDefaultValue:!0})&&this.options.model.set([[t,r]],{silent:!0}),this.updateValidationsForBinding(t,"load",this.options,(()=>{e.update(new Set([t]))}))}}}));this.tracker=t,this.providers=[this.schema,e],t.apply(e)}updateValidationsForBinding(e,t,r,n){var o;if("load"===t){const t=this.providers.reduce(((t,r)=>{var n,o;return[...t,...null!=(o=null==(n=r.getValidationsForBinding)?void 0:n.call(r,e))?o:[]]}),[]);if(0===t.length)return;this.validations.set(e,new en(t,n,null==(o=this.options)?void 0:o.logger))}const i=this.validations.get(e);null==i||i.update(t,!0,(t=>{const n=this.validationRunner(t,r,e);if(this.weakBindingTracker.size>0){const t=this.validations.get(e);this.weakBindingTracker.forEach((e=>t.weakBindings.add(e)))}return n?{message:n.message}:void 0})),"load"!==t&&this.validations.forEach(((n,o)=>{o!==e&&$t(new Set([e]),n.weakBindings)&&n.update(t,!0,(e=>{const t=this.validationRunner(e,r,o);return t?{message:t.message}:void 0}))}))}validationRunner(e,t,r){const n=this.getValidator(e.type),o=new Set,i={get:(e,n={includeInvalid:!0})=>(o.add(z(e)?r:t.parseBinding(e)),t.model.get(e,n)),set:t.model.set},a=null==n?void 0:n(Xr(Qr({},t),{evaluate:(e,r={model:i})=>t.evaluate(e,r),model:i,validation:e}),t.model.get(r,{includeInvalid:!0,formatted:"formatted"===e.dataTarget}),e);if(this.weakBindingTracker=o,a){let{message:r}=a;const{parameters:n}=a;return e.message&&(r=pt(e.message,{model:i,evaluate:t.evaluate}),n&&(r=function(e,t){return e.slice().replace(Ur,(e=>t[e.slice(1)]||e))}(r,n))),{message:r}}}updateValidationsForView(e){const{activeBindings:t}=this,r="navigation"!==e||this.setCompare(this.lastActiveBindings,t);this.getBindings().forEach((t=>{var n;null==(n=this.validations.get(t))||n.update(e,r,(e=>{if(this.options)return this.validationRunner(e,this.options,t)}))})),"navigation"===e&&(this.lastActiveBindings=t)}setCompare(e,t){if(e.size!==t.size)return!1;for(const r of e)if(!t.has(r))return!1;return!0}get activeBindings(){return new Set(Array.from(this.getBindings()).filter((e=>{var t;return void 0!==(null==(t=this.validations.get(e))?void 0:t.get())})))}getValidator(e){if(this.validatorRegistry)return this.validatorRegistry.get(e);const t=new xt;return this.hooks.createValidatorRegistry.call(t),this.validatorRegistry=t,t.get(e)}getBindings(){var e,t;return null!=(t=null==(e=this.tracker)?void 0:e.getBindings())?t:new Set}validateView(e="navigation"){this.updateValidationsForView(e);const t=new Map;return this.getBindings().forEach((e=>{var r,n;const o=null==(r=this.getValidationForBinding(e))?void 0:r.get();o&&(null==(n=this.options)||n.logger.debug(`Validation on binding: ${e.asString()} is preventing navigation. ${JSON.stringify(o)}`),t.set(e,o))})),{canTransition:0===t.size,validations:t.size?t:void 0}}getValidationForBinding(e){return this.validations.get(e)}forView(e){return{_getValidationForBinding:t=>{var r;return null==(r=this.getValidationForBinding(z(t)?t:e(t)))?void 0:r.get()},getAll:()=>{const e=this.getBindings();if(0===e.size)return;const t=new Map;return e.forEach((e=>{var r;const n=null==(r=this.getValidationForBinding(e))?void 0:r.get();n&&t.set(e,n)})),0===t.size?void 0:t},get(){throw new Error("Error Access be provided by the view plugin")},getChildren(){throw new Error("Error rollup should be provided by the view plugin")},getValidationsForSection(){throw new Error("Error rollup should be provided by the view plugin")},track:()=>{throw new Error("Tracking should be provided by the view plugin")},register:()=>{throw new Error("Section funcationality hould be provided by the view plugin")},type:t=>this.schema.getType(z(t)?t:e(t))}}}class rn{constructor(e){this.updateCallback=e,this.state=new Map}removeKey(e){this.state.delete(e)}reset(){this.state.clear()}useSharedState(e){return t=>(this.state.has(e)||this.state.set(e,t),[this.state.get(e),t=>{var r;const n=this.state.get(e);this.state.set(e,t),n!==t&&(null==(r=this.updateCallback)||r.call(this))}])}getLocalStateFunction(e,t){return r=>{this.state.has(e)||this.state.set(e,[]),this.state.has(t)||this.state.set(t,0);const n=this.state.get(e),o=this.state.get(t);this.state.set(t,o+1),n.length<=o&&n.push(r);return[n[o],e=>{var t;const r=n[o];n[o]=e,r!==e&&(null==(t=this.updateCallback)||t.call(this))}]}}}function nn(e,t){return e===t||!!e.parent&&nn(e.parent,t)}class on{constructor(e){this.registry=e,this.stateStore=new Map,this.beforeResolveSymbol=Symbol("before resolve"),this.resolveSymbol=Symbol("resolve"),this.beforeResolveCountSymbol=Symbol("before resolve count"),this.resolveCountSymbol=Symbol("resolve count")}apply(e){e.hooks.view.tap("asset-transform",(e=>{this.stateStore.clear(),e.hooks.resolver.tap("asset-transform",(t=>{let r;const n=(t,n)=>{let o;const i=n===this.resolveSymbol?this.resolveCountSymbol:this.beforeResolveCountSymbol,a=this.stateStore.get(t);return a?(o=a,o.removeKey(i)):(o=new rn((()=>{(t=>{r=t,e.update(new Set)})(t)})),this.stateStore.set(t,o)),{useSharedState:e=>o.useSharedState(e),useLocalState:e=>o.getLocalStateFunction(n,i)(e)}};t.hooks.beforeResolve.tap("asset-transform",((e,t)=>{if(e&&("asset"===e.type||"view"===e.type)){const r=this.registry.get(e.value);if(null==r?void 0:r.beforeResolve){const o=n(e,this.beforeResolveSymbol);return r.beforeResolve(e,t,o)}}return e})),t.hooks.afterUpdate.tap("asset-transform",(()=>{r=void 0})),t.hooks.skipResolve.tap("asset-transform",((e,t)=>{if(!e||!r)return e;const n=nn(r,t),o=nn(t,r);return!n&&!o})),t.hooks.afterResolve.tap("asset-transform",((e,r,o)=>{if(r.type!==dt.Asset&&r.type!==dt.View)return e;const i=t.getSourceNode(r);if(!i)return e;const a=this.registry.get(e);if(null==a?void 0:a.resolve){const t=n(i,this.resolveSymbol);return null==a?void 0:a.resolve(e,o,t)}return e}))}))}))}}var an=Object.defineProperty,sn=Object.defineProperties,ln=Object.getOwnPropertyDescriptors,un=Object.getOwnPropertySymbols,cn=Object.prototype.hasOwnProperty,fn=Object.prototype.propertyIsEnumerable,hn=(e,t,r)=>t in e?an(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class pn{constructor(e,t){this.hooks={resolveView:new n.c,view:new n.b},this.transformRegistry=new b.a,this.optimizeUpdates=!0,this.viewOptions=t,this.viewMap=e.reduce(((e,t)=>{return r=((e,t)=>{for(var r in t||(t={}))cn.call(t,r)&&hn(e,r,t[r]);if(un)for(var r of un(t))fn.call(t,r)&&hn(e,r,t[r]);return e})({},e),n={[t.id]:t},sn(r,ln(n));var r,n}),{}),new on(this.transformRegistry).apply(this),t.flowController.hooks.flow.tap("viewController",(e=>{e.hooks.transition.tap("viewController",((e,t)=>{"VIEW"===t.value.state_type?this.onView(t.value):this.currentView=void 0}))})),t.model.hooks.onUpdate.tap("viewController",(e=>{this.currentView&&(this.optimizeUpdates?this.queueUpdate(new Set(e.map((e=>e.binding)))):this.currentView.update())}))}queueUpdate(e){var t;(null==(t=this.pendingUpdate)?void 0:t.changedBindings)?this.pendingUpdate.changedBindings=new Set([...this.pendingUpdate.changedBindings,...e]):(this.pendingUpdate={changedBindings:e},m()((()=>{var e,t;const r=null==(e=this.pendingUpdate)?void 0:e.changedBindings;this.pendingUpdate=void 0,null==(t=this.currentView)||t.update(r)})))}getViewForRef(e){if(this.viewMap[e])return this.viewMap[e];const t=Object.keys(this.viewMap).find((t=>e===ft(t,{model:this.viewOptions.model,evaluate:this.viewOptions.evaluator.evaluate})));return t&&this.viewMap[t]?this.viewMap[t]:void 0}onView(e){const t=e.ref,r=this.hooks.resolveView.call(this.getViewForRef(t),t,e);if(!r)throw new Error(`No view with id ${t}`);const n=new Or(r,this.viewOptions);this.currentView=n,this.hooks.view.call(n),n.update()}}class dn{constructor(e,t){this.hooks={resolve:new n.c,resolveDataStages:new n.c,resolveDefaultValue:new n.a,onDelete:new n.b,onSet:new n.b,onGet:new n.b,onUpdate:new n.b,format:new n.c,deformat:new n.c,serialize:new n.c},this.logger=t.logger;const r=t.middleware||[];this.baseMiddleware=[new pe(e),...r],this.trash=new Set,this.pathResolver=t.pathResolver}getModel(){if(!this.model){const e=this.hooks.resolveDataStages.call(this.baseMiddleware),t=new he;t.setMiddleware(e),this.model=t}return this.model}resolveDataValue(e,t,r){return r?this.hooks.deformat.call(t,e):t}set(e,t){let r=[];r=Array.isArray(e)?e.map((([e,r])=>{const n=this.pathResolver.parse(e);return[n,this.resolveDataValue(n,r,Boolean(null==t?void 0:t.formatted))]})):Object.keys(e).map((r=>{const n=this.pathResolver.parse(r),o=e[r];return[n,this.resolveDataValue(n,o,Boolean(null==t?void 0:t.formatted))]}));const n=r.reduce(((e,[t,r])=>{var n;const o=this.get(t,{includeInvalid:!0});return Object(d.a)(o,r)||e.push({binding:t,newValue:r,oldValue:o}),null==(n=this.logger)||n.debug(`Setting path: ${t.asString()} from: ${o} to: ${r}`),e}),[]),o=this.getModel().set(r,t),i=new Set(n.map((e=>e.binding)));return o.forEach((e=>{var t;i.has(e.binding)||!0!==e.force&&Object(d.a)(e.oldValue,e.newValue)||(null==(t=this.logger)||t.debug(`Path: ${e.binding.asString()} was changed from: ${e.oldValue} to: ${e.newValue}`),n.push(e))})),this.hooks.onSet.call(r),this.hooks.onSet.call(r),n.length>0&&this.hooks.onUpdate.call(n,t),o}resolve(e){return Array.isArray(e)||"string"===typeof e?this.pathResolver.parse(e):e}get(e,t){const r=e instanceof $?e:this.resolve(e);let n=this.getModel().get(r,t);if(void 0===n&&!(null==t?void 0:t.ignoreDefaultValue)){const e=this.hooks.resolveDefaultValue.call(r);e!==n&&(n=e)}return(null==t?void 0:t.formatted)&&(n=this.hooks.format.call(n,r)),this.hooks.onGet.call(e,n),n}delete(e){if(void 0===e||null===e)throw new Error("Invalid arguments: delete expects a data path (string)");const t=this.resolve(e);this.hooks.onDelete.call(t),this.deleteData(t)}getTrash(){return this.trash}addToTrash(e){this.trash.add(e)}deleteData(e){const t=e.parent(),r=t.asString(),n=e.key(),o=Object.prototype.hasOwnProperty.call(this.get(t),n);if(void 0!==n){const e=t?this.get(t):void 0;r&&Array.isArray(e)?e.length>n&&this.set([[t,Object(p.removeAt)(e,n)]]):r&&e[n]?this.set([[t,Object(p.omit)(e,n)]]):r||this.getModel().reset(Object(p.omit)(this.get(""),n))}o&&!this.get(e)&&this.addToTrash(e)}serialize(){return this.hooks.serialize.call(this.get(""))}}var gn=Object.defineProperty,yn=Object.getOwnPropertySymbols,vn=Object.prototype.hasOwnProperty,mn=Object.prototype.propertyIsEnumerable,bn=(e,t,r)=>t in e?gn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,wn=(e,t)=>{for(var r in t||(t={}))vn.call(t,r)&&bn(e,r,t[r]);if(yn)for(var r of yn(t))mn.call(t,r)&&bn(e,r,t[r]);return e};function En(e,t=[],r="."){return Object.keys(e).reduce(((n,o)=>wn(wn({},n),"[object Object]"===Object.prototype.toString.call(e[o])?En(e[o],t.concat([o])):{[t.concat([o]).join(r)]:e[o]})),{})}function Sn(e){const t=En(e),r=[];return Object.keys(t).forEach((e=>{r.push([new $(e),t[e]])})),r}class On{constructor(){this.store=new Map,this.tempStore=new Map}addConstants(e,t){var r;this.store.has(t)?null==(r=this.store.get(t))||r.set(Sn(e)):this.store.set(t,new pe(e))}getConstants(e,t,r){var n,o,i,a;const s=new $(e);return null!=(a=null!=(i=null==(n=this.tempStore.get(t))?void 0:n.get(s))?i:null==(o=this.store.get(t))?void 0:o.get(s))?a:r}setTemporaryValues(e,t){var r;this.tempStore.has(t)?null==(r=this.tempStore.get(t))||r.set(Sn(e)):this.tempStore.set(t,new pe(e))}clearTemporaryValues(){this.tempStore.forEach((e=>{e.reset()}))}}class xn{constructor(){this.name="flow-exp-plugin"}apply(e){let t;const r=e=>{e&&("object"===typeof e&&"exp"in e?null==t||t.evaluate(e.exp):null==t||t.evaluate(e))};e.hooks.expressionEvaluator.tap(this.name,(e=>{t=e})),e.hooks.flowController.tap(this.name,(e=>{e.hooks.flow.tap(this.name,(e=>{e.hooks.onStart.tap(this.name,(e=>r(e))),e.hooks.onEnd.tap(this.name,(e=>r(e))),e.hooks.resolveTransitionNode.intercept({call:e=>{(null==e?void 0:e.onStart)&&r(e.onStart)}})}))}))}}const An={ref:Symbol("not-started"),status:"not-started"};var Pn=Object.defineProperty,Rn=Object.defineProperties,_n=Object.getOwnPropertyDescriptors,kn=Object.getOwnPropertySymbols,Tn=Object.prototype.hasOwnProperty,Cn=Object.prototype.propertyIsEnumerable,jn=(e,t,r)=>t in e?Pn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Un=(e,t)=>{for(var r in t||(t={}))Tn.call(t,r)&&jn(e,r,t[r]);if(kn)for(var r of kn(t))Cn.call(t,r)&&jn(e,r,t[r]);return e};const Ln=class{constructor(e){var t;this.logger=new Ke,this.constantsController=new On,this.state=An,this.hooks={flowController:new n.b,viewController:new n.b,view:new n.b,expressionEvaluator:new n.b,dataController:new n.b,schema:new n.b,validationController:new n.b,bindingParser:new n.b,state:new n.b,onStart:new n.b,onEnd:new n.b,resolveFlowContent:new n.c};const r=[],o=new xn;r.push(o),(null==e?void 0:e.logger)&&this.logger.addHandler(e.logger),this.config=e||{},this.config.plugins=[...this.config.plugins||[],...r],null==(t=this.config.plugins)||t.forEach((e=>{e.apply(this)}))}getPlugins(){var e;return null!=(e=this.config.plugins)?e:[]}findPlugin(e){var t;return null==(t=this.config.plugins)?void 0:t.find((t=>t.symbol===e))}applyTo(e,t){const r=this.findPlugin(e);r&&t(r)}registerPlugin(e){var t;e.apply(this),null==(t=this.config.plugins)||t.push(e)}getVersion(){return Ln.info.version}getCommit(){return Ln.info.commit}getState(){return this.state}setState(e){this.state=e,this.hooks.state.call(e)}setupFlow(e){const t=this.hooks.resolveFlowContent.call(e),r=new jr(t.navigation,{logger:this.logger});let n,o;this.hooks.onStart.call(t),this.hooks.flowController.call(r);const i=new ie({get:e=>o.get(e),set:e=>o.set(e),evaluate:e=>n.evaluate(e)});this.hooks.bindingParser.call(i);const a=i.parse,s=y()(),l=new st(t.schema);this.hooks.schema.call(l);const u=new tn(l);let c;function f(e){return pt(e,{model:o,evaluate:n.evaluate})}var h,d;this.hooks.validationController.call(u),o=new dn(t.data,{pathResolver:i,middleware:u.getDataMiddleware(),logger:this.logger}),o.hooks.format.tap("player",((e,t)=>{const r=l.getFormatter(t);return r?r.format(e):e})),o.hooks.deformat.tap("player",((e,t)=>{const r=l.getFormatter(t);return r?r.deformat(e):e})),o.hooks.resolveDefaultValue.tap("player",(e=>{var t;return null==(t=l.getApparentType(e))?void 0:t.default})),n=new Ze({model:o,logger:this.logger}),this.hooks.expressionEvaluator.call(n),n.hooks.onError.tap("player",(e=>(s.reject(e),!0))),r.hooks.flow.tap("player",(e=>{e.hooks.beforeTransition.tap("player",((e,t)=>{const r=e.transitions[t]?t:"*";return e.onEnd&&e.transitions[r]&&("object"===typeof e.onEnd&&"exp"in e.onEnd?null==n||n.evaluate(e.onEnd.exp):null==n||n.evaluate(e.onEnd)),"transitions"in e&&e.transitions[r]?Object(p.setIn)(e,["transitions",r],f(e.transitions[r])):e})),e.hooks.skipTransition.tap("validation",(e=>{var t;if("VIEW"===(null==e?void 0:e.value.state_type)){const{canTransition:e,validations:r}=u.validateView("navigation");if(!e&&r){const e=new Set(r.keys());return null==(t=null==c?void 0:c.currentView)||t.update(e),!0}}})),e.hooks.resolveTransitionNode.tap("player",(e=>{let t=e;return"ref"in e&&(t=Object(p.setIn)(e,["ref"],f(e.ref))),"param"in e&&(t=Object(p.setIn)(e,["param"],f(e.param))),t})),e.hooks.transition.tap("player",((e,t)=>{if("ACTION"===t.value.state_type){const{exp:e}=t.value;m()((()=>{try{null==r||r.transition(String(null==n?void 0:n.evaluate(e)))}catch(t){const e=this.getState();t instanceof Error&&"in-progress"===e.status&&e.fail(t)}}))}n.reset()}))})),this.hooks.dataController.call(o),u.setOptions({parseBinding:a,model:o,logger:this.logger,evaluate:n.evaluate,constants:this.constantsController}),c=new pn(t.views||[],{evaluator:n,parseBinding:a,transition:r.transition,model:o,logger:this.logger,flowController:r,schema:l,format:(e,t)=>{const r=l.getFormatter(e);return(null==r?void 0:r.format)?r.format(t):t},formatValue:(e,t)=>{const r=l.getFormatterForType(e);return(null==r?void 0:r.format)?r.format(t):t},validation:(h=Un({},u.forView(a)),d={type:e=>l.getType(a(e))},Rn(h,_n(d)))}),c.hooks.view.tap("player",(e=>{u.onView(e),this.hooks.view.call(e)})),this.hooks.viewController.call(c);return n.addExpressionFunction("format",((e,t,r)=>{var n,o;return null!=(o=null==(n=l.getFormatterForType({type:r}))?void 0:n.format(t))?o:t})),{start:()=>{r.start().then((e=>({endState:f(e),data:o.serialize()}))).then(s.resolve).catch((e=>{throw this.logger.error(`Something went wrong: ${e.message}`),e})).catch(s.reject).finally((()=>this.hooks.onEnd.call()))},state:{status:"in-progress",flowResult:s.promise,controllers:{data:o,view:c,flow:r,schema:l,expression:n,binding:i,validation:u},fail:s.reject,flow:t,logger:this.logger}}}start(e){return t=this,r=null,n=function*(){var t;const r=Symbol(null!=(t=null==e?void 0:e.id)?t:"payload"),n=e=>this.state.ref!==r?(this.logger.warn("Received update for a flow that's not the current one"),e):(this.setState(e),e);this.setState({status:"not-started",ref:r});try{const{state:t,start:o}=this.setupFlow(e);this.setState(Un({ref:r},t)),o();const i={ref:r,status:"completed",flow:t.flow,dataModel:t.controllers.data.getModel()};return n(Un(Un({},yield t.flowResult),i))}catch(o){throw n({status:"error",ref:r,flow:e,error:o}),o}},new Promise(((e,o)=>{var i=e=>{try{s(n.next(e))}catch(t){o(t)}},a=e=>{try{s(n.throw(e))}catch(t){o(t)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(i,a);s((n=n.apply(t,r)).next())}));var t,r,n}};Ln.info={version:"0.4.0",commit:"39b851fc45e4903eae2f5b0697dea142c890443c"}},function(e,t,r){e.exports=function(e,t,r,n,o){for(t=t.split?t.split("."):t,n=0;n<t.length;n++)e=e?e[t[n]]:o;return e===o?r:e}},function(module,exports,__webpack_require__){"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Parser=exports.findRuleByName=exports.parseRuleName=exports.escapeRegExp=exports.readToken=void 0;const UPPER_SNAKE_RE=/^[A-Z0-9_]+$/,decorationRE=/(\?|\+|\*)$/,preDecorationRE=/^(@|&|!)/,WS_RULE="WS",TokenError_1=__webpack_require__(8);function readToken(e,t){let r=t.exec(e);return r&&0==r.index?0==r[0].length&&t.source.length>0?null:{type:null,text:r[0],rest:e.substr(r[0].length),start:0,end:r[0].length-1,fullText:r[0],errors:[],children:[],parent:null}:null}function escapeRegExp(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}function fixRest(e){e.rest="",e.children&&e.children.forEach((e=>fixRest(e)))}function fixPositions(e,t){e.start+=t,e.end+=t,e.children&&e.children.forEach((t=>fixPositions(t,e.start)))}function agregateErrors(e,t){t.errors&&t.errors.length&&t.errors.forEach((t=>e.push(t))),t.children&&t.children.forEach((t=>agregateErrors(e,t)))}function parseRuleName(e){let t=decorationRE.exec(e),r=preDecorationRE.exec(e),n=t&&t[0]||"",o=r&&r[0]||"",i={raw:e,name:e.replace(decorationRE,"").replace(preDecorationRE,""),isOptional:"?"==n||"*"==n,allowRepetition:"+"==n||"*"==n,atLeastOne:"+"==n,lookupPositive:"&"==o,lookupNegative:"!"==o,pinned:"@"==o,lookup:!1,isLiteral:!1};return i.isLiteral="'"==i.name[0]||'"'==i.name[0],i.lookup=i.lookupNegative||i.lookupPositive,i}function findRuleByName(e,t){let r=parseRuleName(e);return t.cachedRules[r.name]||null}function stripRules(e,t){if(e.children){let r=e.children.filter((e=>e.type&&t.test(e.type)));for(let t=0;t<r.length;t++){let n=e.children.indexOf(r[t]);-1!=n&&e.children.splice(n,1)}e.children.forEach((e=>stripRules(e,t)))}}exports.readToken=readToken,exports.escapeRegExp=escapeRegExp,exports.parseRuleName=parseRuleName,exports.findRuleByName=findRuleByName;const ignoreMissingRules=["EOF"];class Parser{constructor(e,t){this.grammarRules=e,this.options=t,this.cachedRules={},this.debug=!!t&&!0===t.debug;let r=[],n=[];if(e.forEach((e=>{let t=parseRuleName(e.name);if(t.name in this.cachedRules)r.push("Duplicated rule "+t.name);else{if(this.cachedRules[t.name]=e,e.bnf&&e.bnf.length)e.bnf.forEach((t=>{if("string"===typeof t[0]){if(parseRuleName(t[0]).name==e.name){let t="Left recursion is not allowed, rule: "+e.name;-1==r.indexOf(t)&&r.push(t)}}t.forEach((e=>{if("string"==typeof e){let t=parseRuleName(e);t.isLiteral||-1!=n.indexOf(t.name)||-1!=ignoreMissingRules.indexOf(t.name)||n.push(t.name)}}))}));else{let t="Missing rule content, rule: "+e.name;-1==r.indexOf(t)&&r.push(t)}WS_RULE==e.name&&(e.implicitWs=!1),e.implicitWs&&-1==n.indexOf(WS_RULE)&&n.push(WS_RULE),e.recover&&-1==n.indexOf(e.recover)&&n.push(e.recover)}})),n.forEach((e=>{e in this.cachedRules||r.push("Missing rule "+e)})),r.length)throw new Error(r.join("\n"))}getAST(e,t){t||(t=this.grammarRules.filter((e=>!e.fragment&&0!=e.name.indexOf("%")))[0].name);let r=this.parse(e,t);if(r){agregateErrors(r.errors,r),fixPositions(r,0),stripRules(r,/^%/),this.options&&this.options.keepUpperRules||stripRules(r,UPPER_SNAKE_RE);let e=r.rest;e&&new TokenError_1.TokenError("Unexpected end of input: \n"+e,r),fixRest(r),r.rest=e}return r}emitSource(){return"CANNOT EMIT SOURCE FROM BASE Parser"}parse(txt,target,recursion=0){let out=null,type=parseRuleName(target),expr,printable=this.debug&&!UPPER_SNAKE_RE.test(type.name);printable&&console.log(new Array(recursion).join("\u2502 ")+"Trying to get "+target+" from "+JSON.stringify(txt.split("\n")[0]));let realType=type.name,targetLex=findRuleByName(type.name,this);if("EOF"==type.name){if(txt.length)return null;if(0==txt.length)return{type:"EOF",text:"",rest:"",start:0,end:0,fullText:"",errors:[],children:[],parent:null}}try{if(!targetLex&&type.isLiteral){let src=eval(type.name);if(""===src)return{type:"%%EMPTY%%",text:"",rest:txt,start:0,end:0,fullText:"",errors:[],children:[],parent:null};expr=new RegExp(escapeRegExp(src)),realType=null}}catch(e){return e instanceof ReferenceError&&console.error(e),null}if(expr){let e=readToken(txt,expr);if(e)return e.type=realType,e}else{let e=targetLex.bnf;e instanceof Array&&e.forEach((e=>{if(out)return;let t=null,r={type:type.name,text:"",children:[],end:0,errors:[],fullText:"",parent:null,start:0,rest:txt};targetLex.fragment&&(r.fragment=!0);let n=txt,o=0,i=e.length>0,a=!1;for(let s=0;s<e.length;s++)if("string"==typeof e[s]){let l,u=parseRuleName(e[s]);i=i&&u.isOptional;let c=!1;do{if(l=null,targetLex.implicitWs&&(l=this.parse(n,u.name,recursion+1),!l)){let e;do{if(e=this.parse(n,WS_RULE,recursion+1),!e)break;r.text=r.text+e.text,r.end=r.text.length,e.parent=r,r.children.push(e),n=n.substr(e.text.length),o+=e.text.length}while(e&&e.text.length)}if(l=l||this.parse(n,u.name,recursion+1),u.lookupNegative){if(l)return;break}if(u.lookupPositive&&!l)return;if(!l){if(u.isOptional)break;if(u.atLeastOne&&c)break}if(l&&targetLex.pinned==s+1&&(t=l,printable&&console.log(new Array(recursion+1).join("\u2502 ")+"\u2514\u2500 "+l.type+" PINNED")),l||(l=this.parseRecovery(targetLex,n,recursion+1)),!l){if(!t)return;out=r,l={type:"SyntaxError",text:n,children:[],end:n.length,errors:[],fullText:"",parent:null,start:0,rest:""},n.length?new TokenError_1.TokenError(`Unexpected end of input. Expecting ${u.name} Got: ${n}`,l):new TokenError_1.TokenError(`Unexpected end of input. Missing ${u.name}`,l),printable&&console.log(new Array(recursion+1).join("\u2502 ")+"\u2514\u2500 "+l.type+" "+JSON.stringify(l.text))}if(c=!0,a=!0,"%%EMPTY%%"==l.type)break;l.start+=o,l.end+=o,!u.lookupPositive&&l.type&&(l.fragment?l.children&&l.children.forEach((e=>{e.start+=o,e.end+=o,e.parent=r,r.children.push(e)})):(l.parent=r,r.children.push(l))),u.lookup&&(l.lookup=!0),printable&&console.log(new Array(recursion+1).join("\u2502 ")+"\u2514\u2500 "+l.type+" "+JSON.stringify(l.text)),u.lookup||l.lookup||(r.text=r.text+l.text,r.end=r.text.length,n=n.substr(l.text.length),o+=l.text.length),r.rest=n}while(l&&u.allowRepetition&&n.length&&!l.lookup)}else{let t=readToken(n,e[s]);if(!t)return;printable&&console.log(new Array(recursion+1).join("\u2502 ")+"\u2514> "+JSON.stringify(t.text)+e[s].source),a=!0,t.start+=o,t.end+=o,r.text=r.text+t.text,r.end=r.text.length,n=n.substr(t.text.length),o+=t.text.length,r.rest=n}a&&(out=r,printable&&console.log(new Array(recursion).join("\u2502 ")+"\u251c<\u2500\u2534< PUSHING "+out.type+" "+JSON.stringify(out.text)))})),out&&targetLex.simplifyWhenOneChildren&&1==out.children.length&&(out=out.children[0])}return out||printable&&console.log(target+" NOT RESOLVED FROM "+txt),out}parseRecovery(e,t,r){if(e.recover&&t.length){let n=this.debug;n&&console.log(new Array(r+1).join("\u2502 ")+"Trying to recover until token "+e.recover+" from "+JSON.stringify(t.split("\n")[0]+t.split("\n")[1]));let o,i={type:"SyntaxError",text:"",children:[],end:0,errors:[],fullText:"",parent:null,start:0,rest:""};do{if(o=this.parse(t,e.recover,r+1),o){new TokenError_1.TokenError('Unexpected input: "'+i.text+`" Expecting: ${e.name}`,i);break}i.text=i.text+t[0],i.end=i.text.length,t=t.substr(1)}while(!o&&t.length>0);if(i.text.length>0&&o)return n&&console.log(new Array(r+1).join("\u2502 ")+"Recovered text: "+JSON.stringify(i.text)),i}return null}}exports.Parser=Parser,exports.default=Parser},function(e,t,r){var n=function(e,t){this.nested=t,e instanceof Error?t=e:"undefined"!==typeof e&&Object.defineProperty(this,"message",{value:e,writable:!0,enumerable:!1,configurable:!0}),Error.captureStackTrace(this,this.constructor);var r=function(e,t){return e.get?{get:function(){return o(e.get.call(this),this.nested)}}:{value:o(e.value,t)}}(Object.getOwnPropertyDescriptor(this,"stack"),t);Object.defineProperty(this,"stack",r)};function o(e,t){return t&&(e+="\nCaused By: "+t.stack),e}(0,r(17).inherits)(n,Error),n.prototype.name="NestedError",e.exports=n},function(e,t,r){"use strict";r.d(t,"a",(function(){return i}));var n=Object.prototype.hasOwnProperty;function o(e,t,r){for(r of e.keys())if(i(r,t))return r}function i(e,t){var r,a,s;if(e===t)return!0;if(e&&t&&(r=e.constructor)===t.constructor){if(r===Date)return e.getTime()===t.getTime();if(r===RegExp)return e.toString()===t.toString();if(r===Array){if((a=e.length)===t.length)for(;a--&&i(e[a],t[a]););return-1===a}if(r===Set){if(e.size!==t.size)return!1;for(a of e){if((s=a)&&"object"===typeof s&&!(s=o(t,s)))return!1;if(!t.has(s))return!1}return!0}if(r===Map){if(e.size!==t.size)return!1;for(a of e){if((s=a[0])&&"object"===typeof s&&!(s=o(t,s)))return!1;if(!i(a[1],t.get(s)))return!1}return!0}if(r===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(r===DataView){if((a=e.byteLength)===t.byteLength)for(;a--&&e.getInt8(a)===t.getInt8(a););return-1===a}if(ArrayBuffer.isView(e)){if((a=e.byteLength)===t.byteLength)for(;a--&&e[a]===t[a];);return-1===a}if(!r||"object"===typeof e){for(r in a=0,e){if(n.call(e,r)&&++a&&!n.call(t,r))return!1;if(!(r in t)||!i(e[r],t[r]))return!1}return Object.keys(t).length===a}}return e!==e&&t!==t}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenError=void 0;class n extends Error{constructor(e,t){if(super(e),this.message=e,this.token=t,!t||!t.errors)throw this;t.errors.push(this)}inspect(){return"SyntaxError: "+this.message}}t.TokenError=n},function(e,t,r){"use strict";function n(e,t){for(var r,o=0,i=e.length;o<i;o++)r=e[o],Array.isArray(r)?n(r,t):t.push(r);return t}e.exports=function(e){return n(e,[])}},function(e,t,r){"use strict";e.exports=()=>{const e={};return e.promise=new Promise(((t,r)=>{e.resolve=t,e.reject=r})),e}},function(e,t,r){(function(t){let r;e.exports="function"===typeof queueMicrotask?queueMicrotask.bind("undefined"!==typeof window?window:t):e=>(r||(r=Promise.resolve())).then(e).catch((e=>setTimeout((()=>{throw e}),0)))}).call(this,r(12))},function(e,t){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(n){"object"===typeof window&&(r=window)}e.exports=r},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(5);Object.defineProperty(t,"Parser",{enumerable:!0,get:function(){return n.Parser}});var o=r(8);Object.defineProperty(t,"TokenError",{enumerable:!0,get:function(){return o.TokenError}}),t.Grammars=r(25)},function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(15),o=r.n(n),i=r(4),a=r.n(i);function s(e,t=[],r=new Map){for(const n of Object.keys(e)){const o=e[n],i=[...t,n];"object"===typeof o?s(o,i,r):r.set(i,o)}return r}function l(e){const t=s(e),r=e=>{for(const r of t){const[t,n]=r;if(a()(e,t)!==n)return!1}return!0};return r.count=t.size,r}const u=()=>new o.a([],(e=>e.matcher.count));class c{constructor(e){this.store=u(),null==e||e.forEach((([e,t])=>{this.set(e,t)}))}set(e,t){const r="object"===typeof e?l(e):function(e){const t=t=>e===t;return t.count=1,t}(e);this.store.insert({key:e,value:t,matcher:r})}get(e){for(const t of this.store.array)if(t.matcher(e))return t.value}forEach(e){for(const t of this.store.array)e(t)}clear(){this.store=u()}}},function(e,t,r){var n,o=function(){var e=function(e){var t=e.constructor;return t.prototype=e,t}({constructor:function(e,r){this.array=[],this.compare=r||t;for(var n=e.length,o=0;o<n;)this.insert(e[o++])},insert:function(e){for(var t,r,n=this.array,o=this.compare,i=n.length-1,a=0,s=-1;i>=a;)if((r=o(n[t=(i+a)/2>>>0],e))<0)a=t+1;else{if(!(r>0)){s=t;break}i=t-1}for(-1===s&&(s=i),s++,i=n.length-1;s<i&&0===o(e,n[s]);)s++;for(t=n.length,n.push(e);t>s;)n[t]=n[--t];return n[s]=e,this},search:function(e){for(var t,r,n=this.array,o=this.compare,i=n.length-1,a=0;i>=a;)if((r=o(n[t=(i+a)/2>>>0],e))<0)a=t+1;else{if(!(r>0))return t;i=t-1}return-1},remove:function(e){var t=this.search(e);return t>=0&&this.array.splice(t,1),this}});return e.comparing=function(r,n){return new e(n,(function(e,n){return t(e[r],n[r])}))},e;function t(e,t){return e<t?-1:e>t?1:0}}();e.exports=o,void 0===(n=function(){return o}.call(t,r,t,e))||(e.exports=n)},,function(e,t,r){(function(e){var n=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n<t.length;n++)r[t[n]]=Object.getOwnPropertyDescriptor(e,t[n]);return r},o=/%[sdj%]/g;t.format=function(e){if(!v(e)){for(var t=[],r=0;r<arguments.length;r++)t.push(s(arguments[r]));return t.join(" ")}r=1;for(var n=arguments,i=n.length,a=String(e).replace(o,(function(e){if("%%"===e)return"%";if(r>=i)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(t){return"[Circular]"}default:return e}})),l=n[r];r<i;l=n[++r])g(l)||!w(l)?a+=" "+l:a+=" "+s(l);return a},t.deprecate=function(r,n){if("undefined"!==typeof e&&!0===e.noDeprecation)return r;if("undefined"===typeof e)return function(){return t.deprecate(r,n).apply(this,arguments)};var o=!1;return function(){if(!o){if(e.throwDeprecation)throw new Error(n);e.traceDeprecation?console.trace(n):console.error(n),o=!0}return r.apply(this,arguments)}};var i,a={};function s(e,r){var n={seen:[],stylize:u};return arguments.length>=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),d(r)?n.showHidden=r:r&&t._extend(n,r),m(n.showHidden)&&(n.showHidden=!1),m(n.depth)&&(n.depth=2),m(n.colors)&&(n.colors=!1),m(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),c(n,e,n.depth)}function l(e,t){var r=s.styles[t];return r?"\x1b["+s.colors[r][0]+"m"+e+"\x1b["+s.colors[r][1]+"m":e}function u(e,t){return e}function c(e,r,n){if(e.customInspect&&r&&O(r.inspect)&&r.inspect!==t.inspect&&(!r.constructor||r.constructor.prototype!==r)){var o=r.inspect(n,e);return v(o)||(o=c(e,o,n)),o}var i=function(e,t){if(m(t))return e.stylize("undefined","undefined");if(v(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}if(y(t))return e.stylize(""+t,"number");if(d(t))return e.stylize(""+t,"boolean");if(g(t))return e.stylize("null","null")}(e,r);if(i)return i;var a=Object.keys(r),s=function(e){var t={};return e.forEach((function(e,r){t[e]=!0})),t}(a);if(e.showHidden&&(a=Object.getOwnPropertyNames(r)),S(r)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return f(r);if(0===a.length){if(O(r)){var l=r.name?": "+r.name:"";return e.stylize("[Function"+l+"]","special")}if(b(r))return e.stylize(RegExp.prototype.toString.call(r),"regexp");if(E(r))return e.stylize(Date.prototype.toString.call(r),"date");if(S(r))return f(r)}var u,w="",x=!1,A=["{","}"];(p(r)&&(x=!0,A=["[","]"]),O(r))&&(w=" [Function"+(r.name?": "+r.name:"")+"]");return b(r)&&(w=" "+RegExp.prototype.toString.call(r)),E(r)&&(w=" "+Date.prototype.toUTCString.call(r)),S(r)&&(w=" "+f(r)),0!==a.length||x&&0!=r.length?n<0?b(r)?e.stylize(RegExp.prototype.toString.call(r),"regexp"):e.stylize("[Object]","special"):(e.seen.push(r),u=x?function(e,t,r,n,o){for(var i=[],a=0,s=t.length;a<s;++a)_(t,String(a))?i.push(h(e,t,r,n,String(a),!0)):i.push("");return o.forEach((function(o){o.match(/^\d+$/)||i.push(h(e,t,r,n,o,!0))})),i}(e,r,n,s,a):a.map((function(t){return h(e,r,n,s,t,x)})),e.seen.pop(),function(e,t,r){if(e.reduce((function(e,t){return t.indexOf("\n")>=0&&0,e+t.replace(/\u001b\[\d\d?m/g,"").length+1}),0)>60)return r[0]+(""===t?"":t+"\n ")+" "+e.join(",\n ")+" "+r[1];return r[0]+t+" "+e.join(", ")+" "+r[1]}(u,w,A)):A[0]+w+A[1]}function f(e){return"["+Error.prototype.toString.call(e)+"]"}function h(e,t,r,n,o,i){var a,s,l;if((l=Object.getOwnPropertyDescriptor(t,o)||{value:t[o]}).get?s=l.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):l.set&&(s=e.stylize("[Setter]","special")),_(n,o)||(a="["+o+"]"),s||(e.seen.indexOf(l.value)<0?(s=g(r)?c(e,l.value,null):c(e,l.value,r-1)).indexOf("\n")>-1&&(s=i?s.split("\n").map((function(e){return" "+e})).join("\n").substr(2):"\n"+s.split("\n").map((function(e){return" "+e})).join("\n")):s=e.stylize("[Circular]","special")),m(a)){if(i&&o.match(/^\d+$/))return s;(a=JSON.stringify(""+o)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=e.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=e.stylize(a,"string"))}return a+": "+s}function p(e){return Array.isArray(e)}function d(e){return"boolean"===typeof e}function g(e){return null===e}function y(e){return"number"===typeof e}function v(e){return"string"===typeof e}function m(e){return void 0===e}function b(e){return w(e)&&"[object RegExp]"===x(e)}function w(e){return"object"===typeof e&&null!==e}function E(e){return w(e)&&"[object Date]"===x(e)}function S(e){return w(e)&&("[object Error]"===x(e)||e instanceof Error)}function O(e){return"function"===typeof e}function x(e){return Object.prototype.toString.call(e)}function A(e){return e<10?"0"+e.toString(10):e.toString(10)}t.debuglog=function(r){if(m(i)&&(i=e.env.NODE_DEBUG||""),r=r.toUpperCase(),!a[r])if(new RegExp("\\b"+r+"\\b","i").test(i)){var n=e.pid;a[r]=function(){var e=t.format.apply(t,arguments);console.error("%s %d: %s",r,n,e)}}else a[r]=function(){};return a[r]},t.inspect=s,s.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},s.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},t.isArray=p,t.isBoolean=d,t.isNull=g,t.isNullOrUndefined=function(e){return null==e},t.isNumber=y,t.isString=v,t.isSymbol=function(e){return"symbol"===typeof e},t.isUndefined=m,t.isRegExp=b,t.isObject=w,t.isDate=E,t.isError=S,t.isFunction=O,t.isPrimitive=function(e){return null===e||"boolean"===typeof e||"number"===typeof e||"string"===typeof e||"symbol"===typeof e||"undefined"===typeof e},t.isBuffer=r(19);var P=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function R(){var e=new Date,t=[A(e.getHours()),A(e.getMinutes()),A(e.getSeconds())].join(":");return[e.getDate(),P[e.getMonth()],t].join(" ")}function _(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.log=function(){console.log("%s - %s",R(),t.format.apply(t,arguments))},t.inherits=r(20),t._extend=function(e,t){if(!t||!w(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var k="undefined"!==typeof Symbol?Symbol("util.promisify.custom"):void 0;function T(e,t){if(!e){var r=new Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}t.promisify=function(e){if("function"!==typeof e)throw new TypeError('The "original" argument must be of type Function');if(k&&e[k]){var t;if("function"!==typeof(t=e[k]))throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,k,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,r,n=new Promise((function(e,n){t=e,r=n})),o=[],i=0;i<arguments.length;i++)o.push(arguments[i]);o.push((function(e,n){e?r(e):t(n)}));try{e.apply(this,o)}catch(a){r(a)}return n}return Object.setPrototypeOf(t,Object.getPrototypeOf(e)),k&&Object.defineProperty(t,k,{value:t,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(t,n(e))},t.promisify.custom=k,t.callbackify=function(t){if("function"!==typeof t)throw new TypeError('The "original" argument must be of type Function');function r(){for(var r=[],n=0;n<arguments.length;n++)r.push(arguments[n]);var o=r.pop();if("function"!==typeof o)throw new TypeError("The last argument must be of type Function");var i=this,a=function(){return o.apply(i,arguments)};t.apply(this,r).then((function(t){e.nextTick(a,null,t)}),(function(t){e.nextTick(T,t,a)}))}return Object.setPrototypeOf(r,Object.getPrototypeOf(t)),Object.defineProperties(r,n(t)),r}}).call(this,r(18))},function(e,t){var r,n,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(e){if(r===setTimeout)return setTimeout(e,0);if((r===i||!r)&&setTimeout)return r=setTimeout,setTimeout(e,0);try{return r(e,0)}catch(t){try{return r.call(null,e,0)}catch(t){return r.call(this,e,0)}}}!function(){try{r="function"===typeof setTimeout?setTimeout:i}catch(e){r=i}try{n="function"===typeof clearTimeout?clearTimeout:a}catch(e){n=a}}();var l,u=[],c=!1,f=-1;function h(){c&&l&&(c=!1,l.length?u=l.concat(u):f=-1,u.length&&p())}function p(){if(!c){var e=s(h);c=!0;for(var t=u.length;t;){for(l=u,u=[];++f<t;)l&&l[f].run();f=-1,t=u.length}l=null,c=!1,function(e){if(n===clearTimeout)return clearTimeout(e);if((n===a||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(e);try{n(e)}catch(t){try{return n.call(null,e)}catch(t){return n.call(this,e)}}}(e)}}function d(e,t){this.fun=e,this.array=t}function g(){}o.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];u.push(new d(e,t)),1!==u.length||c||s(p)},d.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=g,o.addListener=g,o.once=g,o.off=g,o.removeListener=g,o.removeAllListeners=g,o.emit=g,o.prependListener=g,o.prependOnceListener=g,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},function(e,t){e.exports=function(e){return e&&"object"===typeof e&&"function"===typeof e.copy&&"function"===typeof e.fill&&"function"===typeof e.readUInt8}},function(e,t){"function"===typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}},function(e,t,r){"use strict";(function(e){var n=r(22),o=r(23),i=r(24);function a(){return l.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function s(e,t){if(a()<t)throw new RangeError("Invalid typed array length");return l.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=l.prototype:(null===e&&(e=new l(t)),e.length=t),e}function l(e,t,r){if(!l.TYPED_ARRAY_SUPPORT&&!(this instanceof l))return new l(e,t,r);if("number"===typeof e){if("string"===typeof t)throw new Error("If encoding is specified then the first argument must be a string");return f(this,e)}return u(this,e,t,r)}function u(e,t,r,n){if("number"===typeof t)throw new TypeError('"value" argument must not be a number');return"undefined"!==typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,r,n){if(t.byteLength,r<0||t.byteLength<r)throw new RangeError("'offset' is out of bounds");if(t.byteLength<r+(n||0))throw new RangeError("'length' is out of bounds");t=void 0===r&&void 0===n?new Uint8Array(t):void 0===n?new Uint8Array(t,r):new Uint8Array(t,r,n);l.TYPED_ARRAY_SUPPORT?(e=t).__proto__=l.prototype:e=h(e,t);return e}(e,t,r,n):"string"===typeof t?function(e,t,r){"string"===typeof r&&""!==r||(r="utf8");if(!l.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var n=0|d(t,r),o=(e=s(e,n)).write(t,r);o!==n&&(e=e.slice(0,o));return e}(e,t,r):function(e,t){if(l.isBuffer(t)){var r=0|p(t.length);return 0===(e=s(e,r)).length||t.copy(e,0,0,r),e}if(t){if("undefined"!==typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||"length"in t)return"number"!==typeof t.length||(n=t.length)!==n?s(e,0):h(e,t);if("Buffer"===t.type&&i(t.data))return h(e,t.data)}var n;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(e,t)}function c(e){if("number"!==typeof e)throw new TypeError('"size" argument must be a number');if(e<0)throw new RangeError('"size" argument must not be negative')}function f(e,t){if(c(t),e=s(e,t<0?0:0|p(t)),!l.TYPED_ARRAY_SUPPORT)for(var r=0;r<t;++r)e[r]=0;return e}function h(e,t){var r=t.length<0?0:0|p(t.length);e=s(e,r);for(var n=0;n<r;n+=1)e[n]=255&t[n];return e}function p(e){if(e>=a())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a().toString(16)+" bytes");return 0|e}function d(e,t){if(l.isBuffer(e))return e.length;if("undefined"!==typeof ArrayBuffer&&"function"===typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;"string"!==typeof e&&(e=""+e);var r=e.length;if(0===r)return 0;for(var n=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return F(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return z(e).length;default:if(n)return F(e).length;t=(""+t).toLowerCase(),n=!0}}function g(e,t,r){var n=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(t>>>=0))return"";for(e||(e="utf8");;)switch(e){case"hex":return T(this,t,r);case"utf8":case"utf-8":return P(this,t,r);case"ascii":return _(this,t,r);case"latin1":case"binary":return k(this,t,r);case"base64":return A(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}function y(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function v(e,t,r,n,o){if(0===e.length)return-1;if("string"===typeof r?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=o?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(o)return-1;r=e.length-1}else if(r<0){if(!o)return-1;r=0}if("string"===typeof t&&(t=l.from(t,n)),l.isBuffer(t))return 0===t.length?-1:m(e,t,r,n,o);if("number"===typeof t)return t&=255,l.TYPED_ARRAY_SUPPORT&&"function"===typeof Uint8Array.prototype.indexOf?o?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):m(e,[t],r,n,o);throw new TypeError("val must be string, number or Buffer")}function m(e,t,r,n,o){var i,a=1,s=e.length,l=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return-1;a=2,s/=2,l/=2,r/=2}function u(e,t){return 1===a?e[t]:e.readUInt16BE(t*a)}if(o){var c=-1;for(i=r;i<s;i++)if(u(e,i)===u(t,-1===c?0:i-c)){if(-1===c&&(c=i),i-c+1===l)return c*a}else-1!==c&&(i-=i-c),c=-1}else for(r+l>s&&(r=s-l),i=r;i>=0;i--){for(var f=!0,h=0;h<l;h++)if(u(e,i+h)!==u(t,h)){f=!1;break}if(f)return i}return-1}function b(e,t,r,n){r=Number(r)||0;var o=e.length-r;n?(n=Number(n))>o&&(n=o):n=o;var i=t.length;if(i%2!==0)throw new TypeError("Invalid hex string");n>i/2&&(n=i/2);for(var a=0;a<n;++a){var s=parseInt(t.substr(2*a,2),16);if(isNaN(s))return a;e[r+a]=s}return a}function w(e,t,r,n){return $(F(t,e.length-r),e,r,n)}function E(e,t,r,n){return $(function(e){for(var t=[],r=0;r<e.length;++r)t.push(255&e.charCodeAt(r));return t}(t),e,r,n)}function S(e,t,r,n){return E(e,t,r,n)}function O(e,t,r,n){return $(z(t),e,r,n)}function x(e,t,r,n){return $(function(e,t){for(var r,n,o,i=[],a=0;a<e.length&&!((t-=2)<0);++a)n=(r=e.charCodeAt(a))>>8,o=r%256,i.push(o),i.push(n);return i}(t,e.length-r),e,r,n)}function A(e,t,r){return 0===t&&r===e.length?n.fromByteArray(e):n.fromByteArray(e.slice(t,r))}function P(e,t,r){r=Math.min(e.length,r);for(var n=[],o=t;o<r;){var i,a,s,l,u=e[o],c=null,f=u>239?4:u>223?3:u>191?2:1;if(o+f<=r)switch(f){case 1:u<128&&(c=u);break;case 2:128===(192&(i=e[o+1]))&&(l=(31&u)<<6|63&i)>127&&(c=l);break;case 3:i=e[o+1],a=e[o+2],128===(192&i)&&128===(192&a)&&(l=(15&u)<<12|(63&i)<<6|63&a)>2047&&(l<55296||l>57343)&&(c=l);break;case 4:i=e[o+1],a=e[o+2],s=e[o+3],128===(192&i)&&128===(192&a)&&128===(192&s)&&(l=(15&u)<<18|(63&i)<<12|(63&a)<<6|63&s)>65535&&l<1114112&&(c=l)}null===c?(c=65533,f=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),o+=f}return function(e){var t=e.length;if(t<=R)return String.fromCharCode.apply(String,e);var r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=R));return r}(n)}t.Buffer=l,t.SlowBuffer=function(e){+e!=e&&(e=0);return l.alloc(+e)},t.INSPECT_MAX_BYTES=50,l.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"===typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(t){return!1}}(),t.kMaxLength=a(),l.poolSize=8192,l._augment=function(e){return e.__proto__=l.prototype,e},l.from=function(e,t,r){return u(null,e,t,r)},l.TYPED_ARRAY_SUPPORT&&(l.prototype.__proto__=Uint8Array.prototype,l.__proto__=Uint8Array,"undefined"!==typeof Symbol&&Symbol.species&&l[Symbol.species]===l&&Object.defineProperty(l,Symbol.species,{value:null,configurable:!0})),l.alloc=function(e,t,r){return function(e,t,r,n){return c(t),t<=0?s(e,t):void 0!==r?"string"===typeof n?s(e,t).fill(r,n):s(e,t).fill(r):s(e,t)}(null,e,t,r)},l.allocUnsafe=function(e){return f(null,e)},l.allocUnsafeSlow=function(e){return f(null,e)},l.isBuffer=function(e){return!(null==e||!e._isBuffer)},l.compare=function(e,t){if(!l.isBuffer(e)||!l.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var r=e.length,n=t.length,o=0,i=Math.min(r,n);o<i;++o)if(e[o]!==t[o]){r=e[o],n=t[o];break}return r<n?-1:n<r?1:0},l.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},l.concat=function(e,t){if(!i(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return l.alloc(0);var r;if(void 0===t)for(t=0,r=0;r<e.length;++r)t+=e[r].length;var n=l.allocUnsafe(t),o=0;for(r=0;r<e.length;++r){var a=e[r];if(!l.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(n,o),o+=a.length}return n},l.byteLength=d,l.prototype._isBuffer=!0,l.prototype.swap16=function(){var e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)y(this,t,t+1);return this},l.prototype.swap32=function(){var e=this.length;if(e%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)y(this,t,t+3),y(this,t+1,t+2);return this},l.prototype.swap64=function(){var e=this.length;if(e%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)y(this,t,t+7),y(this,t+1,t+6),y(this,t+2,t+5),y(this,t+3,t+4);return this},l.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?P(this,0,e):g.apply(this,arguments)},l.prototype.equals=function(e){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===l.compare(this,e)},l.prototype.inspect=function(){var e="",r=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,r).match(/.{2}/g).join(" "),this.length>r&&(e+=" ... ")),"<Buffer "+e+">"},l.prototype.compare=function(e,t,r,n,o){if(!l.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===o&&(o=this.length),t<0||r>e.length||n<0||o>this.length)throw new RangeError("out of range index");if(n>=o&&t>=r)return 0;if(n>=o)return-1;if(t>=r)return 1;if(this===e)return 0;for(var i=(o>>>=0)-(n>>>=0),a=(r>>>=0)-(t>>>=0),s=Math.min(i,a),u=this.slice(n,o),c=e.slice(t,r),f=0;f<s;++f)if(u[f]!==c[f]){i=u[f],a=c[f];break}return i<a?-1:a<i?1:0},l.prototype.includes=function(e,t,r){return-1!==this.indexOf(e,t,r)},l.prototype.indexOf=function(e,t,r){return v(this,e,t,r,!0)},l.prototype.lastIndexOf=function(e,t,r){return v(this,e,t,r,!1)},l.prototype.write=function(e,t,r,n){if(void 0===t)n="utf8",r=this.length,t=0;else if(void 0===r&&"string"===typeof t)n=t,r=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(r)?(r|=0,void 0===n&&(n="utf8")):(n=r,r=void 0)}var o=this.length-t;if((void 0===r||r>o)&&(r=o),e.length>0&&(r<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var i=!1;;)switch(n){case"hex":return b(this,e,t,r);case"utf8":case"utf-8":return w(this,e,t,r);case"ascii":return E(this,e,t,r);case"latin1":case"binary":return S(this,e,t,r);case"base64":return O(this,e,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,e,t,r);default:if(i)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),i=!0}},l.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var R=4096;function _(e,t,r){var n="";r=Math.min(e.length,r);for(var o=t;o<r;++o)n+=String.fromCharCode(127&e[o]);return n}function k(e,t,r){var n="";r=Math.min(e.length,r);for(var o=t;o<r;++o)n+=String.fromCharCode(e[o]);return n}function T(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var o="",i=t;i<r;++i)o+=V(e[i]);return o}function C(e,t,r){for(var n=e.slice(t,r),o="",i=0;i<n.length;i+=2)o+=String.fromCharCode(n[i]+256*n[i+1]);return o}function j(e,t,r){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}function U(e,t,r,n,o,i){if(!l.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>o||t<i)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}function L(e,t,r,n){t<0&&(t=65535+t+1);for(var o=0,i=Math.min(e.length-r,2);o<i;++o)e[r+o]=(t&255<<8*(n?o:1-o))>>>8*(n?o:1-o)}function B(e,t,r,n){t<0&&(t=4294967295+t+1);for(var o=0,i=Math.min(e.length-r,4);o<i;++o)e[r+o]=t>>>8*(n?o:3-o)&255}function N(e,t,r,n,o,i){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function I(e,t,r,n,i){return i||N(e,0,r,4),o.write(e,t,r,n,23,4),r+4}function D(e,t,r,n,i){return i||N(e,0,r,8),o.write(e,t,r,n,52,8),r+8}l.prototype.slice=function(e,t){var r,n=this.length;if((e=~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),(t=void 0===t?n:~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e),l.TYPED_ARRAY_SUPPORT)(r=this.subarray(e,t)).__proto__=l.prototype;else{var o=t-e;r=new l(o,void 0);for(var i=0;i<o;++i)r[i]=this[i+e]}return r},l.prototype.readUIntLE=function(e,t,r){e|=0,t|=0,r||j(e,t,this.length);for(var n=this[e],o=1,i=0;++i<t&&(o*=256);)n+=this[e+i]*o;return n},l.prototype.readUIntBE=function(e,t,r){e|=0,t|=0,r||j(e,t,this.length);for(var n=this[e+--t],o=1;t>0&&(o*=256);)n+=this[e+--t]*o;return n},l.prototype.readUInt8=function(e,t){return t||j(e,1,this.length),this[e]},l.prototype.readUInt16LE=function(e,t){return t||j(e,2,this.length),this[e]|this[e+1]<<8},l.prototype.readUInt16BE=function(e,t){return t||j(e,2,this.length),this[e]<<8|this[e+1]},l.prototype.readUInt32LE=function(e,t){return t||j(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},l.prototype.readUInt32BE=function(e,t){return t||j(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},l.prototype.readIntLE=function(e,t,r){e|=0,t|=0,r||j(e,t,this.length);for(var n=this[e],o=1,i=0;++i<t&&(o*=256);)n+=this[e+i]*o;return n>=(o*=128)&&(n-=Math.pow(2,8*t)),n},l.prototype.readIntBE=function(e,t,r){e|=0,t|=0,r||j(e,t,this.length);for(var n=t,o=1,i=this[e+--n];n>0&&(o*=256);)i+=this[e+--n]*o;return i>=(o*=128)&&(i-=Math.pow(2,8*t)),i},l.prototype.readInt8=function(e,t){return t||j(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},l.prototype.readInt16LE=function(e,t){t||j(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt16BE=function(e,t){t||j(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},l.prototype.readInt32LE=function(e,t){return t||j(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},l.prototype.readInt32BE=function(e,t){return t||j(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},l.prototype.readFloatLE=function(e,t){return t||j(e,4,this.length),o.read(this,e,!0,23,4)},l.prototype.readFloatBE=function(e,t){return t||j(e,4,this.length),o.read(this,e,!1,23,4)},l.prototype.readDoubleLE=function(e,t){return t||j(e,8,this.length),o.read(this,e,!0,52,8)},l.prototype.readDoubleBE=function(e,t){return t||j(e,8,this.length),o.read(this,e,!1,52,8)},l.prototype.writeUIntLE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||U(this,e,t,r,Math.pow(2,8*r)-1,0);var o=1,i=0;for(this[t]=255&e;++i<r&&(o*=256);)this[t+i]=e/o&255;return t+r},l.prototype.writeUIntBE=function(e,t,r,n){(e=+e,t|=0,r|=0,n)||U(this,e,t,r,Math.pow(2,8*r)-1,0);var o=r-1,i=1;for(this[t+o]=255&e;--o>=0&&(i*=256);)this[t+o]=e/i&255;return t+r},l.prototype.writeUInt8=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,1,255,0),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},l.prototype.writeUInt16LE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):L(this,e,t,!0),t+2},l.prototype.writeUInt16BE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,2,65535,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):L(this,e,t,!1),t+2},l.prototype.writeUInt32LE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):B(this,e,t,!0),t+4},l.prototype.writeUInt32BE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,4,4294967295,0),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):B(this,e,t,!1),t+4},l.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t|=0,!n){var o=Math.pow(2,8*r-1);U(this,e,t,r,o-1,-o)}var i=0,a=1,s=0;for(this[t]=255&e;++i<r&&(a*=256);)e<0&&0===s&&0!==this[t+i-1]&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+r},l.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t|=0,!n){var o=Math.pow(2,8*r-1);U(this,e,t,r,o-1,-o)}var i=r-1,a=1,s=0;for(this[t+i]=255&e;--i>=0&&(a*=256);)e<0&&0===s&&0!==this[t+i+1]&&(s=1),this[t+i]=(e/a>>0)-s&255;return t+r},l.prototype.writeInt8=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,1,127,-128),l.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},l.prototype.writeInt16LE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):L(this,e,t,!0),t+2},l.prototype.writeInt16BE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,2,32767,-32768),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):L(this,e,t,!1),t+2},l.prototype.writeInt32LE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,4,2147483647,-2147483648),l.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):B(this,e,t,!0),t+4},l.prototype.writeInt32BE=function(e,t,r){return e=+e,t|=0,r||U(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),l.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):B(this,e,t,!1),t+4},l.prototype.writeFloatLE=function(e,t,r){return I(this,e,t,!0,r)},l.prototype.writeFloatBE=function(e,t,r){return I(this,e,t,!1,r)},l.prototype.writeDoubleLE=function(e,t,r){return D(this,e,t,!0,r)},l.prototype.writeDoubleBE=function(e,t,r){return D(this,e,t,!1,r)},l.prototype.copy=function(e,t,r,n){if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n<r&&(n=r),n===r)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t<n-r&&(n=e.length-t+r);var o,i=n-r;if(this===e&&r<t&&t<n)for(o=i-1;o>=0;--o)e[o+t]=this[o+r];else if(i<1e3||!l.TYPED_ARRAY_SUPPORT)for(o=0;o<i;++o)e[o+t]=this[o+r];else Uint8Array.prototype.set.call(e,this.subarray(r,r+i),t);return i},l.prototype.fill=function(e,t,r,n){if("string"===typeof e){if("string"===typeof t?(n=t,t=0,r=this.length):"string"===typeof r&&(n=r,r=this.length),1===e.length){var o=e.charCodeAt(0);o<256&&(e=o)}if(void 0!==n&&"string"!==typeof n)throw new TypeError("encoding must be a string");if("string"===typeof n&&!l.isEncoding(n))throw new TypeError("Unknown encoding: "+n)}else"number"===typeof e&&(e&=255);if(t<0||this.length<t||this.length<r)throw new RangeError("Out of range index");if(r<=t)return this;var i;if(t>>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"===typeof e)for(i=t;i<r;++i)this[i]=e;else{var a=l.isBuffer(e)?e:F(new l(e,n).toString()),s=a.length;for(i=0;i<r-t;++i)this[i+t]=a[i%s]}return this};var M=/[^+\/0-9A-Za-z-_]/g;function V(e){return e<16?"0"+e.toString(16):e.toString(16)}function F(e,t){var r;t=t||1/0;for(var n=e.length,o=null,i=[],a=0;a<n;++a){if((r=e.charCodeAt(a))>55295&&r<57344){if(!o){if(r>56319){(t-=3)>-1&&i.push(239,191,189);continue}if(a+1===n){(t-=3)>-1&&i.push(239,191,189);continue}o=r;continue}if(r<56320){(t-=3)>-1&&i.push(239,191,189),o=r;continue}r=65536+(o-55296<<10|r-56320)}else o&&(t-=3)>-1&&i.push(239,191,189);if(o=null,r<128){if((t-=1)<0)break;i.push(r)}else if(r<2048){if((t-=2)<0)break;i.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;i.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((t-=4)<0)break;i.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return i}function z(e){return n.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\s+|\s+$/g,"")}(e).replace(M,"")).length<2)return"";for(;e.length%4!==0;)e+="=";return e}(e))}function $(e,t,r,n){for(var o=0;o<n&&!(o+r>=t.length||o>=e.length);++o)t[o+r]=e[o];return o}}).call(this,r(12))},function(e,t,r){"use strict";t.byteLength=function(e){var t=u(e),r=t[0],n=t[1];return 3*(r+n)/4-n},t.toByteArray=function(e){var t,r,n=u(e),a=n[0],s=n[1],l=new i(function(e,t,r){return 3*(t+r)/4-r}(0,a,s)),c=0,f=s>0?a-4:a;for(r=0;r<f;r+=4)t=o[e.charCodeAt(r)]<<18|o[e.charCodeAt(r+1)]<<12|o[e.charCodeAt(r+2)]<<6|o[e.charCodeAt(r+3)],l[c++]=t>>16&255,l[c++]=t>>8&255,l[c++]=255&t;2===s&&(t=o[e.charCodeAt(r)]<<2|o[e.charCodeAt(r+1)]>>4,l[c++]=255&t);1===s&&(t=o[e.charCodeAt(r)]<<10|o[e.charCodeAt(r+1)]<<4|o[e.charCodeAt(r+2)]>>2,l[c++]=t>>8&255,l[c++]=255&t);return l},t.fromByteArray=function(e){for(var t,r=e.length,o=r%3,i=[],a=16383,s=0,l=r-o;s<l;s+=a)i.push(c(e,s,s+a>l?l:s+a));1===o?(t=e[r-1],i.push(n[t>>2]+n[t<<4&63]+"==")):2===o&&(t=(e[r-2]<<8)+e[r-1],i.push(n[t>>10]+n[t>>4&63]+n[t<<2&63]+"="));return i.join("")};for(var n=[],o=[],i="undefined"!==typeof Uint8Array?Uint8Array:Array,a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",s=0,l=a.length;s<l;++s)n[s]=a[s],o[a.charCodeAt(s)]=s;function u(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");return-1===r&&(r=t),[r,r===t?0:4-r%4]}function c(e,t,r){for(var o,i,a=[],s=t;s<r;s+=3)o=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),a.push(n[(i=o)>>18&63]+n[i>>12&63]+n[i>>6&63]+n[63&i]);return a.join("")}o["-".charCodeAt(0)]=62,o["_".charCodeAt(0)]=63},function(e,t){t.read=function(e,t,r,n,o){var i,a,s=8*o-n-1,l=(1<<s)-1,u=l>>1,c=-7,f=r?o-1:0,h=r?-1:1,p=e[t+f];for(f+=h,i=p&(1<<-c)-1,p>>=-c,c+=s;c>0;i=256*i+e[t+f],f+=h,c-=8);for(a=i&(1<<-c)-1,i>>=-c,c+=n;c>0;a=256*a+e[t+f],f+=h,c-=8);if(0===i)i=1-u;else{if(i===l)return a?NaN:1/0*(p?-1:1);a+=Math.pow(2,n),i-=u}return(p?-1:1)*a*Math.pow(2,i-n)},t.write=function(e,t,r,n,o,i){var a,s,l,u=8*i-o-1,c=(1<<u)-1,f=c>>1,h=23===o?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:i-1,d=n?1:-1,g=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(s=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(l=Math.pow(2,-a))<1&&(a--,l*=2),(t+=a+f>=1?h/l:h*Math.pow(2,1-f))*l>=2&&(a++,l/=2),a+f>=c?(s=0,a=c):a+f>=1?(s=(t*l-1)*Math.pow(2,o),a+=f):(s=t*Math.pow(2,f-1)*Math.pow(2,o),a=0));o>=8;e[r+p]=255&s,p+=d,s/=256,o-=8);for(a=a<<o|s,u+=o;u>0;e[r+p]=255&a,p+=d,a/=256,u-=8);e[r+p-d]|=128*g}},function(e,t){var r={}.toString;e.exports=Array.isArray||function(e){return"[object Array]"==r.call(e)}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(26);Object.defineProperty(t,"BNF",{enumerable:!0,get:function(){return n.default}});var o=r(28);Object.defineProperty(t,"W3C",{enumerable:!0,get:function(){return o.default}});var i=r(29);Object.defineProperty(t,"Custom",{enumerable:!0,get:function(){return i.default}})},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(27),o=r(5);var i;!function(e){function t(e){let r=n.findChildrenByType(e,"term").map((e=>n.findChildrenByType(e,"literal").concat(n.findChildrenByType(e,"rule-name"))[0].text));return n.findChildrenByType(e,"list").forEach((e=>{r=r.concat(t(e))})),r}function r(r,o=e.defaultParser){let i=o.getAST(r);if(!i)throw new Error("Could not parse "+r);if(i.errors&&i.errors.length)throw i.errors[0];let a=n.findChildrenByType(i,"rule").map((e=>{let r=n.findChildrenByType(e,"rule-name")[0].text,o=n.findChildrenByType(e,"firstExpression").concat(n.findChildrenByType(e,"otherExpression")),i=[];return o.forEach((e=>{i.push(t(e))})),{name:r,bnf:i}}));return a.some((e=>"EOL"==e.name))||a.push({name:"EOL",bnf:[['"\\r\\n"','"\\r"','"\\n"']]}),a}e.RULES=[{name:"syntax",bnf:[["RULE_EOL*","rule+"]]},{name:"rule",bnf:[['" "*','"<"',"rule-name",'">"','" "*','"::="',"firstExpression","otherExpression*",'" "*',"RULE_EOL+",'" "*']]},{name:"firstExpression",bnf:[['" "*',"list"]]},{name:"otherExpression",bnf:[['" "*','"|"','" "*',"list"]]},{name:"RULE_EOL",bnf:[['"\\r"'],['"\\n"']]},{name:"list",bnf:[["term",'" "*',"list"],["term"]]},{name:"term",bnf:[["literal"],['"<"',"rule-name",'">"']]},{name:"literal",bnf:[["'\"'","RULE_CHARACTER1*","'\"'"],['"\'"',"RULE_CHARACTER2*",'"\'"']]},{name:"RULE_CHARACTER",bnf:[['" "'],["RULE_LETTER"],["RULE_DIGIT"],["RULE_SYMBOL"]]},{name:"RULE_LETTER",bnf:[['"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"'],['"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"']]},{name:"RULE_DIGIT",bnf:[['"0"'],['"1"'],['"2"'],['"3"'],['"4"'],['"5"'],['"6"'],['"7"'],['"8"'],['"9"']]},{name:"RULE_SYMBOL",bnf:[['"-"'],['"_"'],['"!"'],['"#"'],['"$"'],['"%"'],['"&"'],['"("'],['")"'],['"*"'],['"+"'],['","'],['"-"'],['"."'],['"/"'],['":"'],['";"'],['"<"'],['"="'],['">"'],['"?"'],['"@"'],['"["'],['"\\"'],['"]"'],['"^"'],['"_"'],['"`"'],['"{"'],['"|"'],['"}"'],['"~"']]},{name:"RULE_CHARACTER1",bnf:[["RULE_CHARACTER"],['"\'"']]},{name:"RULE_CHARACTER2",bnf:[["RULE_CHARACTER"],["'\"'"]]},{name:"rule-name",bnf:[["RULE_LETTER","RULE_CHAR*"]]},{name:"RULE_CHAR",bnf:[["RULE_LETTER"],["RULE_DIGIT"],['"_"'],['"-"']]}],e.defaultParser=new o.Parser(e.RULES,{debug:!1}),e.getRules=r,e.Transform=function(t,n=e.defaultParser){return r(t.join(""),n)};class i extends o.Parser{constructor(t,n){super(r(t,n&&!0===n.debugRulesParser?new o.Parser(e.RULES,{debug:!0}):e.defaultParser),n),this.source=t}emitSource(){return this.source}}e.Parser=i}(i||(i={})),t.default=i},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.findChildrenByType=void 0,t.findChildrenByType=function(e,t){return e.children?e.children.filter((e=>e.type==t)):[]}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(5);var o;!function(e){e.RULES=[{name:"Grammar",bnf:[["RULE_S*","%Atomic*","EOF"]]},{name:"%Atomic",bnf:[["Production","RULE_S*"]],fragment:!0},{name:"Production",bnf:[["NCName","RULE_S*",'"::="',"RULE_WHITESPACE*","Choice","RULE_WHITESPACE*","RULE_EOL+","RULE_S*"]]},{name:"NCName",bnf:[[/[a-zA-Z][a-zA-Z_0-9]*/]]},{name:"Choice",bnf:[["SequenceOrDifference","%_Choice_1*"]],fragment:!0},{name:"%_Choice_1",bnf:[["RULE_WHITESPACE*",'"|"',"RULE_WHITESPACE*","SequenceOrDifference"]],fragment:!0},{name:"SequenceOrDifference",bnf:[["Item","RULE_WHITESPACE*","%_Item_1?"]]},{name:"%_Item_1",bnf:[["Minus","Item"],["Item*"]],fragment:!0},{name:"Minus",bnf:[['"-"']]},{name:"Item",bnf:[["RULE_WHITESPACE*","%Primary","PrimaryDecoration?"]],fragment:!0},{name:"PrimaryDecoration",bnf:[['"?"'],['"*"'],['"+"']]},{name:"DecorationName",bnf:[['"ebnf://"',/[^\x5D#]+/]]},{name:"%Primary",bnf:[["NCName"],["StringLiteral"],["CharCode"],["CharClass"],["SubItem"]],fragment:!0},{name:"SubItem",bnf:[['"("',"RULE_WHITESPACE*","Choice","RULE_WHITESPACE*",'")"']]},{name:"StringLiteral",bnf:[["'\"'",/[^"]*/,"'\"'"],['"\'"',/[^']*/,'"\'"']],pinned:1},{name:"CharCode",bnf:[['"#x"',/[0-9a-zA-Z]+/]]},{name:"CharClass",bnf:[["'['","'^'?","%RULE_CharClass_1+",'"]"']]},{name:"%RULE_CharClass_1",bnf:[["CharCodeRange"],["CharRange"],["CharCode"],["RULE_Char"]],fragment:!0},{name:"RULE_Char",bnf:[[/\x09/],[/\x0A/],[/\x0D/],[/[\x20-\x5c]/],[/[\x5e-\uD7FF]/],[/[\uE000-\uFFFD]/]]},{name:"CharRange",bnf:[["RULE_Char",'"-"',"RULE_Char"]]},{name:"CharCodeRange",bnf:[["CharCode",'"-"',"CharCode"]]},{name:"RULE_WHITESPACE",bnf:[["%RULE_WHITESPACE_CHAR*"],["Comment","RULE_WHITESPACE*"]]},{name:"RULE_S",bnf:[["RULE_WHITESPACE","RULE_S*"],["RULE_EOL","RULE_S*"]]},{name:"%RULE_WHITESPACE_CHAR",bnf:[[/\x09/],[/\x20/]],fragment:!0},{name:"Comment",bnf:[['"/*"',"%RULE_Comment_Body*",'"*/"']]},{name:"%RULE_Comment_Body",bnf:[['!"*/"',/[^*]/]],fragment:!0},{name:"RULE_EOL",bnf:[[/\x0D/,/\x0A/],[/\x0A/],[/\x0D/]]},{name:"Link",bnf:[["'['","Url","']'"]]},{name:"Url",bnf:[[/[^\x5D:/?#]/,'"://"',/[^\x5D#]+/,"%Url1?"]]},{name:"%Url1",bnf:[['"#"',"NCName"]],fragment:!0}],e.defaultParser=new n.Parser(e.RULES,{debug:!1});const t=/^(!|&)/,r=/(\?|\+|\*)$/,o=/^%/;function i(e,i){if("string"==typeof e){if(t.test(e))return"";if(o.test(e)){let t=r.exec(e),o=t?t[0]+" ":"",s=function(e,t){let r=n.findRuleByName(e,t);return r&&1==r.bnf.length&&1==r.bnf[0].length&&(r.bnf[0][0]instanceof RegExp||'"'==r.bnf[0][0][0]||"'"==r.bnf[0][0][0])}(e,i);return s?a(e,i)+o:"("+a(e,i)+")"+o}return e}return e.source.replace(/\\(?:x|u)([a-zA-Z0-9]+)/g,"#x$1").replace(/\[\\(?:x|u)([a-zA-Z0-9]+)-\\(?:x|u)([a-zA-Z0-9]+)\]/g,"[#x$1-#x$2]")}function a(e,t){let r=n.findRuleByName(e,t);return r?r.bnf.map((e=>function(e,t){return e.map((e=>i(e,t))).join(" ")}(e,t))).join(" | "):"RULE_NOT_FOUND {"+e+"}"}function s(e){let t=[];return e.grammarRules.forEach((r=>{if(!/^%/.test(r.name)){let n=r.recover?" /* { recoverUntil="+r.recover+" } */":"";t.push(r.name+" ::= "+a(r.name,e)+n)}})),t.join("\n")}e.emit=s;let l=0;function u(e){return new RegExp(e.replace(/#x([a-zA-Z0-9]{4})/g,"\\u$1").replace(/#x([a-zA-Z0-9]{3})/g,"\\u0$1").replace(/#x([a-zA-Z0-9]{2})/g,"\\x$1").replace(/#x([a-zA-Z0-9]{1})/g,"\\x0$1"))}function c(e,t,r){let n=null,o=[];return t.children.forEach(((i,a)=>{"Minus"==i.type&&function(e,t){throw console.log("reberia restar "+t+" a "+e),new Error("Difference not supported yet")}(n,i);let s=t.children[a+1];s=s&&"PrimaryDecoration"==s.type&&s.text||"";switch(i.type){case"SubItem":let t="%"+(r+l++);f(e,i,t),o.push(""+t+s);break;case"NCName":case"StringLiteral":o.push(""+i.text+s);break;case"CharCode":case"CharClass":if(s){let t={name:"%"+(r+l++),bnf:[[u(i.text)]]};e.push(t),o.push(""+t.name+s)}else o.push(u(i.text));break;case"PrimaryDecoration":break;default:throw new Error(" HOW SHOULD I PARSE THIS? "+i.type+" -> "+JSON.stringify(i.text))}n=i})),o}function f(e,t,r){let n=t.children.filter((e=>"SequenceOrDifference"==e.type)).map((t=>c(e,t,r))),o={name:r,bnf:n},i=null;n.forEach((e=>{i=i||e.recover,delete e.recover})),0==r.indexOf("%")&&(o.fragment=!0),i&&(o.recover=i),e.push(o)}function h(t,r=e.defaultParser){let n=r.getAST(t);if(!n)throw new Error("Could not parse "+t);if(n.errors&&n.errors.length)throw n.errors[0];let o=[];return n.children.filter((e=>"Production"==e.type)).map((e=>{let t=e.children.filter((e=>"NCName"==e.type))[0].text;f(o,e,t)})),o}e.getRules=h,e.Transform=function(t,r=e.defaultParser){return h(t.join(""),r)};class p extends n.Parser{constructor(t,r){super(h(t,r&&!0===r.debugRulesParser?new n.Parser(e.RULES,{debug:!0}):e.defaultParser),r)}emitSource(){return s(this)}}e.Parser=p}(o||(o={})),t.default=o},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const n=r(8),o=r(5);var i;!function(e){e.RULES=[{name:"Grammar",bnf:[["RULE_S*","Attributes?","RULE_S*","%Atomic*","EOF"]]},{name:"%Atomic",bnf:[["Production","RULE_S*"]],fragment:!0},{name:"Production",bnf:[["NCName","RULE_S*",'"::="',"RULE_WHITESPACE*","%Choice","RULE_WHITESPACE*","Attributes?","RULE_EOL+","RULE_S*"]]},{name:"NCName",bnf:[[/[a-zA-Z][a-zA-Z_0-9]*/]]},{name:"Attributes",bnf:[['"{"',"Attribute","%Attributes*","RULE_S*",'"}"']]},{name:"%Attributes",bnf:[["RULE_S*",'","',"Attribute"]],fragment:!0},{name:"Attribute",bnf:[["RULE_S*","NCName","RULE_WHITESPACE*",'"="',"RULE_WHITESPACE*","AttributeValue"]]},{name:"AttributeValue",bnf:[["NCName"],[/[1-9][0-9]*/]]},{name:"%Choice",bnf:[["SequenceOrDifference","%_Choice_1*"]],fragment:!0},{name:"%_Choice_1",bnf:[["RULE_S*",'"|"',"RULE_S*","SequenceOrDifference"]],fragment:!0},{name:"SequenceOrDifference",bnf:[["%Item","RULE_WHITESPACE*","%_Item_1?"]]},{name:"%_Item_1",bnf:[["Minus","%Item"],["%Item*"]],fragment:!0},{name:"Minus",bnf:[['"-"']]},{name:"%Item",bnf:[["RULE_WHITESPACE*","PrimaryPreDecoration?","%Primary","PrimaryDecoration?"]],fragment:!0},{name:"PrimaryDecoration",bnf:[['"?"'],['"*"'],['"+"']]},{name:"PrimaryPreDecoration",bnf:[['"&"'],['"!"'],['"~"']]},{name:"%Primary",bnf:[["NCName"],["StringLiteral"],["CharCode"],["CharClass"],["SubItem"]],fragment:!0},{name:"SubItem",bnf:[['"("',"RULE_S*","%Choice","RULE_S*",'")"']]},{name:"StringLiteral",bnf:[["'\"'",/[^"]*/,"'\"'"],['"\'"',/[^']*/,'"\'"']]},{name:"CharCode",bnf:[['"#x"',/[0-9a-zA-Z]+/]]},{name:"CharClass",bnf:[["'['","'^'?","%RULE_CharClass_1+",'"]"']]},{name:"%RULE_CharClass_1",bnf:[["CharCodeRange"],["CharRange"],["CharCode"],["RULE_Char"]],fragment:!0},{name:"RULE_Char",bnf:[[/\x09/],[/\x0A/],[/\x0D/],[/[\x20-\x5c]/],[/[\x5e-\uD7FF]/],[/[\uE000-\uFFFD]/]]},{name:"CharRange",bnf:[["RULE_Char",'"-"',"RULE_Char"]]},{name:"CharCodeRange",bnf:[["CharCode",'"-"',"CharCode"]]},{name:"RULE_WHITESPACE",bnf:[["%RULE_WHITESPACE_CHAR*"],["Comment","RULE_WHITESPACE*"]]},{name:"RULE_S",bnf:[["RULE_WHITESPACE","RULE_S*"],["RULE_EOL","RULE_S*"]]},{name:"%RULE_WHITESPACE_CHAR",bnf:[[/\x09/],[/\x20/]],fragment:!0},{name:"Comment",bnf:[['"/*"',"%RULE_Comment_Body*",'"*/"']]},{name:"%RULE_Comment_Body",bnf:[[/[^*]/],['"*"+',/[^/]*/]],fragment:!0},{name:"RULE_EOL",bnf:[[/\x0D/,/\x0A/],[/\x0A/],[/\x0D/]]},{name:"Link",bnf:[["'['","Url","']'"]]},{name:"Url",bnf:[[/[^\x5D:/?#]/,'"://"',/[^\x5D#]+/,"%Url1?"]]},{name:"%Url1",bnf:[['"#"',"NCName"]],fragment:!0}],e.defaultParser=new o.Parser(e.RULES,{debug:!1});const t=/^(!|&)/,r=/(\?|\+|\*)$/,i=/^%/;function a(e,n){if("string"==typeof e){let a=r.exec(e),l=t.exec(e),u=l?l[0]:"",c=a?a[0]+" ":"";if(i.test(e)){let t=function(e,t){let r=o.findRuleByName(e,t);return r&&1==r.bnf.length&&1==r.bnf[0].length&&(r.bnf[0][0]instanceof RegExp||'"'==r.bnf[0][0][0]||"'"==r.bnf[0][0][0])}(e,n);return t?u+s(e,n)+c:u+"("+s(e,n)+")"+c}return e.replace(t,u)}return e.source.replace(/\\(?:x|u)([a-zA-Z0-9]+)/g,"#x$1").replace(/\[\\(?:x|u)([a-zA-Z0-9]+)-\\(?:x|u)([a-zA-Z0-9]+)\]/g,"[#x$1-#x$2]")}function s(e,t){let r=o.findRuleByName(e,t);return r?r.bnf.map((e=>function(e,t){return e.map((e=>a(e,t))).join(" ")}(e,t))).join(" | "):"RULE_NOT_FOUND {"+e+"}"}function l(e){let t=[];return e.grammarRules.forEach((r=>{if(!/^%/.test(r.name)){let n=r.recover?" { recoverUntil="+r.recover+" }":"";t.push(r.name+" ::= "+s(r.name,e)+n)}})),t.join("\n")}e.emit=l;let u=0;function c(e){return new RegExp(e.replace(/#x([a-zA-Z0-9]{4})/g,"\\u$1").replace(/#x([a-zA-Z0-9]{3})/g,"\\u0$1").replace(/#x([a-zA-Z0-9]{2})/g,"\\x$1").replace(/#x([a-zA-Z0-9]{1})/g,"\\x0$1"))}function f(e,t,r,n){let i=null,a=[];return t.children.forEach(((s,l)=>{"Minus"==s.type&&function(e,t){throw console.log("reberia restar "+t+" a "+e),new Error("Difference not supported yet")}(i,s);let f=t.children[l+1];f=f&&"PrimaryDecoration"==f.type&&f.text||"";let p="";i&&"PrimaryPreDecoration"==i.type&&(p=i.text);let d="~"==p?1:void 0;switch(d&&(p=""),s.type){case"SubItem":let t="%"+(r+u++);h(e,s,t,n),a.push(p+t+f);break;case"NCName":a.push(p+s.text+f);break;case"StringLiteral":if(f||p||!/^['"/()a-zA-Z0-9&_.:=,+*\-\^\\]+$/.test(s.text))a.push(p+s.text+f);else for(const e of s.text.slice(1,-1))n&&"true"==n.ignoreCase&&/[a-zA-Z]/.test(e)?a.push(new RegExp("["+e.toUpperCase()+e.toLowerCase()+"]")):a.push(new RegExp(o.escapeRegExp(e)));break;case"CharCode":case"CharClass":if(f||p){let t={name:"%"+(r+u++),bnf:[[c(s.text)]],pinned:d};e.push(t),a.push(p+t.name+f)}else a.push(c(s.text));break;case"PrimaryPreDecoration":case"PrimaryDecoration":break;default:throw new Error(" HOW SHOULD I PARSE THIS? "+s.type+" -> "+JSON.stringify(s.text))}i=s})),a}function h(e,t,r,o){let i=t.children.filter((e=>"Attributes"==e.type))[0],a={};i&&i.children.forEach((e=>{let t=e.children.filter((e=>"NCName"==e.type))[0].text;if(t in a)throw new n.TokenError("Duplicated attribute "+t,e);a[t]=e.children.filter((e=>"AttributeValue"==e.type))[0].text}));let s=t.children.filter((e=>"SequenceOrDifference"==e.type)).map((t=>f(e,t,r,o||a))),l={name:r,bnf:s};if(0==r.indexOf("%")&&(l.fragment=!0),a.recoverUntil&&(l.recover=a.recoverUntil,l.bnf.length>1))throw new n.TokenError("only one-option productions are suitable for error recovering",t);if("pin"in a){let e=parseInt(a.pin);if(isNaN(e)||(l.pinned=e),l.bnf.length>1)throw new n.TokenError("only one-option productions are suitable for pinning",t)}l.implicitWs="ws"in a?"explicit"!=a.ws:null,l.fragment=l.fragment||"true"==a.fragment,l.simplifyWhenOneChildren="true"==a.simplifyWhenOneChildren,e.push(l)}function p(t,r=e.defaultParser){let o=r.getAST(t);if(!o)throw new Error("Could not parse "+t);if(o.errors&&o.errors.length)throw o.errors[0];let i=null,a=o.children.filter((e=>"Attributes"==e.type))[0],s={};a&&a.children.forEach((e=>{let t=e.children.filter((e=>"NCName"==e.type))[0].text;if(t in s)throw new n.TokenError("Duplicated attribute "+t,e);s[t]=e.children.filter((e=>"AttributeValue"==e.type))[0].text})),i="implicit"==s.ws;let l=[];return o.children.filter((e=>"Production"==e.type)).map((e=>{let t=e.children.filter((e=>"NCName"==e.type))[0].text;h(l,e,t)})),l.forEach((e=>{null===e.implicitWs&&(e.implicitWs=i)})),l}e.getRules=p,e.Transform=function(t,r=e.defaultParser){return p(t.join(""),r)};class d extends o.Parser{constructor(t,r){super(p(t,r&&!0===r.debugRulesParser?new o.Parser(e.RULES,{debug:!0}):e.defaultParser),r)}emitSource(){return l(this)}}e.Parser=d}(i||(i={})),t.default=i},function(e,t,r){"use strict";r.r(t),r.d(t,"CommonExpressionsPlugin",(function(){return x}));class n{constructor(e){this.name="ExpressionPlugin",this.expressions=e}apply(e){e.hooks.expressionEvaluator.tap(this.name,(e=>{this.expressions.forEach(((t,r)=>{e.addExpressionFunction(r,t)}))}))}}var o=r(3);function i(e,t){if("number"===typeof e)return e;if("string"===typeof e&&e.length>0){let t=e.trim();t=t.replace(/,/g,""),t=t.replace(/[\xa5\xa3$\u20ac]/,"");const r=Number(t);return t.match(/^0[xbo]/i)||isNaN(r)?void 0:r}return t?0:void 0}function a(e){return t=>"string"===typeof t?e(t):t}const s=Object(o.withoutContext)((e=>"string"===typeof e?e.length:"object"===typeof e&&null!==e?Object.keys(e).length:0)),l=s,u=(e,t)=>void 0===t||null===t||("object"===typeof t||"string"===typeof t)&&0===s(e,t),c=Object(o.withoutContext)(((...e)=>{if(e.every((e=>Array.isArray(e)))){return e.reduce(((e,t)=>[...e,...t]))}return e.reduce(((e,t)=>e+(null!=t?t:"")),"")})),f=Object(o.withoutContext)(a((e=>e.trim()))),h=Object(o.withoutContext)(a((e=>e.toUpperCase()))),p=Object(o.withoutContext)(a((e=>e.toLowerCase()))),d=Object(o.withoutContext)(((e,t,r="")=>{if("string"===typeof e&&"string"===typeof t&&"string"===typeof r){const n=new RegExp(t,"g");return e.replace(n,r)}return e})),g=Object(o.withoutContext)(a((e=>e.split(" ").map((e=>e[0].toUpperCase()+e.slice(1))).join(" ")))),y=Object(o.withoutContext)(a((e=>e.replace(/\b[a-zA-Z]/,(e=>e.toUpperCase()))))),v=Object(o.withoutContext)(i),m=Object(o.withoutContext)((e=>{var t;return Math.round(null!=(t=i(e,!0))?t:0)})),b=Object(o.withoutContext)((e=>{var t;return Math.floor(null!=(t=i(e,!0))?t:0)})),w=Object(o.withoutContext)((e=>{var t;return Math.ceil(null!=(t=i(e,!0))?t:0)})),E=Object(o.withoutContext)(((...e)=>e.reduce(((e,t)=>{var r;return e+(null!=(r=i(t))?r:0)}),0))),S=Object(o.withoutContext)(((e,t)=>!("string"!==typeof e||"string"!==typeof t&&!Array.isArray(t))&&(Array.isArray(t)?t.some((t=>e.indexOf(t)>-1)):e.indexOf(t)>-1)));var O=Object.freeze({__proto__:null,size:s,length:l,isEmpty:u,isNotEmpty:(e,t)=>!u(e,t),concat:c,trim:f,upperCase:h,lowerCase:p,replace:d,titleCase:g,sentenceCase:y,number:v,round:m,floor:b,ceil:w,sum:E,findPropertyIndex:(e,t,r,n)=>{const o=Array.isArray(t)?t:e.model.get(t);return Array.isArray(o)?o.findIndex((e=>{const t="object"===typeof e&&void 0!==r?e[r]:e;return n===t})):-1},findProperty:(e,t,r,n,o,i)=>{var a;const s=Array.isArray(t)?t:e.model.get(t);if(!Array.isArray(s))return i;const l=s.find((e=>{const t="object"===typeof e&&void 0!==r?e[r]:e;return n===t}));return void 0===l?i:"object"===typeof l&&o?null!=(a=l[o])?a:i:l},containsAny:S});class x{constructor(){this.name="CommonExpressions"}apply(e){e.registerPlugin(new n(new Map(Object.entries(O))))}}}])}));
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@player-ui/common-expressions-plugin",
|
|
3
|
-
"version": "0.4.0
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org"
|
|
7
7
|
},
|
|
8
8
|
"peerDependencies": {
|
|
9
|
-
"@player-ui/player": "0.4.0
|
|
9
|
+
"@player-ui/player": "0.4.0"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@player-ui/expression-plugin": "0.4.0
|
|
12
|
+
"@player-ui/expression-plugin": "0.4.0",
|
|
13
13
|
"@babel/runtime": "7.15.4"
|
|
14
14
|
},
|
|
15
15
|
"main": "dist/index.cjs.js",
|